配置 HashiCorp Vault
DevOps Insights 该服务将于 2026 年 8 月 31 日停止提供并终止。Continuous Delivery 将于 2027 年 2 月 12 日在以下区域停止提供:au-syd、ca-tor、us-east。 Code Risk Analyzer 也将于该日期在所有地区停止提供服务。 如果某个区域未实际使用这些功能,该区域内的相关功能可能会提前停用,并停止接受新实例。 了解更多
您可以将 HashiCorp Vault 配置为工具链中的一个工具集成,这样就可以访问和引用 HashiCorp Vault 服务器中安全存储的秘密。
在为您的工具链配置 HashiCorp Vault 工具集成之前,您需要有访问 HashiCorp Vault 服务器权限的身份验证方法和相关凭证。 例如,如果 authentication_method 是 github,那么您必须知道 token 凭证。 您还需要知道 server url,integration url 和 secrets path 的值。 如果 HashiCorp Vault 服务器绑定到特定端口,请在服务器 url 中包含端口号。 例如,https://192.168.0.100:8200。
HashiCorp Vault 工具集成仅支持按名称引用秘密。 若需通过CRN使用机密引用,必须采用 工具集成 Secrets Manager 方案。
配置 HashiCorp Vault,以安全地管理 API 密钥和属于工具链或交付管道一部分的机密:
-
如果您在创建工具链时配置此工具集成,并且在您配置的模板中存在 HashiCorp Vault 工具集成,请单击 HashiCorp Vault 选项卡。 或者,在“更多工具”部分,点击 HashiCorp Vault.
-
若您已拥有工具链并需向其中添加此工具集成,请在控制 IBM Cloud 台中点击菜单图标 (
)> 平台自动化 > 工具链。 在“工具链”页面上,单击某个工具链以打开其“概述”页面。
a. 单击 “添加工具”。
b. 在“工具集成”部分,单击 HashiCorp Vault。
-
在工具链中的“HashiCorp Vault”卡片上,输入您希望为此工具集成显示的名称。 私钥名称支持
a-z,A-Z和0-9范围内的字符以及空格字符。 不允许使用这些范围之外的字符,这将阻止解析私钥。 例如,my.secret是无效的私钥名称,但my-secret有效。 -
请输入您希望在点击工具链中的“HashiCorp Vault”卡片时打开的 HashiCorp Vault 服务器的 URL。 确保 URL 以
http或https协议为前缀,以 HashiCorp Vault 端口号结尾,如https://www.acme.com:8200。 -
为 HashiCorp Vault 工具集成键入 URL。 此值可以是任何有效的 URL,如与组织的 HashiCorp Vault 服务器 Web UI 控制台或文档相关的特定组织 URL。
-
键入 HashiCorp Vault 服务器上秘密的路径,使用配置的身份验证方法和相关身份验证凭据时可访问该秘密。 此值必须仅包含私钥路径,并且不能在私钥路径末尾包含私钥名称。 如果认证凭证包含指定私钥路径中的相关 LIST 许可权,那么您可以查看该路径中的私钥列表。
-
单击创建集成。
-
在“工具链概述”页面的“第三方工具”卡上,单击 HashiCorp Vault 以使用 HashiCorp Vault Secrets Picker 和 Pusher 组件选择机密,供工具链或交付管道使用。
使用应用程序接口配置 HashiCorp Vault
HashiCorp Vault 工具集成支持以下配置参数,您可以在 创建、读取和 更新工具集成时使用工具 链 HTTP API 和 SDK。
必须在请求主体中使用 hashicorpvault 值指定 tool_type_id 属性。
| 参数 | 用途 | 类型 | 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。 |
| 标记 | 可选,可更新 | 密码 | 标记 | 当您使用 github 和 token 身份验证方法时,HashiCorp Vault 实例的身份验证令牌。 对于其他认证方法,将忽略此参数。 您可以将工具链私钥引用用于此参数。 有关私钥引用的更多信息,请参阅 在 Continuous Delivery中保护敏感数据。 |
| 用户名 | 可选,可更新 | 字符串 | 用户名 | 使用 userpass 身份验证方法时,HashiCorp Vault 实例的身份验证用户名。 对于其他认证方法,将忽略此参数。 |
了解更多关于 HashiCorp Vault
要了解有关 HashiCorp Vault 的更多信息,请参阅 HashiCorp Vault.