- 入门指南
- 主机管理
- 组织
- 租户和服务
- 身份验证和安全性
- 许可
- 帐户和角色
- 在您的组织中进行测试
- Ai Trust Layer
- 外部应用程序
- 通知
- 日志记录
- 故障排除
在 Automation Suite 中配置私有 Test Cloud 的 Active Directory 集成,包括所需的设置和验证指南。
AKS/EKS 上的 Automation Suite 不支持与 Active Directory 集成。
您可以使用 Windows 身份验证启用 SSO,并通过 Active Directory 集成启用目录搜索功能。 目录搜索可让您搜索目录帐户和组,并像使用本地帐户一样使用它们。
已知限制
- 无法通过目录搜索找到外部信任域中的用户。不支持此功能,因为不存在具有外部信任的相互信任授权机构。
- Windows 身份验证使用私有 Test Cloud 中的 Kerberos 协议,因此 Windows 登录只能用于已加入域的计算机。
步骤 1. 配置 Active Directory 集成
与您的 IT 管理员合作,确保 Automation Suite 集群可以访问您的 Active Directory (AD)。
可以使用以下两个选项之一配置 Active Directory 集成:
- Kerberos 身份验证
- 用户名和密码
建议使用 Kerberos 身份验证,因为它支持更多方案,如下表所述:
| 场景 | 用户名和密码 | Kerberos 身份验证 |
|---|---|---|
| 目录搜索同一林中的域 | 支持 | 支持 |
| 针对受信任林中域的目录搜索 | 不支持 | 支持 |
| 目录搜索外部受信任域 | 不支持 | 不支持 |
在 Active Directory 环境中,LDAPS 是目录服务常用的安全连接。 需要注意的是,LDAPS 支持场景因使用的身份验证机制而异,如下表所述:
| 身份验证机制 | LDAPS 支持 |
|---|---|
| 用户名和密码 | 支持 |
| Kerberos 身份验证 | 不支持 |
a. Kerberos 配置(推荐)
- 按照设置 Kerberos 身份验证中的说明配置 Kerberos 身份验证。
- 以系统管理员身份登录主机门户。
- 确保在左窗格顶部选择“主机” ,然后选择“安全” 。
- 在“Active Directory”下,选择“配置” 。
- (可选)如果您只想允许使用 Active Directory 帐户登录,请选中“使用此提供程序强制自动登录”复选框。仅当已成功验证与提供程序的集成以防止锁定时,才执行此操作。
- 选中“使用 Kerberos 身份验证”复选框。
- 在“显示名称”字段中,键入要在“登录” 页面上的此登录选项下显示的文本。
- 选择“保存”以保存更改并返回上一页。
- 选择Active Directory左侧的切换开关以启用集成。
- 重新启动
identity-service-api-*Pod。- 通过 SSH 连接到主服务器。
- 运行以下命令:
kubectl -n uipath rollout restart deployment identity-service-api
旧版管理员体验
如果您已关闭“新管理员体验”开关,请按照以下说明操作:
- 按照设置 Kerberos 身份验证中的说明配置 Kerberos 身份验证。
- 以系统管理员身份登录主机门户。
- 前往安全性设置。
- 在“外部提供程序”部分中,在“Active Directory”下选择“配置” 。
- 选中“已启用”复选框以启用集成。
- 如果您只想允许使用 Active Directory 帐户登录,请选中“使用此提供程序强制自动登录”复选框。:fa-warning: 仅当已成功验证与提供程序的集成以防止锁定时,才执行此操作。
- 在“显示名称”字段中,键入要在“登录” 页面上的此登录选项下显示的文本。
- 选中“使用 Kerberos 身份验证”复选框。
- 选择“测试并保存”,以保存更改。
- 重新启动
identity-service-api-*Pod。- 通过 SSH 连接到主服务器。
- 运行以下命令:
kubectl -n uipath rollout restart deployment identity-service-api
b. 用户名和密码配置
使用此选项时,UiPath 服务使用以明文形式提供的凭据与 Active Directory 通信。为防止出现这种情况,我们建议在此配置中使用基于 SSL 的 LDAP (LDAPS)。
只有在此页面配置的林中的用户才能与 UiPath 集群交互。受信任林中的用户将无法登录此 UiPath 集群。
B.1. 使用 LDAPS 的先决条件
如果您打算使用基于 SSL 的 LDAP (LDAPS),则必须首先在 AD 环境中配置基于 SSL 的 LDAP,并获取要在 UiPath 集群配置中使用的根证书。
已知问题:升级后未保留已配置的 LDAPS 证书。因此,在升级后,需要再次添加 LDAPS 证书,以使 LDAP 安全连接正常工作。
-
在每个域控制器上获取并安装 LDAPS 的 SSL 证书。
有关更多信息和说明,请参阅文章LDAP over SSL (LDAPS) 证书。
-
通过运行以下命令,以 Base64 对根证书进行编码:
[Convert]::ToBase64String([System.IO.File]::ReadAllBytes("<Path to the .crt or .cer file>"))[Convert]::ToBase64String([System.IO.File]::ReadAllBytes("<Path to the .crt or .cer file>")) -
在 ArgoCD 中添加编码的根证书:
- 登录到 ArgoCD。
- 选择并转到 UiPath 应用程序。
- 在左上角,选择“应用程序详细信息”(“应用程序详细信息” >“应用程序详细信息” >“应用程序详细信息” )。
- 在“参数”部分中,搜索参数
global.userInputs.certificate.identity.ldaps.customRootCA。 - 将参数的值更新为您之前获取的编码内容。
- 保存。
- 选择“同步”以应用更改。
b.2.Azure Directory 配置
- 以系统管理员身份登录主机门户。
- 确保在左窗格顶部选择“主机” ,然后选择“安全” 。
- 在“Active Directory”下,选择“配置” 。
- 如果您只想允许使用 Active Directory 帐户登录,请选中“强制使用此提供程序自动登录”复选框。
- 清除“使用 Kerberos 身份验证”复选框。
- (可选,但强烈推荐)选中“使用基于 SSL 的 LDAP (LDAPS)”复选框。
- 在“显示名称”字段中,输入要在“登录”页面上为此登录选项显示的名称。
- 在“默认域”字段中,键入 Active Directory (AD) 的完全限定域名 (FQDN)。
- 在“用户名”字段中,输入 AD 用户的用户名。其格式必须为
DOMAIN\username。例如TESTDOMAIN\user1。 - 在“用户密码”字段中,键入 AD 帐户的密码。
- 选择“测试并保存” ,以保存更改并返回到上一页面。
- 选择Active Directory左侧的切换开关以启用集成。
- 重新启动
identity-service-api-*Pod。- 通过 SSH 连接到主服务器。
- 运行以下命令:
kubectl -n uipath rollout restart deployment identity-service-api
步骤 2. 配置 Windows 身份验证
先决条件
获取 <KERB_DEFAULT_KEYTAB>,这是在 Kerberos 安装过程中生成的密钥表文件的 base64 编码字符串。
配置 Automation Suite 集群
重要提示
如果您已按照将 Automation Suite 配置为 Kerberos 客户端指南中所述的过程将 Automation Suite 配置为 Kerberos 客户端,请跳过此步骤。
如果您通过用户名和密码方法配置 Active Directory 集成(我们不建议您这样做),请执行以下步骤:
-
转到 Argo CD 并以管理员身份登录。
-
选择并转到“UiPath”应用程序。
-
选择左上角的“应用程序详细信息” 。
-
在“参数”部分中,搜索
global.kerberosAuthConfig.userKeytab参数。默认情况下,该参数具有占位符值。
-
使用
<KERB_DEFAULT_KEYTAB>更新参数的占位符值,然后保存。 -
选择“同步”以应用更改。
-
同步成功后,通过运行以下命令重新启动 Identity Server:
kubectl -n uipath rollout restart deployment identity-service-api
步骤 3:浏览器配置
Microsoft Internet Explorer
不支持
Microsoft Edge
无需额外配置。
Google Chrome
通常来说,Google Chrome 无需额外配置即可工作。
如果不起作用,请执行以下步骤:
-
转到“工具” > “Internet 选项” > “安全性”。
-
选择“本地 Intranet”。
-
选择“站点” 。
-
确保选择了“自动检测 Intranet 网络”或所有选项。
-
在“高级”上选择。
-
将 Automation Suite FQDN 添加到“本地 Intranet”。
-
选择“关闭”和“确定” 。
-
按“自定义级别”选择。
-
(可选)在“用户身份验证”下选择“仅在 Intranet 区域中自动登录”
如果选中,则当浏览器收到重定向身份验证请求时,它会检查要求的来源。如果域或 IP 属于 Intranet,则浏览器会自动发送用户名和密码。如果不是,浏览器将打开用户名和密码输入对话框,您需要自行手动输入。
-
(可选)在“用户身份验证”下选择“使用当前用户名和密码自动登录”。
如果选中,则当浏览器收到重定向身份验证请求时,它会静默发送用户名和密码。如果身份验证成功,浏览器将继续执行原始操作。如果身份验证失败,浏览器将打开用户名和密码输入对话框,并重试直到验证成功。
-
确保在“Internet 选项” > “高级”选项卡下的“安全性”部分中选择了“启用集成 Windows 身份验证”。
Mozilla Firefox
- 打开浏览器配置窗口。
- 在地址栏中键入 about:config。
- 指定使用 Kerberos 身份验证的 Automation Suite FQDN:
- 搜索词语
network.negotiate。 - 为 Kerberos 启用并设置以下内容:
network.negotiate-auth.delegation-uris(示例值:uipath-34i5ui35f.westeurope.cloudapp.azure.com)、network.negotiate-auth.trusted-uris(示例值:uipath-34i5ui35f.westeurope.cloudapp.azure.com)和network.negotiate-auth.allow-non-fqdn(值:true)。
- 搜索词语
步骤 4:允许组织的 Windows 身份验证
现在,UiPath 平台已与 Windows 身份验证集成,在 UiPath 中为其创建用户帐户的用户可以使用“登录”页面上的“Windows”选项登录 UiPath 平台。
图 1.Windows 登录选项
如果想要允许使用 Windows 凭据登录,则每个组织管理员都必须为其组织执行此操作。
-
以组织管理员身份登录。
-
将组织级别的角色分配给 Active Directory 用户或组,您可以从搜索中选择该角色。
-
对要允许使用 Windows 身份验证登录的每个用户重复上一步。
然后,获赔角色的用户可以使用其 Active Directory 帐户登录 UiPath 组织。 他们必须使用已加入域的计算机登录。
故障排除
如果您在尝试使用 Windows 凭据登录时收到 HTTP 500 错误,请执行以下检查:
-
Windows 计算机是否已加入域? 在计算机上,转到“控制面板”>“系统和安全性”>“系统”,然后检查是否显示了域。如果未显示任何域,请将计算机添加到域中。计算机必须加入域,才能通过 Kerberos 协议使用 Windows 身份验证。
-
您能否使用相同的凭据登录 Windows 计算机? 如果不能,请向系统管理员寻求帮助。
-
您是否在使用 Microsoft Edge 以外的浏览器? 除 Microsoft Edge 外,受支持的浏览器还需要进行其他配置。
-
检查密钥表配置:
- 生成密钥表后,在 Active Directory 服务器上,AD 用户的属性 (
servicePrincpalName) 应为HTTP/<Service Fabric FQDN>格式,例如HTTP/uipath-34i5ui35f.westeurope.cloudapp.azure.com。 - 必须为 AD 中的用户帐户选择“此帐户支持 Kerberos AES 256 位加密”选项。如果配置不正确,则在 identity-service-api 日志中,将显示以下内容:
Microsoft.AspNetCore.Authentication.Negotiate.NegotiateHandler An exception occurred while processing the authentication request. GssApiException*GSSAPI operation failed with error - Unspecified GSS failure. Minor code may provide more information (Request ticket server HTTP/sfdev.eastus.cloudapp.azure.com@EXAMPLE.COM kvno 4 enctype aes256-cts found in keytab but cannot decrypt ticket).* at Microsoft.AspNetCore.Authentication.Negotiate.NegotiateHandler.HandleRequestAsync()Microsoft.AspNetCore.Authentication.Negotiate.NegotiateHandler An exception occurred while processing the authentication request. GssApiException*GSSAPI operation failed with error - Unspecified GSS failure. Minor code may provide more information (Request ticket server HTTP/sfdev.eastus.cloudapp.azure.com@EXAMPLE.COM kvno 4 enctype aes256-cts found in keytab but cannot decrypt ticket).* at Microsoft.AspNetCore.Authentication.Negotiate.NegotiateHandler.HandleRequestAsync()
- 生成密钥表后,在 Active Directory 服务器上,AD 用户的属性 (
-
如果您在使用的域中配置了多个 Active Directory,则身份验证将失败,并且在 identity-service-api 日志中将显示以下内容:
kinit: Client 'xyz@example.com' not found in Kerberos database while getting initial credentialskinit: Client 'xyz@example.com' not found in Kerberos database while getting initial credentials在这种情况下,请确保将为身份验证创建的计算机帐户复制到所有 Active Directory。
-
如果运行
ktpass并为用户帐户分配新密码,则密钥版本 (kvno) 会提升,并使旧密钥表失效。 在 identity-service-api 日志中,将显示以下内容:Request ticket server HTTP/rpasf.EXAMPLE.COM kvno 4 not found in keytab; ticket is likely out of dateRequest ticket server HTTP/rpasf.EXAMPLE.COM kvno 4 not found in keytab; ticket is likely out of date在这种情况下,您需要在 ArgoCD 中更新
krb5KeytabSecret。 -
如果您在
identity-service-apiPod 中遇到以下错误:GssApiException*GSSAPI operation failed with error - Unspecified GSS failure. Minor code may provide more information (Keytab FILE:/uipath/krb5/krb5.keytab is nonexistent or empty).GssApiException*GSSAPI operation failed with error - Unspecified GSS failure. Minor code may provide more information (Keytab FILE:/uipath/krb5/krb5.keytab is nonexistent or empty).- 首先检查您是否在 ArgoCD 中提供了
global.userInputs.identity.krb5KeytabSecret参数。 如果参数存在,请验证您是否可以使用用于生成密钥表的 AD 用户的凭据登录 Windows 计算机。 请注意,如果密码已更改或过期,则必须重新生成密钥表。 - 此问题的另一个可能原因是 ArgoCD 之前未正确同步。 要解决此问题,请删除现有的
global.userInputs.identity.krb5KeytabSecret,同步 ArgoCD,并在操作成功后更新global.userInputs.identity.krb5KeytabSecret,然后再次同步。
- 首先检查您是否在 ArgoCD 中提供了
-
浏览器是否使用预期的 SPN?
如果按照以下说明启用 Kerberos 事件记录,
KDC_ERR_S_PRINCIPAL_UNKNOWN错误将显示在 Kerberos 事件日志中。 有关此问题的详细信息,请参阅 Microsoft 文档。
为解决此问题,请通过修改组策略,在协商 Kerberos 身份验证时禁用 CNAME 查找。 有关详细信息,请参阅适用于 Google Chrome 和 Microsoft Edge 的说明。