HashiCorp Vault 集成

您可以集成 Automation 360 以从 HashiCorp Vault 检索凭据。 凭据位于 HashiCorp Vault 中,您可以在其中进行管理、轮换和同步。

注: HashiCorp 标志和徽标是 HashiCorp, Inc. 的商标或注册商标,仅用于识别目的。

注: 无需额外的 Automation Anywhere 许可证即可与 HashiCorp Vault 集成或使用 HashiCorp API。

通过 HashiCorp HTTP API 将 Control Room 集成到 HashiCorp Vault 中。

下表列出了不同部署类型所支持的功能:

功能 云部署 本地部署
坐席自动化凭据 支持 支持
坐席自动登录凭据 支持 支持
引导和系统凭据 不支持 支持

可以使用以下任一部署将 Control RoomHashiCorp Vault 集成:

  • 下图所示为部署,其中 Control Room 托管在 AAI 上:HashiCorp 云部署

  • 本地

    对于本地部署,您需要部署以下内容:

    • 在您的客户环境中作为软件Control Room
    • 在您的客户环境中,Bot Agent 运行自动化并访问客户应用程序。
    注: 还可以通过互联网将本地 Control Room连接到 HashiCorp Cloud

HashiCorp 本地部署

HashiCorp Vault 集成要求

  • HashiCorp 服务应从 Control Room 访问。
  • 必须通过网络外围防火墙规则使 Cloud Control Room 能够访问 HashiCorp 外部密钥保管库。 有关外部防火墙规则配置的详细信息,请参阅 外部集成 Control Room IP 地址
  • 确保您正在使用:
    • HashiCorp Vault 1.13.x 或 1.14.x,以及 HashiCorp KV 密钥引擎 - 版本 2。
    • 默认的密钥引擎路径为 /secret。 所有密钥都必须在密钥引擎根目录下创建 (/secret)。 要访问 HashiCorp Vault API,Control Room 会自动将默认的密钥引擎路径 v1/secret/data 附加到您输入的 Vault URL 中(例如:https://<hostname1:port_num>/v1/secret/data)。 确保具有给定 RoleID 的角色至少对该路径具有读取权限,并且所有密钥都在密钥引擎中创建。
    • HashiCorp Vault REST API。
    • API 引擎路径为 /v1/secret/data
    • 通过将 X-Vault-Namespace 标头设置为绝对或相对命名空间路径,在特定命名空间下进行 API 操作。
    • 使用默认路径名称为“approle”的 AppRole 身份验证方法。 不支持自定义 AppRole 路径名称。

安装 HashiCorp Vault

必须安装和配置 HashiCorp Vault。 请参阅 HCP Vault Quick Start

HashiCorp Vault 中使用 AppRole

AppRole 是一种身份验证方法,供 HashiCorp Vault 中的应用程序与保管库进行交互。 AppRole 使用以下值进行身份验证:

  • RoleID: AppRole 的唯一标识符。 可以在任意数量的应用程序实例中使用 RoleID。
  • SecretID: 用于验证 AppRole 的随机生成值。 密钥 ID 仅用于单个应用程序实例,生命周期短,并且只能由授权的应用程序使用。
    重要: 我们建议您不要共享此值。
  • 角色名称: 角色按角色名称列出。
  • 命名空间: 允许您创建密钥组,并将策略应用于这些命名空间,以确保每个租户只能访问他们有权限的密钥。

有关如何配置 AppRole 的信息,请参阅 AppRole Auth Method

导入服务器证书

On-Premises 部署中,您可以将单个服务器证书导入到信任库中。 但是,我们建议您导入颁发证书的证书颁发机构 (CA) 证书。 有关更多信息,请参阅 导入 HTTPS SSL、中级证书和 CA 证书

  1. 客户端 (Automation 360 Control Room) 向 HashiCorp Vault(受保护资源)发送请求。
  2. 服务器随后通过向客户端发送证书进行响应。
  3. Control Room 通过将其与存储在 Control Room 信任库公共部分中的受信任服务器认证信息进行验证,验证由 HashiCorp 服务器发送的证书。
  4. 双方(客户端和服务器)在证书通过以下验证的基础上获得对受保护资源的访问权限:
    • Control Room 必须信任 HashiCorp 服务器上的证书
    • 证书中的主题字段与调用系统的完全限定域名(DNS 名称)匹配。
    • 证书尚未过期。

HashiCorp HTTP API 配置要求

必须在 Control RoomHashiCorp 服务器之间建立网络连接。 Control Room 通过 HashiCorp HTTP API 连接到 HashiCorp Vault,适用于本地部署Cloud 部署。

要使用 HashiCorp API,必须设置以下必需的参数:

  • 保管库 URL
  • 角色 ID
  • 角色名称
  • 密钥 ID
  • 密钥引擎路径
  • 命名空间(可选)
  • 可选证书

审查 HashiCorp 凭据术语和标识符

HashiCorpAutomation Anywhere 使用不同的术语来描述和识别凭据:

描述 HashiCorp Automation Anywhere
凭据存储位置 密钥 凭据
  • HashiCorp 中的凭据存储为密钥。
  • Automation Anywhere 中的凭据存储在存储柜 中,每个存储柜都有 Control Room 用户访问控制。
对于数据库、服务账户、SMTP 和 AD 凭据,密钥保管库密钥数据应使用以下格式:
  • 用户名:john
  • 密码: 2zR%#sX#g
对于自动化,密钥保管库的密钥数据应使用以下格式:
  • 电子邮件:john@email.com
  • 密码:my-long-passcode

HashiCorp 密钥 ID 轮换

Control Room 运行一个计划任务,主动为租户轮换 HashiCorp 密钥 ID。 这一流程可确保涉及密钥保管库凭据的自动化操作不间断运行。 默认情况下,密钥 ID 的轮换频率为每小时一次。 密钥 ID 将根据其过期时间进行更改。 当密钥 ID 的三分之二已过期时,可以更改密钥 ID。

如果 HashiCorp 密钥 ID 轮换失败,可以使用以下 CloudOn-Premises 步骤手动更改密钥 ID: