配置 HashiCorp Vault

DevOps Insights 该服务将于 2026 年 8 月 31 日停止提供并终止。Continuous Delivery 将于 2027 年 2 月 12 日在以下区域停止提供:au-sydca-torus-east。 Code Risk Analyzer 也将于该日期在所有地区停止提供服务。 如果某个区域未实际使用这些功能,该区域内的相关功能可能会提前停用,并停止接受新实例。 了解更多

您可以将 HashiCorp Vault 配置为工具链中的一个工具集成,这样就可以访问和引用 HashiCorp Vault 服务器中安全存储的秘密。

在为您的工具链配置 HashiCorp Vault 工具集成之前,您需要有访问 HashiCorp Vault 服务器权限的身份验证方法和相关凭证。 例如,如果 authentication_methodgithub,那么您必须知道 token 凭证。 您还需要知道 server urlintegration urlsecrets path 的值。 如果 HashiCorp Vault 服务器绑定到特定端口,请在服务器 url 中包含端口号。 例如,https://192.168.0.100:8200

HashiCorp Vault 工具集成仅支持按名称引用秘密。 若需通过CRN使用机密引用,必须采用 工具集成 Secrets Manager 方案。

配置 HashiCorp Vault,以安全地管理 API 密钥和属于工具链或交付管道一部分的机密:

  1. 如果您在创建工具链时配置此工具集成,并且在您配置的模板中存在 HashiCorp Vault 工具集成,请单击 HashiCorp Vault 选项卡。 或者,在“更多工具”部分,点击 HashiCorp Vault.

  2. 若您已拥有工具链并需向其中添加此工具集成,请在控制 IBM Cloud 台中点击菜单图标 (汉堡图标 )> 平台自动化 > 工具链。 在“工具链”页面上,单击某个工具链以打开其“概述”页面。

    a. 单击 “添加工具”

    b. 在“工具集成”部分,单击 HashiCorp Vault

  3. 在工具链中的“HashiCorp Vault”卡片上,输入您希望为此工具集成显示的名称。 私钥名称支持 a-zA-Z0-9 范围内的字符以及空格字符。 不允许使用这些范围之外的字符,这将阻止解析私钥。 例如,my.secret 是无效的私钥名称,但 my-secret 有效。

  4. 请输入您希望在点击工具链中的“HashiCorp Vault”卡片时打开的 HashiCorp Vault 服务器的 URL。 确保 URL 以 httphttps 协议为前缀,以 HashiCorp Vault 端口号结尾,如 https://www.acme.com:8200

  5. 为 HashiCorp Vault 工具集成键入 URL。 此值可以是任何有效的 URL,如与组织的 HashiCorp Vault 服务器 Web UI 控制台或文档相关的特定组织 URL。

  6. 键入 HashiCorp Vault 服务器上秘密的路径,使用配置的身份验证方法和相关身份验证凭据时可访问该秘密。 此值必须仅包含私钥路径,并且不能在私钥路径末尾包含私钥名称。 如果认证凭证包含指定私钥路径中的相关 LIST 许可权,那么您可以查看该路径中的私钥列表。

  7. 单击创建集成

  8. 在“工具链概述”页面的“第三方工具”卡上,单击 HashiCorp Vault 以使用 HashiCorp Vault Secrets Picker 和 Pusher 组件选择机密,供工具链或交付管道使用。

使用应用程序接口配置 HashiCorp Vault

HashiCorp Vault 工具集成支持以下配置参数,您可以在 创建读取更新工具集成时使用工具 链 HTTP API 和 SDK

必须在请求主体中使用 hashicorpvault 值指定 tool_type_id 属性。

HashiCorp Vault 工具集成参数
参数 用途 类型 Terraform 自变量 描述
认证方法 必需,可更新 字符串 认证方法 HashiCorp Vault 实例的验证方法。
dashboard_url 必需,可更新 字符串 dashboard_url 该工具集成的 URL HashiCorp Vault 服务器仪表板。 在图形用户界面中,点击 HashiCorp Vault 工具集成卡后,浏览器会转到该仪表板。
默认密钥 可选,可更新 字符串 默认密钥 如果 HashiCorp Vault 实例不返回密文名称列表,则使用默认密文名称。
名称 必需,可更新 字符串 名称 此工具集成的名称。 私钥引用包含此名称以标识私钥所在的私钥存储库。 集成到工具链中的所有私钥存储工具都必须具有唯一名称,才能使私钥解析正常工作。
密码 可选,可更新 密码 密码 使用 userpass 身份验证方法时,HashiCorp Vault 实例的身份验证密码。 对于其他认证方法,将忽略此参数。 您可以将工具链私钥引用用于此参数。 有关使用私钥引用的更多信息,请参阅 在 Continuous Delivery中保护敏感数据
路径 必需,可更新 字符串 路径 HashiCorp Vault 实例中存储秘密的挂载路径。
role_id 可选,可更新 密码 role_id 使用 approle 身份验证方法时,HashiCorp Vault 实例的身份验证角色 ID。 对于其他认证方法,将忽略此参数。 将 role_id 作为私钥进行管理,并且不以纯文本形式共享此参数。 您可以将工具链私钥引用用于此参数。 有关私钥引用的更多信息,请参阅 保护 Continuous Delivery中的敏感数据
分泌过滤器 可选,可更新 字符串 分泌过滤器 正则表达式,用于过滤从 HashiCorp Vault 实例返回的秘密名称列表。
secret_id 可选,可更新 密码 secret_id 使用 approle 身份验证方法时,HashiCorp Vault 实例的身份验证密文 ID。 对于其他认证方法,将忽略此参数。 您可以将工具链私钥引用用于此参数。 有关私钥引用的更多信息,请参阅 在 Continuous Delivery中保护敏感数据
服务器网址 必需,可更新 字符串 服务器网址 HashiCorp Vault 实例的服务器 URL。
标记 可选,可更新 密码 标记 当您使用 githubtoken 身份验证方法时,HashiCorp Vault 实例的身份验证令牌。 对于其他认证方法,将忽略此参数。 您可以将工具链私钥引用用于此参数。 有关私钥引用的更多信息,请参阅 在 Continuous Delivery中保护敏感数据
用户名 可选,可更新 字符串 用户名 使用 userpass 身份验证方法时,HashiCorp Vault 实例的身份验证用户名。 对于其他认证方法,将忽略此参数。

了解更多关于 HashiCorp Vault

要了解有关 HashiCorp Vault 的更多信息,请参阅 HashiCorp Vault.