Authentication Server 故障排除

以下部分提供了配置 Authentication Server 时可能遇到的特定问题的指南。

在启用 Authentication Server 后登录到 Blue Prism

如果 Blue Prism 部署已配置为要求通过 Authentication Server 路由所有用户身份验证,但 Authentication Server 不可用,请联系 Blue Prism 支持部门以获得指导。

启用 Authentication Server 后,您必须确保 Blue Prism 原生管理员用户仍保留在系统中。在联系 Blue Prism 支持部门之前,请确保您已对您的 Blue Prism 数据库进行完整且可验证的备份。

尝试使用 Authentication Server 登录时显示错误消息

如果在用户尝试使用 Authentication Server 登录时显示“意外浏览器错误。您现在将返回登录屏幕。”,则应检查以下内容:

  • Authentication Server URL 是否可从用户的设备访问,或者是否在“安全—登录设置”屏幕中输入了正确的 Authentication Server URL?
    • 验证是否已在 Blue Prism 中的系统 > 安全—登录设置下配置了正确的 Authentication Server URL。如果当前没有用户能够登录以查看此页面上的 URL,您可以通过对您的 Blue Prism 数据库运行以下查询来查看 URL:

      复制
      从 BPASysConfig 选择 authenticationserverurl
    • 验证 Authentication Server 是否正在运行且可从用户的计算机访问,方法是在浏览器中输入发现文档的 URL:<authentication server URL>/.well-known/openid-configuration

      如果成功,页面加载将包含一些 JSON 以及 Authentication Server 的详细信息,如下所示:

      如果无法访问页面,您可能需要通过 IIS 中的应用程序池重新启动站点。有关更多详细信息,请点击此处

    • 通过打开 IIS Manager (inetmgr.exe) 并找到 Blue Prism - Authentication Server 网站,验证您可以浏览正确的 Authentication Server URL。右键点击网站,然后点击管理网站 > 浏览。Authentication Server 网站将在默认浏览器中打开。有关 Hub 站点(如 Authentication Server)故障排除的更多详细信息,请点击此处

  • 是否存在网络问题?
    • 检查 SSL 证书是否有效。有关更多详细信息,请点击此处

    • 检查代理是否未阻止 Blue Prism 连接到 Authentication Server。

      如果需要将其禁用,您可以在“Internet 属性”>“局域网 (LAN) 设置”下取消选择为您的 LAN 使用代理服务器选项。有关配置代理设置的更多详细信息,请点击此处

  • 运行 Blue Prism 交互式客户端的计算机上是否已安装 WebView2 运行时?

使用 Active Directory 身份验证登录 Authentication Server

如果在通过 Active Directory 登录的流程中遇到登录失败或性能问题,系统管理员可以核对是否需要将更多 Active Directory 设置添加到 Authentication Server appsettings.json 文件中。要编辑 appsettings.json 文件:

  1. 打开 Windows 资源管理器,导航至 Authentication Server 安装位置。

    要检查安装位置,请打开 Internet Information Services (IIS) 管理器,选择 Authentication Server 站点并点击浏览

  2. 备份 appsettings.json 文件。

  3. 在文本编辑器中打开 appsettings.json 文件。
  4. 找到文件的 Ims 部分。
  5. 如果不存在,请添加 ActiveDirectory 部分。

    如果 ActiveDirectory 部分已经存在,您可能会在该部分看到其他设置,具体取决于您的 Active Directory 配置,因此以下部分的示例仅作说明用

  6. 如进行了任何更改,请保存文件。

对 appsettings.json 文件进行任何变更后,必须重新启动 Authentication Server。

要重新启动 Authentication Server:

  1. 打开 Internet Information Services (IIS) 管理器。
  2. 在连接列表中,选择 Blue Prism—Authentication Server

    这是默认站点名称—如果您使用了自定义站点名称,请选择相应的连接。

  3. 从“管理网站”控件中点击“重新启动”

检查是否需要配置 Active Directory 超时限制

在默认情况下,当 Authentication Server 尝试查询域控制器时,Authentication Server 将先等候 5 秒钟的响应,然后才能触发 System.TimeoutException 错误。但是,在以下情形下,可根据需要配置此值:

  • 如果用户在通过 Active Directory 登录时遇到性能问题,并且日志多次显示 System.TimeoutException:5 秒后超时,则可能需要减小该值。范围为 1 到 60 秒。
  • 如果阻止用户通过 Active Directory 登录,并且日志多次显示 System.TimeoutException:5 秒后超时,则可能需要增加该值。范围为 1 到 60 秒。

要配置 Active Directory 超时限制:

  1. 在 appsettings.json 文件的 ActiveDirectory 部分,根据情况添加 QueryTimeoutSeconds 设置和值,有关减小的值,请参见以下示例。

    复制
    {"Ims" : {"ActiveDirectory": {"QueryTimeoutSeconds": 3}}}
  2. 保存文件。
  3. 重新启动 Authentication Server

检查登录期间使用的 Active Directory 域是否需要手动配置

为了减少在用户登录期间填充 Active Directory 缓存所花费的时间,系统管理员可以手动配置将在登录流程中查询的受信任 Active Directory 域。如果手动配置了至少一个 Active Directory 域,则这些设置将在登录过程中用于仅查询已配置的域,而不是以编程方式识别可以查询的域。

将新域添加到 Active Directory 后,还必须将此域添加到配置中。否则,系统会忽略此域,并且在配置更新之前,属于此域的用户将无法登录。

如果使用 Authentication Server 4.6,可以手动配置符合以下一个或多个条件的任何 Active Directory 域:

  • 包含必须能够登录的用户。
  • 包含直接分配到 Authentication Server 中的 Hub 或 Interact 角色的安全组。
  • 包含父级安全组,其中包括直接分配给 Authentication Server 中的 Hub 或 Interact 角色的安全组。

如果使用 Authentication Server 4.7,应仅手动配置符合以下条件的 Active Directory 域:

  • 包含具有与 Active Directory 域的域名系统 (DNS) 名称不同的备用用户主体名称 (UPN) 后缀的用户。例如,corp.dir.company.com(DNS 名称)和 company.com(别名后缀),其中 [email protected] 是 UPN。

手动配置需要在每个所需域的 Authentication Server appsettings.json 文件中添加 Active Directory 域名、林名称和安全标识符。要这样做:

  1. 在 appsettings.json 文件的 ActiveDirectory 部分,请添加 TrustedDomains 部分。
  2. 为每个域添加必需信息,例如:

    • DomainName—将需要手动配置的 Active Directory 域的名称。

    • ForestName—Active Directory 域所在的林的名称。

    • Sid—Active Directory 域的安全标识符。

    复制
    {  "Ims": {    "ActiveDirectory": {"TrustedDomains": [{             "DomainName": "domain.com",             "ForestName": "my.domain.com",             "Sid": "S-1-27-1-3452"            },           {             "DomainName": "company.com",             "ForestName": "my.company.com",             "Sid": "S-2-23-1-3458"           },           {             "DomainName": "enterprise.com",             "ForestName": "enterprise.com",             "Sid": "S-3-23-1-3459"           }]},
  3. 保存文件。
  4. 重新启动 Authentication Server

检查是否需要配置存储的 Active Directory 域的缓存设置

为了进一步提高登录流程的性能,可以通过在 Authentication Server appsettings.json 文件中设置刷新间隔和最长缓存持续时间来配置存储发现域的缓存。

  • 刷新间隔是从 Active Directory 更新缓存数据的时间间隔,以分钟为单位。该值可以设置为 5 分钟到 1440 分钟。默认值为 5。
  • 最长缓存持续时间是数据在失效之前保存在缓存中的时间,以分钟为单位。该值可以设置为 5 分钟到 1440 分钟。如果使用 Authentication Server 4.6,则默认值为 30。如果使用 Authentication Server 4.7,则默认值为 1440。

    这两个设置必须成对配置,并且最长缓存持续时间应设置为高于刷新间隔。如果未配置一项或两项设置,则将使用默认值。

在以下情况中,缓存会填充到 Authentication Server:

  • 启动或重新启动 Authentication Server 站点。
  • Blue Prism Hub > 身份验证设置中启用 Active Directory 身份验证。

    除非已启用 Active Directory 身份验证,否则缓存不会填充到 Authentication Server。

要将缓存设置添加到 Authentication Server appsettings.json 文件:

  1. 在 ActiveDirectory 部分,请添加 MaxCacheDurationMinutes 和 CacheRefreshIntervalMinutes 设置及其值,例如:

    复制
    {"Ims" : {"ActiveDirectory": {"MaxCacheDurationMinutes": 60,"CacheRefreshIntervalMinutes": 10}
  2. 保存文件。
  3. 重新启动 Authentication Server

检查域控制器名称映射是否需要配置

在搜索 Active Directory 用户或安全组,以及添加或编辑 Active Directory 域时,可能会显示以下错误消息:凭据无效。请检查您的凭据。如果感兴趣的域位于与运行 Authentication Server 的网络不同的网络上,则可能发生这种情况。

如果您确定在创建 Active Directory 域记录时提供了正确的凭据,则可以在 appsettings.json 文件中配置域控制器名称映射,以便将对在 DomainName 中指定的域的 Active Directory 查询定向到在 DomainControllerName 中定义的端点。

要这样做:

  1. 在 appsettings.json 文件的 ActiveDirectory 部分,添加 DomainControllerNameMappings 部分。
  2. 为每个域和域控制器添加必需信息,例如:

    • DomainName—Active Directory 域的名称或域的 DNS 名称。

    • DomainControllerName—域的 DNS 名称或域控制器的 FQDN。

    复制
    {  "Ims": {"ActiveDirectory": {"DomainControllerNameMappings": [{ "DomainName": "company.com","DomainControllerName": "server-id.company.com"}, { "DomainName": "my.company.com","DomainControllerName": "server-id.my.company.com"}],
  3. 保存文件。
  4. 重新启动 Authentication Server

首次运行映射功能时,输出 CSV 文件中显示错误消息

在以下情况下首次运行映射功能时,输出 CSV 文件中可能会显示消息“创建 Authentication Server 用户记录时出错”:

  • 如果为在 Blue Prism 和 Authentication Server 之间进行通信而在 Hub 中创建的服务帐户未获得 Authentication Server API 权限。

  • 如果在 Blue Prism 的“服务器配置详细信息”屏幕上 Authentication Server 集成选项卡的“客户端详细信息”部分中未正确添加服务帐户的客户端 ID 和客户端密钥

  • 当将用户从 Blue Prism 映射到 Authentication Server 时,如果您尝试映射的用户已存在于 Authentication Server 数据库中,映射功能将会检查“FirstName”、“LastName”和“电子邮件”详细信息。如果 Authentication Server 中已存在其中一项,则不会映射用户记录。
  • 如果您运行命令的计算机无法访问 Authentication Server 网站。

Authentication Server 用户只有在登录 Blue Prism 交互式客户端时才能访问“主页”和“Digital Exchange”选项卡

Authentication Server 管理用户对 Blue Prism 和 Hub 的访问,但是,角色和权限在每个应用程序的本地管理。请联系您的 Blue Prism 系统管理员,为您分配必要的角色和权限,以便您查看整个 Blue Prism 应用程序

启动 Blue Prism 应用程序服务器时,RabbitMQ 消息总线未启动

如果在启动 Blue Prism 应用程序服务器时 RabbitMQ 消息总线未启动(服务器输出窗口或服务器日志中将显示警告),请检查以下内容:

  • RabbitMQ 是否正在运行?
    • 在已安装 RabbitMQ 的操作系统上的可用服务列表中查找 RabbitMQ,以检查 RabbitMQ 服务是否正在运行。
  • RabbitMQ 地址、虚拟主机和端口详细信息是否正确?
    • 格式应为 {protocol}://{host}:{port}/{virtual host},例如 rabbitmq://<rabbitmqserver>:5672/。
  • RabbitMQ 用户名和密码是否正确?
    • 访客用户仅通过本地主机连接工作。确保已创建具有正确虚拟主机权限的新用户。
  • 客户端 ID 和客户端密钥是否与在 Hub 中创建服务帐户时输入的值匹配?
  • 您是否点击了测试连接来检查连接是否有效?

可以通过在浏览器中输入 https://<rabbitmqserver>:15672/ 访问 RabbitMQ 管理门户并使用配置的用户凭据登录,以检查上述详细信息。

在 Authentication Server 中对用户和服务帐户的更新未体现在 Blue Prism 交互式客户端中

如果在 Authentication Server 中创建的服务帐户未出现在 Blue Prism 中,或者已删除或恢复的用户或服务帐户未在 Blue Prism 中更新,请检查以下内容:

  • RabbitMQ 是否正在运行?
    • 在搜索栏中输入“服务”并确保列表中显示 RabbitMQ,以检查 RabbitMQ 服务是否正在运行。
  • 检查 RabbitMQ 管理门户,了解以下内容:
    • 用户同步队列中是否有任何消息?
      • 如果有,BPServer 是否正在运行? BPServer 是用户同步队列的唯一使用者,因此,队列中的消息(在“就绪”列中用正整数表示)表示 BPServer 未运行或 BPServer“Authentication Server 集成”设置不正确。
        • 如果是这种情况,请检查 BPServer 中的“Authentication Server 集成”设置是否与正确的队列匹配。使用以下示例,环境标识符应为 bp

        • 确保 BPServer 已启动。

      • 如果当前用户同步队列中没有消息,队列中是否有消息? 这可以通过检查每个队列的消息速率来进行检查,例如,具有活动的队列将具有 0.00/s 值,而不具有消息的队列将为空。

    • 是否已在用户同步队列中使用任何消息?

      • 如果在 RabbitMQ 管理门户中可见,则表示用户同步功能正在端到端工作,并且处理事件时出现问题。
    • 如果用户或服务帐户创建或更新失败,则将创建另一个包含应用程序错误的队列(这称为错误队列)。队列名称将相同,附加后缀为 _error

  • 可以检查错误(和任何消息)以诊断应用程序中的问题。要执行此操作,请先选择队列,然后选择“获取消息”选项。您可以指定要获取的消息数。由于这是一个队列,如果我们获取 1 条消息,则返回队列前面的消息。队列前面的消息是最早的消息。选中后,您可以看到消息的内容。如果是错误消息,您可以查看异常类型、消息类型以及更详细的堆栈跟踪等详细信息。

将 Authentication Server 与使用基于外部证书的身份验证的现有 RabbitMQ 实例一起使用

如果您将 Authentication Server 与使用基于外部证书的身份验证的现有 RabbitMQ 实例一起使用,则需要在他们的实例中启用凭据 (PLAIN) 身份验证。更多详细信息可在此处查看。

如果您从未通过 Blue Prism 应用程序服务器中的“Authentication Server 集成”选项卡配置 RabbitMQ 功能,则 RabbitMQ 管理 UI 将不会为该环境创建队列,这意味着在 Hub 中所做的任何更改都不会排队。但是,一旦该配置设置成功并验证其正常工作,无论 Blue Prism 应用程序服务器是否正在运行,未来在 Hub 中所做的任何更新都将排队。

嵌入式 Authentication Server 登录页面无限期加载

使用 Authentication Server 登录 Blue Prism 交互式客户端时,通过 Microsoft Edge WebView2 浏览器嵌入的 Authentication Server 登录对话框可能无法完全渲染并会无限期加载,在日志中也不会显示任何错误。

这似乎是由 WebView2 浏览器在 C:\Users\<username>\AppData\Roaming\Blue Prism Limited\Automate V3 中创建的用户数据文件夹 (UDF) 引起的,该文件夹是在您首次尝试使用 Authentication Server 登录时创建的。此文件夹包含浏览器数据,例如 Cookie、权限和缓存的资源。有关详细信息,请参阅管理 Microsoft Edge 中的用户数据文件夹

要解决此问题,您需要从 C:\Users\<username>\AppData\Roaming\Blue Prism Limited\Automate V3 中删除用户数据文件夹,重新启动 Blue Prism,然后使用 Authentication Server 重新登录。