Automation Suite
2021.10
False
  • 首次配置
    • 关于 Automation Suite 体验
    • 配置清单
    • 连接您的首个机器人
  • 主机管理
  • 组织管理
  • 帐户和角色
  • 许可
横幅背景图像
Automation Suite 管理页指南
上次更新日期 2024年3月25日

配置 Active Directory 集成

您可以使用 Windows 身份验证启用 SSO,并通过 Active Directory 集成启用目录搜索功能。目录搜索使您可以搜索目录帐户和组,并可以像使用本地帐户一样使用它们。

已知限制

  • 无法通过目录搜索找到外部信任域中的用户。不支持此功能,因为不存在具有外部信任的相互信任授权机构。
  • Windows 身份验证使用 Automation Suite 中的 Kerberos 协议,因此 Windows 登录只能用于已加入域的计算机。

步骤 1. 配置 Active Directory 集成

与您的 IT 管理员合作,确保 Automation Suite 集群可以访问您的 Active Directory (AD)。

可以使用以下两个选项之一配置 Active Directory 集成:

  1. Kerberos 身份验证
  2. 用户名和密码

建议使用 Kerberos 身份验证,因为它支持更多方案:

场景

用户名和密码

Kerberos 身份验证

目录搜索同一林中的域

支持

支持

针对受信任林中域的目录搜索

不支持

支持

目录搜索外部受信任域

不支持

不支持

a. Kerberos 配置(推荐)

  1. 按照设置 Kerberos 身份验证中的说明配置 Kerberos 身份验证。
  2. 以系统管理员身份登录 Automation Suite 主机门户
  3. 转到“ 用户 ”,然后选择“ 身份验证设置” 选项卡。
  4. 在“外部提供程序”部分中,单击“Active Directory”下的“配置”。
    • 选择“已启用”复选框。
    • 选中“使用 Kerberos 身份验证”复选框。
  5. 单击“测试并保存”,以保存更改。
  6. 重新启动“identity-service-api-*”Pod。
    1. 通过 SSH 连接到主服务器。
    2. 运行以下命令:kubectl -n uipath rollout restart deployment identity-service-api

b. 用户名和密码配置(不推荐)

重要提示:使用此选项时,UiPath 服务使用以明文形式提供的凭据与 Active Directory 通信。
注意:只有在此页面配置的域中的用户才能与 UiPath 集群交互。
  1. 以系统管理员身份登录 Automation Suite 主机门户
  2. 转到“ 用户 ”,然后选择“ 身份验证设置” 选项卡。
  3. 在“外部提供程序”部分中,单击“Active Directory”下的“配置”。

    “配置 Active Directory”面板将在窗口右侧打开。

  4. 配置集成,如下所示:
    • 选择“已启用”复选框。
    • 要强制使用此提供程序登录,请选中“ 强制使用此提供程序自动登录 ” 复选框。
    • 选中“ 使用 Kerberos 身份验证 ” 复选框以使用 Kerberos 协议进行身份验证。 (推荐)
    • 在“显示名称”字段中,输入要在“登录”页面上显示在此登录选项下的名称。
    • 在“默认域”字段中,键入 Active Directory (AD) 的完全限定域名 (FQDN)。
    • 在“用户名”字段中,输入 AD 用户的用户名。需要采用 DOMAIN\username 格式。例如:TESTDOMAIN\user1
    • 在“用户密码”字段中,键入上述 AD 帐户的密码。
  5. 单击“测试并保存”,以保存更改。
  6. 重新启动“identity-service-api-*”Pod。
    1. 通过 SSH 连接到主服务器。
    2. 运行以下命令:kubectl -n uipath rollout restart deployment identity-service-api

故障排除

如果收到错误 Domain unreachable,请使用命令 getent ahosts <AD domain> 检查 DNS 路由。
如果它没有返回 IP 地址,请检查节点 /etc/resolv.conf。名称服务器值应指向 AD 域 DNS。如果没有,请联系系统管理员以进行正确的配置。

如果节点在 Azure 上运行,请按照 Azure 虚拟网络中资源的名称解析的说明进行操作。

一种方法是:

  1. 在 Azure 中,转到节点虚拟网络并将虚拟网络 DNS 服务器设置为 Active Directory DNS。
  2. 运行 systemctl restart NetworkManager.service 并检查 /etc/resolv.conf 是否已得到更新。
  3. 重新启动 ArgoCD 中的集群核心 DNS。

步骤 2. 配置 Windows 身份验证

先决条件

获取 <KERB_DEFAULT_KEYTAB>,这是在 Kerberos 设置过程中生成的密钥表文件的 base64 编码字符串。

配置 Automation Suite 集群

  1. 转到 Argo CD 并以管理员身份登录。
  2. 选择并转到“UiPath”应用程序。
  3. 单击左上角的“应用程序详细信息”。
  4. 在“参数”部分中,搜索 global.userInputs.identity.krb5KeytabSecret 参数。

    默认情况下,该参数具有占位符值。

  5. 使用<KERB_DEFAULT_KEYTAB>更新参数的占位符值,然后保存。
  6. 单击“同步”以应用更改。
  7. 成功同步后,运行命令 kubectl -n uipath rollout restart deployment identity-service-api 以重新启动 Identity Server。

步骤 3:浏览器配置

Microsoft Internet Explorer

不支持

Microsoft Edge

无需额外配置。

Google Chrome

通常来说,Google Chrome 无需额外配置即可工作。

如未运作,请按照以下说明进行操作。

  1. 转到“工具”>“Internet 选项”>“安全性”。
  2. 选择“本地 Intranet”。
  3. 单击“站点”。
  4. 确保选择了“自动检测 Intranet 网络”或所有选项。
  5. 单击“高级”。
  6. 将 Automation Suite FQDN 添加到本地 Intranet
  7. 单击“关闭”和“确定”。
  8. 单击“自定义级别”。
  9. (可选)在“用户身份验证”下选择“仅在 Intranet 区域中自动登录”

    如果选中,则当浏览器收到重定向身份验证请求时,它会检查要求的来源。如果域或 IP 属于 Intranet,则浏览器会自动发送用户名和密码。如果不是,浏览器将打开用户名和密码输入对话框,您需要自行手动输入。

  10. (可选)在“用户身份验证”下选择“使用当前用户名和密码自动登录”。

    如果选中,则当浏览器收到重定向身份验证请求时,它会静默发送用户名和密码。如果身份验证成功,浏览器将继续执行原始操作。如果身份验证失败,浏览器将打开用户名和密码输入对话框,并重试直到验证成功。

  11. 确保在“Internet 选项”>“高级”选项卡下的“安全性”部分中选择了“启用集成 Windows 身份验证”。

Mozilla Firefox

  1. 打开浏览器配置窗口。
  2. 在地址栏中键入 about:config
  3. 指定使用 Kerberos 身份验证的 Automation Suite FQDN:
    1. 搜索词语 network.negotiate
    2. 为 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 身份验证

现在,Automation Suite 已与 Windows 身份验证集成,在 Automation Suite 中为其创建用户帐户的用户可以使用“登录”页面上的“Windows”选项登录 Automation Suite。



如果想要允许使用 Windows 凭据登录,则每个组织管理员都必须为其组织执行此操作。

  1. 以组织管理员身份登录 Automation Suite
  2. 将组织级别的角色分配给 Active Directory 用户或组,您可以从搜索中选择该角色。
  3. 对要允许使用 Windows 身份验证登录的每个用户重复上述步骤。

然后,获赔角色的用户可以使用其 Active Directory 帐户登录 Automation Suite 组织。他们必须使用已加入域的计算机登录。

故障排除

如果您在尝试使用 Windows 凭据登录时收到 HTTP 500 错误,则需要检查以下内容:

  1. Windows 计算机是否已加入域?

    在计算机上,转到“控制面板”>“系统和安全性”>“系统”,然后检查是否显示了域。如果未显示任何域,请将计算机添加到域中。计算机必须加入域,才能通过 Kerberos 协议使用 Windows 身份验证。

  2. 您能否使用相同的凭据登录 Windows 计算机?

    如果不能,请向系统管理员寻求帮助。

  3. 您是否在使用 Microsoft Edge 以外的浏览器?

    除 Microsoft Edge 外,受支持的浏览器需要进行其他配置

  4. 检查密钥表配置:
    1. 生成密钥表后,在 Active Directory 服务器上,AD 用户的属性 (servicePrincpalName) 应为 HTTP/<Service Fabric FQDN> 格式,例如 HTTP/uipath-34i5ui35f.westeurope.cloudapp.azure.com
    2. 必须为 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()
  5. 如果您在使用的域中配置了多个 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。

  6. 如果运行 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
  7. 如果您在 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).
    1. 首先检查您是否在 ArgoCD 中提供了 global.userInputs.identity.krb5KeytabSecret 参数。 如果参数存在,请验证您是否可以使用用于生成密钥表的 AD 用户的凭据登录 Windows 计算机。 请注意,如果密码已更改或过期,则必须重新生成密钥表。
    2. 此问题的另一个可能原因是 ArgoCD 之前未正确同步。 要解决此问题,请删除现有的global.userInputs.identity.krb5KeytabSecret ,同步 ArgoCD,并在操作成功后更新global.userInputs.identity.krb5KeytabSecret ,然后再次同步。
  8. 浏览器是否使用预期的 SPN?

    如果按照这些说明启用了 Kerberos 事件日志记录,您将在 Kerberos 事件日志中看到 KDC_ERR_S_PRINCIPAL_UNKNOWN 错误。有关此问题的详细信息,请参阅 Microsoft 文档

    要解决此问题,请通过修改组策略在协商 Kerberos 身份验证时禁用 CNAME 查找。有关详细信息,请参阅有关 Google ChromeMicrosoft Edge 的说明。

此页面是否有帮助?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath 白色徽标
信任与安全
© 2005-2024 UiPath. All rights reserved.