- 入门指南
- 最佳实践
- 租户
- 关于租户上下文
- 搜索租户中的资源
- 配置自动化功能
- 解决方案
- 审核
- 集成凭证存储
- 管理凭据存储
- Orchestrator Credentials Proxy
- Orchestrator Credentials Proxy 调试
- Managing credential proxies
- 设置
- Cloud Robots
- 文件夹上下文
- 自动化
- 流程
- 作业
- Apps
- 触发器
- 日志
- 监控
- 队列
- 资产
- 连接
- 业务规则
- 存储桶
- MCP 服务器
- 索引
- Orchestrator 测试
- 资源目录服务
- 集成
- 故障排除

Orchestrator 用户指南
默认情况下,Orchestrator Credentials Proxy 会记录所有异常以及初始启动和关闭信息。
api/v1/Health 。现在应该会记录请求。
appsettings文件后,您都需要重新启动 Credentials Proxy。
如果您按照这些步骤操作,但除了启动和关闭之外,没有其他可用的日志,则表示没有请求到达 Orchestrator Credentials Proxy。这很可能是由 Orchestrator Cloud Robot 和 Orchestrator Credentials Proxy 计算机的基础架构或网络问题引起的。
appsettings.production.json文件并使用以下代码。可以将C:/dev/logs替换为所需的路径:"NLog": {
"throwConfigExceptions": true,
"targets": {
"logfile": {
"type": "File",
"maxArchiveFiles": 180,
"fileName": "C:/dev/logs/nlog-${shortdate}.log",
"layout": "${longdate} ${logger} ${message}${onexception:${newline}${exception:maxInnerExceptionLevel=10:format=shortType,message,stacktrace:separator=*:innerExceptionSeparator=
	}}"
}
},
"rules": [
{
"logger": "*",
"minLevel": "Information",
"writeTo": "logconsole,logfile,eventLog"
}
]
} "NLog": {
"throwConfigExceptions": true,
"targets": {
"logfile": {
"type": "File",
"maxArchiveFiles": 180,
"fileName": "C:/dev/logs/nlog-${shortdate}.log",
"layout": "${longdate} ${logger} ${message}${onexception:${newline}${exception:maxInnerExceptionLevel=10:format=shortType,message,stacktrace:separator=*:innerExceptionSeparator=
	}}"
}
},
"rules": [
{
"logger": "*",
"minLevel": "Information",
"writeTo": "logconsole,logfile,eventLog"
}
]
}"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
}, "Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},appsettings.Production.json文件并添加以下内容:"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Information",
"Microsoft.AspNetCore": "Information",
"Microsoft.Hosting.Lifetime": "Information",
"Microsoft.AspNetCore.HttpLogging.HttpLoggingMiddleware": "Information"
}
} "Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Information",
"Microsoft.AspNetCore": "Information",
"Microsoft.Hosting.Lifetime": "Information",
"Microsoft.AspNetCore.HttpLogging.HttpLoggingMiddleware": "Information"
}
}Information不够,并且需要增加或减少,则可以使用 .Net 中的LogLevels值。有关更多信息,请查看Microsoft 文档。appsettings.json文件应如下所示:"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Information",
"Microsoft.AspNetCore": "Information",
"Microsoft.Hosting.Lifetime": "Information",
"Microsoft.AspNetCore.HttpLogging.HttpLoggingMiddleware": "Information"
}
} "Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Information",
"Microsoft.AspNetCore": "Information",
"Microsoft.Hosting.Lifetime": "Information",
"Microsoft.AspNetCore.HttpLogging.HttpLoggingMiddleware": "Information"
}
}appsettings文件后重新启动 Orchestrator Credentials Proxy。
InMemorySecureStore类型。
InMemorySecureStore类型,请打开appsettings.production.json文件,转到AppSettings部分,然后添加"UseInMemorySecureStore": "true"参数。
SecureStoreConfigurations部分中包含以下内容:{
"Key": "InMemoryKey1", // can be any value
"Type": "InMemorySecureStore",
"Context": {
}
}{
"Key": "InMemoryKey1", // can be any value
"Type": "InMemorySecureStore",
"Context": {
}
}Request to the Credentials Proxy's unauthenticated health endpoint failed.Request to the Credentials Proxy's unauthenticated health endpoint failed./api/v1/Health代理端点执行简单的GET请求。
此请求的目的是验证是否可从 Orchestrator 云环境访问代理。如果此请求失败,则表示 Orchestrator 无法访问代理,并且连接检查将不会通过。
常见问题
- Orchestrator Credentials Proxy 未启动:
-
转到安装了 Orchestrator Credentials Proxy 的服务器。
-
在 IIS 中,验证 Credentials Proxy 应用程序是否正在运行。
-
在同一台服务器上,打开浏览器,并检查 Credentials Proxy URL 是否可在本地访问。
-
- 连接没有有效的 HTTPS/SSL 证书。Orchestrator 与 OCP 之间的所有通信必须是安全的。
-
确保您的 Credentials Proxy 使用有效的 HTTPS/SSL 证书。
-
(可选)如果在 Orchestrator Credentials Proxy 前面配置了负载均衡器,请确认它也使用安全 HTTPS 连接。
-
- Orchestrator 凭据代理将被阻止在防火墙、VPN 或类似网络限制后面。如果无法从 Orchestrator 访问 Credentials Proxy,请验证您的网络配置。
- 确保已正确将 Orchestrator 出站 IP 列入白名单。查看“Orchestrator 出站 IP 地址”页面,了解更多信息。
注意:如果您的组织有多个租户,则它们可能托管在不同区域并使用不同的 IP 地址。仔细检查每个租户。
- 确保已正确将 Orchestrator 出站 IP 列入白名单。查看“Orchestrator 出站 IP 地址”页面,了解更多信息。
- 由于服务器时间不正确,出现未经身份验证的端点问题。
- 如果未经身份验证的端点失败,则可能是服务器时间设置不正确。当系统时钟不准确时,服务器可能会将 JWT 令牌解释为无效。
要调查的步骤
- 在 IIS 中验证 Orchestrator Credentials Proxy 是否正在运行。
- 在浏览器中检查 Credentials Proxy URL 是否可访问且正确加载。
- 在浏览器中检查 Credentials Proxy URL 是否安全。
- 在 Credentials Proxy 计算机上,将日志记录级别增加到“Information” ,以进行故障排除。请记住在完成调查后还原此更改。
- 在本地测试端点的运行状况。在 Credentials Proxy 计算机上,打开 Swagger 或使用Postman等工具发出请求,以实现以下目的:
https://{yourCredentialsProxyUrl}/api/v1/Healthhttps://{yourCredentialsProxyUrl}/api/v1/Health成功的响应表示代理在本地可访问且可运行。
- 测试 VPN 内的访问。从同一 VPN 中的另一台计算机(例如,客户端的笔记本电脑或客户端的机器人计算机),检查 Credentials Proxy URL 是否可访问。向相同的
/api/v1/Health端点发出请求:-
如果工作正常,则可以从 VPN 内部访问 Credentials Proxy。
-
如果不支持,则客户端必须解决内部网络或路由问题。
-
- 测试公共可访问性。
- 在不在 VPN 内部的计算机上,检查
/api/v1/Health端点:-
如果代理成功,则表示可从 VPN 外部访问 Credentials Proxy。
-
如果不支持,则客户端必须解决内部网络或路由问题。
-
- 测试来自 Orchestrator Cloud 的连接。创建链接到同一代理 URL 的新 Credentials Proxy:
-
如果创建成功,则可以删除连接。
-
如果失败,则表示 Orchestrator 和 Credentials Proxy 之间的通信仍受阻。
注意:此时,Credentials Proxy 应可公开访问,不受防火墙限制或将 IP 列入白名单。
-
- 检索 Orchestrator 租户 IP 地址列表。
-
将 IP 添加到允许列表,以访问 Credentials Proxy。
- 从 VPN 外部的计算机再次测试
/api/v1/Health端点。它应该不会工作,因为该 IP 没有添加到允许列表。 - 在 Orchestrator Cloud 中,尝试再次创建 Credentials Proxy:
- 如果所有步骤均已正确完成,则操作现在应该会成功。
- 如果仍然失败,则防火墙或 VPN 规则可能存在问题,阻止了 Orchestrator 与 Credential Proxy 之间的通信。
- 如果问题仍然存在,请仔细重复上述步骤并验证每个配置点。
- 问题解决后,将凭据代理计算机上的日志级别恢复到其原始设置。
AppSettings:SecureStoreConfigurations中定义的每个配置。应用的特定验证逻辑取决于配置的凭据存储的类型。
在某些情况下,代理无法启动的根本原因可能出现在启动过程的早期阶段,导致应用程序不会到达生成或写入任何日志事件的地步。
导致应用程序无法启动的可能原因
有几个问题可能会阻止Credentials Proxy应用程序启动。以下是常见原因以及识别方法。
- IIS 应用程序池未启动 (Windows)。如果代理托管在 IIS 中,请验证与其关联的应用程序池是否正在运行。您可以在“IIS 管理器”的“应用程序池”部分下进行检查。
appsettings.Production.json中的配置无效。无效或不完整的配置文件可能会导致代理在启动过程中失败。有关更多详细信息,请查看配置示例部分中的示例。AppSettings:SecureStoreConfigurations中的配置无效。SecureStoreConfigurations部分定义了代理如何连接到凭据存储并验证凭据存储。如果其中任何条目格式错误或不完整,应用程序将无法启动。- 配置中的参数无效。确保所有配置参数与您使用的凭据存储类型匹配。使用不正确的参数或键可能会导致启动验证失败。
- 无法访问保险库。如果配置的凭据存储依赖于外部保险库(例如CyberArk 、 BeyondTrust或其他),则启动可能会失败(如果代理无法访问外部保险库或对其进行身份验证)。
- 其他基础架构相关问题。
调试
调试 Credentials Proxy 时,我们的目标是在测试复杂配置之前消除尽可能多的变量。
- 首先使用类型为InMemorySecureStore的最低配置。这使您可以在引入外部依赖项之前确认代理可以成功启动。
-
在
AppSettings中添加"UseInMemorySecureStore": "true",参数。 - 在
AppSettings:SecureStoreConfigurations中添加以下内容:"SecureStoreConfigurations": [ { "Key": "InMemoryKey1", "Type": "InMemorySecureStore", "Context": { } } ]"SecureStoreConfigurations": [ { "Key": "InMemoryKey1", "Type": "InMemorySecureStore", "Context": { } } ] - 代理应该不再存在与配置相关的问题。如果仍然无法启动,则原因很可能与基础架构有关。
-
- 确认代理使用内存配置成功启动后,请将其替换为您的实际凭据存储设置(例如CyberArk 、 BeyondTrust等)。
-
根据您的环境和存储类型更新
SecureStoreConfigurations部分。如果应用程序无法启动,则应在以下位置找到日志:
-
Windows 事件查看器。
-
已配置的代理日志目录。
-
-
如果应用程序无法启动,并且没有生成任何日志,则问题可能与环境中的基础架构或权限有关。
为了在这种情况下帮助调试,您可以通过在AppSettings中添加此参数来临时禁用安全存储验证:"SkipValidateSecureStoreConfigurations": true"SkipValidateSecureStoreConfigurations": true注意:此参数仅应用于调试目的。启动验证用于确保代理配置正确且安全。
-