- 首次配置
- 主机管理
- 组织管理
- 帐户和角色
- 许可
- 通知
配置 Active Directory 集成
AKS/EKS 上的 Automation Suite 不支持与 Active Directory 集成。
您可以使用 Windows 身份验证启用 SSO,并通过 Active Directory 集成启用目录搜索功能。目录搜索使您可以搜索目录帐户和组,并可以像使用本地帐户一样使用它们。
- 无法通过目录搜索找到外部信任域中的用户。不支持此功能,因为不存在具有外部信任的相互信任授权机构。
- Windows 身份验证使用 Automation Suite 中的 Kerberos 协议,因此 Windows 登录只能用于已加入域的计算机。
与您的 IT 管理员合作,确保 Automation Suite 集群可以访问您的 Active Directory (AD)。
可以使用以下两个选项之一配置 Active Directory 集成:
- Kerberos 身份验证
- 用户名和密码
建议使用 Kerberos 身份验证,因为它支持更多方案:
场景 |
用户名和密码 |
Kerberos 身份验证 |
---|---|---|
目录搜索同一林中的域 |
支持 |
支持 |
针对受信任林中域的目录搜索 |
不支持 |
支持 |
目录搜索外部受信任域 |
不支持 |
不支持 |
在 Active Directory 环境中,LDAPS 是目录服务常用的安全连接。需要注意的是,LDAPS 支持场景因使用的身份验证机制而异。
身份验证机制 |
LDAPS 支持 |
---|---|
用户名和密码 |
支持 |
Kerberos 身份验证 |
不支持 |
B.1. 使用 LDAPS 的先决条件
如果您打算使用基于 SSL 的 LDAP (LDAPS),则必须首先在 AD 环境中配置基于 SSL 的 LDAP,并获取要在 UiPath 集群配置中使用的根证书。
已知问题:升级后未保留已配置的 LDAPS 证书。因此,在升级后,需要再次添加 LDAPS 证书,以使 LDAP 安全连接正常工作。
b.2.Azure Directory 配置
<KERB_DEFAULT_KEYTAB>
,这是在 Kerberos 设置过程中生成的密钥表文件的 base64 编码字符串。
重要提示:
如果您已按照将 Automation Suite 配置为 Kerberos 客户端指南中所述的过程将 Automation Suite 配置为 Kerberos 客户端,请跳过此步骤。
如果您通过用户名和密码方法配置 Active Directory 集成(我们不建议您采取该方法),请执行以下步骤:
- 打开浏览器配置窗口。
- 在地址栏中键入 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
)。
- 搜索词语
现在,Automation Suite 已与 Windows 身份验证集成,在 Automation Suite 中为其创建用户帐户的用户可以使用“登录”页面上的“Windows”选项登录 Automation Suite。
如果想要允许使用 Windows 凭据登录,则每个组织管理员都必须为其组织执行此操作。
- 以组织管理员身份登录 Automation Suite 。
- 将组织级别的角色分配给 Active Directory 用户或组,您可以从搜索中选择该角色。
- 对要允许使用 Windows 身份验证登录的每个用户重复上述步骤。
然后,获赔角色的用户可以使用其 Active Directory 帐户登录 Automation Suite 组织。他们必须使用已加入域的计算机登录。
如果您在尝试使用 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 credentials
kinit: Client 'xyz@example.com' not found in Kerberos database while getting initial credentials在这种情况下,请确保将为身份验证创建的计算机帐户复制到所有 Active Directory。
-
如果运行
ktpass
并为用户帐户分配新密码,则密钥版本 (kvno
) 会提升,并使旧密钥表失效。在 identity-service-api 日志中,您可以看到:在这种情况下,您需要在 ArgoCD 中更新Request ticket server HTTP/rpasf.EXAMPLE.COM kvno 4 not found in keytab; ticket is likely out of date
Request ticket server HTTP/rpasf.EXAMPLE.COM kvno 4 not found in keytab; ticket is likely out of datekrb5KeytabSecret
。 -
如果您在
identity-service-api
Pod 中看到以下错误: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
,然后再次同步。
-
-
浏览器是否使用预期的 SPN?
如果按照这些说明启用了 Kerberos 事件日志记录,您将在 Kerberos 事件日志中看到KDC_ERR_S_PRINCIPAL_UNKNOWN
错误。有关此问题的详细信息,请参阅 Microsoft 文档 。要解决此问题,请通过修改组策略在协商 Kerberos 身份验证时禁用 CNAME 查找。有关详细信息,请参阅有关 Google Chrome 和 Microsoft Edge 的说明。