API 配置

必需的配置

配置 DNS 记录

安装 Blue Prism API 后,需要配置 DNS 记录以将 API URL 映射到相关 IP 地址中。

有关如何执行此操作的更多详细信息,请参阅 DNS 分辨率Blue Prism 网络连接

配置 IIS 应用程序池以便对数据库进行 Windows 身份验证访问

如果 API 用于与 Blue Prism 数据库通信的帐户使用 Windows 身份验证,则需要更新 IIS 中的 Blue Prism API 应用程序池,使其以具有 Blue Prism 数据库适当访问权限的用户身份来运行。在数据库连接中使用 Windows 身份验证时,请按照以下步骤操作:

  1. 从 Windows 的“开始”菜单启动 Internet Information Services 管理器。
  2. 在“连接”面板中,展开“应用程序池”节点,然后选择 Blue Prism API

  3. 在“应用程序池”页面上,选择高级设置
  4. 在“高级设置”对话框中,展开“流程模型”,然后点击“应用程序池标识”旁边的省略号(“…”)。
    配置 IIS 以进行 Windows 身份验证
  5. 在“应用程序池标识”对话框中,选择“自定义帐户”选项,然后点击“设置...”。
  6. 在“设置凭据”对话框中,输入有权访问 Blue Prism 数据库的用户的 Windows 登录凭据,然后点击确定

    连接到 Blue Prism 数据库所需的数据库用户必须具有 db_datareader 和 db_datawriter 权限。

    应用程序池配置

  7. 在“连接”面板中,展开“站点”节点,然后选择“Blue Prism API”。
  8. 在“管理网站”下的“操作”面板中,点击重启
    重启站点

配置 SSL 证书以读取私钥

生成 SSL 证书并与 Blue Prism API 关联后,该 API 需要能够读取私钥。

要这样做:

  1. 从 Web 服务器上的 Windows“开始”菜单启动“管理计算机证书”。
  2. 导航到个人 > 证书,然后找到 Blue Prism API 证书。
  3. 右键点击该证书并选择所有任务 > 管理私钥

    配置 SSL 证书

  4. 在“权限”对话框中,点击添加
  5. 在“选择用户或组”对话框中,输入 IIS AppPool\AppPoolName,其中 AppPoolName 是 Blue Prism API 应用程序池的名称,例如 IIS AppPool\Blue Prism API(除非在该 API 完成初始安装后更改了其名称)。点击检查名称,然后点击确定

    为 SSL 证书配置 IIS

  6. 在“权限”对话框中,选择读取选项的允许,然后点击应用

    配置 SSL 证书权限

该 API 现已配置为可读取私钥。

对 API 启用身份验证

要与 Blue Prism API 实现直接交互,必须在 Blue Prism Hub 中至少创建一个拥有 Blue Prism API 权限的服务帐户,用来存储用户必须提供给 Authentication Server 以验证其请求的客户端 ID 和密钥。如果用户需要不同级别的 API 交互权限,则应创建单独的服务帐户,以便为其分配相应级别的权限。

下图说明了 Authentication Server 和 Blue Prism API 之间的身份验证流程:

API 身份验证工作流程

要对 Blue Prism API 启用身份验证,必须通过 Blue Prism Hub 安装程序(版本 4.6 及更高版本)安装 Authentication Server,并在您的 Blue Prism 环境中配置和启用该组件。仅当在 Hub 中的 Control Room 插件之外与 Blue Prism API 交互时,才需要进行以下配置。在 Hub 中使用 API 直接通过 API 与基于浏览器的 Control Room 中使用的数据交互时,用户身份验证由有权访问 Authentication Server API 的服务帐户处理。有关更多详细信息,请参阅 Authentication Server

对于要创建的每个服务帐户,必须完成以下步骤:

  1. 在 Blue Prism Hub 中,点击您的基本信息图标以打开“设置”屏幕,然后在“用户管理”下点击服务帐户
  2. 在“服务帐户”屏幕上,点击“添加帐户”。
  3. 在 Authentication Server 数据库中输入客户端应用程序的 ID 和客户端的名称。记下客户端 ID,以便以后使用。

  4. 在“权限”下,选择“Blue Prism API”。

    添加服务帐户

  5. 点击创建服务帐户

    此时会显示“添加服务帐户”屏幕和生成的密钥。

    复制生成的密钥

  6. 点击“复制到剪贴板”图标,将生成的密钥复制到剪贴板。系统将使用此密钥和客户端 ID 与 API 交互(例如,SwaggerPostman),以向 Authentication Server API 发出身份验证请求。

    颁发用于 API 的身份验证令牌的 Authentication Server API URL 为:

    https://<authenticationserverhostname>/connect/token, for example https://authentication.local/connect/token

  7. 在 Blue Prism 交互式客户端中,导航到系统 > 安全—用户

    为了在 Blue Prism 环境中同步并显示在 Hub 中创建的用户,需要配置并运行该环境中的至少一个应用程序服务器(连接到 Authentication Server)。有关更多详细信息,请参阅 Authentication Server

  8. 选择用户,然后从汉堡式菜单选项中选择将用户与 Authentication Server 同步

    服务帐户现在会显示在用户列表中。

  9. 双击服务帐户,为其分配连接的用户应能通过可用的 API 实现的操作所需的角色和权限。

    服务帐户的角色和权限可以像任何其他 Blue Prism 用户帐户一样设置和应用。

  10. 导航到托管 Authentication Server(例如,C:\Program Files (x86)\Blue Prism\Authentication Server)的 Web 服务器上的 Authentication Server 安装目录,然后打开 appsettings.json 文件。

  11. 在该文件的 AllowedOrigins 部分,添加 Blue Prism API 安装包的 URL(例如 https://BluePrismAPI.local),然后保存更改。

    此步骤仅当您对外公开 Blue Prism API 时才需要,要么在 Swagger 中进行测试,要么用于任何其他外部接口,例如定制的第三方应用程序。

    配置应用程序设置

  12. 从 Windows 的“开始”菜单启动 Internet Information Services 管理器 (IIS)。

  13. 在“连接”面板中,展开“站点”节点并选择 Blue Prism—Authentication Server
  14. 在“管理网站”下的“操作”面板中,点击重启

    重启站点

  15. 如果您在此过程中更改了与服务帐户相关联的用户角色,建议您重新使用 Blue Prism API 应用程序池,确保即刻应用更改。

配置 API 以允许自动缓存 Active Directory 域的填充

仅当用户在服务器上启动 Blue Prism API 网站后提出请求时,才会出现存储已发现 Active Directory 域的缓存的填充。这可能会阻止 Active Directory 用户按预期在 Hub Control Room 中查看数据。这是因为他们的帐户未在 Blue Prism API 中获得授权,而 Active Directory 缓存仍在后台填充。

为防止这种情况的出现,应将 Blue Prism API 应用程序池的启动模式设置为始终运行,如下所示:

  1. 从 Windows 的“开始”菜单启动 Internet Information Services 管理器。
  2. 在“连接”面板中,展开“应用程序池”节点,然后选择 Blue Prism API

  3. 在“应用程序池”页面上,选择高级设置
  4. 在高级设置对话框中,展开通用,然后在“启动模式”字段中选择始终运行

可选配置

为 Blue Prism API 提供基于服务器的加密密钥

如果您要将加密方案存储在 Blue Prism 应用程序服务器上,并且需要由 Blue Prism API 使用这些方案,则需要此配置。

将 Blue Prism 应用程序服务器配置名称添加到 Blue Prism API 的配置文件中

  1. 以管理员身份打开 Windows PowerShell,然后运行以下命令来解密 API web.config 文件(默认位于 C:\Program Files (x86)\Blue Prism Limited\Blue Prism API):

    复制
    C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -pdf "appSettings" "C:\Program Files (x86)\Blue Prism Limited\Blue Prism API" 
  2. 解密后,在文本编辑器中打开 API web.config 文件,在 <appSettings> 部分找到“BPServerConfigName”密钥,然后在值参数中输入 Blue Prism 应用程序服务器配置的名称。

    这是配置应用程序服务器时设置的名称。首次配置应用程序服务器时,配置名称为“默认”,可根据需要更改。

  3. 以管理员身份打开 Windows Powershell,然后使用以下命令重新加密 API web.config 文件:

    复制
    C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -pef "appSettings" "C:\Program Files (x86)\Blue Prism Limited\Blue Prism API"

后续步骤取决于 Blue Prism API 和 Blue Prism 应用程序服务器是否在同一台计算机上运行:

Blue Prism API 和 Blue Prism 应用程序服务器在同一台计算机上运行

  1. 运行 Blue Prism API 应用程序池的用户授予 Automate.config 文件的读取权限: 
    1. 找到 Automate.config 文件 (C:\ProgramData\Blue Prism Limited\Automate V3),右键点击文件并选择属性
    2. 在“安全”选项卡上,点击编辑
    3. 在“权限”对话框中,点击添加
    4. 在“选择用户或组”对话框中,输入应用程序池正在运行的身份,例如,如果在应用程序池身份下运行应用程序池,则输入 IIS AppPool\AppPoolNameAppPoolName 是 Blue Prism API 应用程序池的名称,例如 IIS AppPool\Blue Prism API(除非在该 API 完成初始安装后更改了其名称)。
    5. 点击检查名称,然后点击确定
    6. 在“权限”对话框中,选择读取选项并点击应用
  2. 如果将加密密钥存储在外部 BPK 文件中,请将这些文件的读取权限授予运行 Blue Prism API 应用程序池的用户:
    1. 浏览至加密密钥的位置,右键点击 BPK 文件并选择属性
    2. 在“安全”选项卡上,点击编辑

    3. 在“选择用户或组”对话框中,输入应用程序池正在运行的身份,例如,如果在应用程序池身份下运行应用程序池,则输入 IIS AppPool\AppPoolNameAppPoolName 是 Blue Prism API 应用程序池的名称,例如 IIS AppPool\Blue Prism API(除非在该 API 完成初始安装后更改了其名称)。

    4. 点击检查名称,然后点击确定

    5. 在“权限”对话框中,选择读取选项并点击应用

  3. 如果 Automate.config 文件是证书加密的,则将加密证书私钥的读取访问权限授予运行 Blue Prism API 应用程序池的用户:

    1. 从 Web 服务器上的 Windows“开始”菜单启动“管理计算机证书”。

    2. 导航到个人 > 证书,然后找到 Blue Prism API 证书。

    3. 右键点击该证书并选择所有任务 > 管理私钥

    4. 在“权限”对话框中,点击添加

    5. 在“选择用户或组”对话框中,输入应用程序池正在运行的身份,例如,如果在应用程序池身份下运行应用程序池,则输入 IIS AppPool\AppPoolNameAppPoolName 是 Blue Prism API 应用程序池的名称,例如 IIS AppPool\Blue Prism API(除非在该 API 完成初始安装后更改了其名称)。

    6. 点击检查名称,然后点击确定

    7. 在“权限”对话框中,选择读取选项并点击应用

    8. 在 Internet Information Services (IIS) 管理器中,右键点击 Blue Prism API 应用程序池并选择回收

      该 API 现已配置为可读取私钥。

      或者,您可以将权限应用到包含文件的文件夹中。

Blue Prism API 和 Blue Prism 应用程序服务器在不同的计算机上运行

  1. 从安装和配置 Blue Prism 应用程序服务器的计算机上,将 Automate.config 文件复制到运行 API 的计算机上的以下位置:%PROGRAMDATA%\Blue Prism Limited\Automate V3。
  2. 将 Automate.config 文件副本的读取权限授予运行 Blue Prism API 应用程序池的用户,如上所述。
  3. 如果将加密密钥存储在外部 BPK 文件中,请将 BPK 文件从 Blue Prism 服务器计算机复制到运行 API 的计算机上的相同位置。
  4. 向运行 Blue Prism API 应用程序池的用户授予对这些 BPK 文件副本的读取权限,如上所述。
  5. 如果您的 Automate.config 文件经过证书加密,请从运行 Blue Prism 应用程序服务器的计算机上导出加密证书,并将其导入运行 API 的计算机上。

    要从 Blue Prism 应用程序服务器计算机导出加密证书,请执行以下操作:

    1. 以管理员身份登录。

    2. 在命令提示符或运行菜单中输入“mmc”。

    3. 打开您的本地计算机证书(点击文件 > 添加/删除嵌入式管理单元... > 证书 > 计算机帐户 > 下一步 > 本地计算机 > 完成 > 确定)。

    4. 导航至证书(本地计算机) > 个人 > 证书

    5. 右键点击要导出的证书,然后选择所有任务 > 导出 > 下一步

    6. 选择是,导出私钥,然后选择下一步

    7. 选择 PKCS#12选项。

    8. 选择包括证书路径中的所有证书(如可能)

    9. 选择导出所有扩展属性

    10. 点击下一步

    11. 如果出现提示,请提供私钥的密码。

    12. 提供有意义的名称(例如 certname.pfx),并将其保存在安全的地方。

    要将加密证书导入运行 Blue Prism API 的计算机上,请执行以下操作:

    1. 将导出的文件复制到运行 API 的计算机上。*.pfx 文件采用 PKCS#12 格式,包括证书和私钥。

    2. 在命令提示符或运行菜单中输入“mmc”。

    3. 打开您的本地计算机证书(点击文件 > 添加/删除嵌入式管理单元... > 证书 > 计算机帐户 > 下一步 > 本地计算机 > 完成 > 确定)。

    4. 导航至证书(本地计算机) > 个人 > 证书

    5. 右键点击要导出的证书,然后选择所有任务 > 导入 > 下一步

    6. 点击浏览可从保存的位置选择证书。

    7. 点击下一步

    8. 指定要放置证书的证书存储,然后点击下一步

    9. 点击完成

  6. 向运行 Blue Prism API 应用程序池的用户授予对此导入证书的私钥的读取访问权限,如上所述。

    如果对运行 Blue Prism 应用程序服务器的计算机上的加密密钥进行了任何更改,则您需要确保这些密钥已经复制到运行 Blue Prism API 的计算机上。

  7. 在 Internet Information Services (IIS) 管理器中,右键点击 Blue Prism API 应用程序池并选择回收

    该 API 现已配置为可读取私钥。

如果对应用程序服务器使用的服务器加密方案或用于加密配置文件的证书进行了任何更改,则需要再次执行所有这些步骤。

启用 Swagger UI

为了启用与 Blue Prism API 的交互,Blue Prism API 安装包随附了 Swagger UI。Swagger UI 默认情况下禁用,如果管理员希望用户使用此工具与 Blue Prism API 交互,则必须启用 Swagger UI。

要启用 Swagger UI:

  1. 以管理员身份运行 Windows PowerShell,然后使用以下命令来解密 API web.config 文件(位于 C:\Program Files (x86)\Blue Prism Limited\Blue Prism API):

    复制
    C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -pdf "appSettings" "C:\Program Files (x86)\Blue Prism Limited\Blue Prism API"
  2. 解密后,打开 API web.config 文件并将 Swagger.Enable 属性更改为 true。默认情况下,此属性设置为 false
  3. 以管理员身份运行 Windows Powershell,然后使用以下命令重新加密 API web.config 文件:

    复制
    C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -pef "appSettings" "C:\Program Files (x86)\Blue Prism Limited\Blue Prism API"
  4. 使用以下格式的链接启动 Swagger UI:

    https://[hostname]:[portnumber]/swagger/ui/index,例如 https://bpapi.local:443/swagger/ui/index。

为非生产环境生成自签名 SSL 证书

您可以使用自签名证书,但建议仅用于 POC\POV\Dev 环境,而不要用于生产环境。建议您联系您的 IT 安全团队,以了解如何获取合适的证书。

要生成自签名证书:

  1. 在 Web 服务器中以管理员身份运行 PowerShell,并使用以下命令(用适当的值来替代 [Website][ExpiryYears]):

    复制
    New-SelfSignedCertificate -CertStoreLocation Cert:\LocalMachine\My -DnsName "[Website].local" -FriendlyName "MySiteCert[Website]" -NotAfter (Get-Date).AddYears([ExpiryYears])

    例如:

    复制
    New-SelfSignedCertificate -CertStoreLocation Cert:\LocalMachine\My -DnsName "blueprismapi.local" -FriendlyName "MySiteCertAPI" -NotAfter (Get-Date).AddYears(10)

    此示例在“个人证书”库中创建名为 MySiteCertAPI 的自签名证书(以 blueprismapi.local 作为主题),自创建之时起 10 年内有效。

    生成自签名证书

  2. 在 Web 服务器中打开“管理计算机证书”应用程序(在搜索栏中输入管理计算机)。

  3. 将证书从“个人”>“证书”复制并粘贴到“受信任的根证书颁发机构”>“证书”中。

    这是为了遵守相关要求,以便用于网站的 SSL 证书受信任。

    管理 SSL 证书

将 API URL 添加到 Hub 数据库连接

如果要在 Hub 中使用基于浏览器的 Control Room 插件,则必须将 API URL 添加到 Hub 数据库连接。

Blue Prism API 在 Blue Prism Hub 中为基于浏览器的 Control Room 提供支持。为确保 Control Room 可以从环境中检索信息,需要在 Hub 的环境管理中定义 API 位置。Blue Prism Hub然后,Control Room 将使用 API 检索数据,并触发通过 Control Room 启动的操作。登录 Hub 后,您将在 Control Room 中拥有与 Blue Prism Enterprise 中相同的权限。

  1. 在 Blue Prism Hub 中,点击您的基本信息图标以打开“设置”页面,然后点击“平台管理”下的环境管理

    只有管理员用户才有权访问此选项。

  2. 在“环境管理”页面上,点击要更新的数据库连接上的编辑图标。

    系统将显示“编辑连接”页面。

  3. API 配置部分下输入 URL

    您必须输入包含协议的完整 URL,例如 http:// 或 https://。例如:https://bpapi.yourdomain.com

  4. 点击保存

  5. 在“环境管理”页面上,点击已更新的连接上的刷新图标。这样会使用数据库中存储的数字化员工和队列更新 Hub 中的信息。

有关更多信息,请参阅 Hub 环境管理指南