配置 HashiCorp 保险库文件
您可以将 HashiCorp 保险库文件配置为工具链中的工具集成,以便可以访问并引用 HashiCorp 保险库文件服务器中安全存储的私钥。
在为工具链配置 HashiCorp 保险库文件工具集成之前,需要具有许可权的认证方法和关联凭证来访问要连接到的 HashiCorp 保险库文件服务器。 例如,如果 authentication_method
是 github
,那么您必须知道 token
凭证。 您还需要知道 server url
,integration url
和 secrets path
的值。 如果 HashiCorp 保险库服务器绑定到特定端口,请在服务器 URL 中包含端口号。 例如,https://192.168.0.100:8200
。
HashiCorp 保险库文件工具集成仅支持按名称列出的私钥引用。 如果要使用 CRN 的私钥引用,那么必须使用 Secrets Manager 工具集成。
配置 HashiCorp 保险库文件以安全地管理属于工具链或交付管道的私钥 (例如 API 密钥和私钥):
-
如果要在创建工具链时配置此工具集成,并且要配置的模板中存在 HashiCorp 保险库文件工具集成,请单击 HashiCorp 保险库文件 选项卡。 或者,在 更多工具 部分中,单击 HashiCorp 保险库文件。
-
如果您有一个工具链并要将此工具集成添加到其中,请从IBM Cloud控制台单击菜单图标
>平台自动化>工具链。 在“工具链”页面,单击工具链打开其“概述”页面。 或者,在应用程序“概述”页面的“持续交付”卡上,单击查看工具链。 然后,单击概述。
a. 单击添加工具。
b. 在工具集成部分,单击 HashiCorpVault。
-
输入要在工具链中的HashiCorpVault 卡上显示的工具集成名称。 私钥名称支持
a-z
,A-Z
和0-9
范围内的字符以及空格字符。 不允许使用这些范围之外的字符,这将阻止解析私钥。 例如,my.secret
是无效的私钥名称,但my-secret
有效。 -
从工具链中点击HashiCorpVault 卡时,键入要打开的HashiCorpVault 服务器的 URL。 请确保此 URL 以
http
或https
协议为前缀,并以 HashiCorp 保险库文件端口号 (例如https://www.acme.com:8200
) 结尾。 -
输入 HashiCorp 保险库文件工具集成的 URL。 此值可以是任何有效的 URL,例如与贵组织的HashiCorpVault 服务器Web UI或文档相关的特定组织 URL。
-
输入当您使用配置的认证方法和关联的认证凭证时可访问的 HashiCorp 保险库服务器上的私钥的路径。 此值必须仅包含私钥路径,并且不能在私钥路径末尾包含私钥名称。 如果认证凭证包含指定私钥路径中的相关 LIST 许可权,那么您可以查看该路径中的私钥列表。
-
单击创建集成。
-
在“工具链的概述”页面上的 第三方工具 卡上,单击 HashiCorp 保险库文件 以使用 HashiCorp 保险库文件私钥选取器和推送组件来选择要在工具链或交付管道中使用的私钥。
使用 API 配置 HashiCorp 保险库文件
HashiCorp 保险库文件工具集成支持以下配置参数,当您 创建,读取和 更新 工具集成时,可以将这些配置参数与 Toolchain HTTP API 和 SDK 配合使用。
必须在请求主体中使用 hashicorpvault
值指定 tool_type_id
属性。
参数 | 用途 | Type | Terraform 自变量 | 描述 |
---|---|---|---|---|
authentication_method | 必需,可更新 | 字符串 | authentication_method | HashiCorp 保险库文件实例的认证方法。 |
dashboard_url | 必需,可更新 | 字符串 | dashboard_url | 用于此工具集成的 HashiCorp 保险库服务器仪表板的 URL。 在图形 UI 中,当您单击 HashiCorp 保险库文件工具集成卡时,浏览器将转至此仪表板。 |
default_secret | 可选,可更新 | 字符串 | default_secret | 如果 HashiCorp 保险库文件实例未返回私钥名称列表,那么将使用缺省私钥名称。 |
名称 | 必需,可更新 | 字符串 | 名称 | 此工具集成的名称。 私钥引用包含此名称以标识私钥所在的私钥存储库。 集成到工具链中的所有私钥存储工具都必须具有唯一名称,才能使私钥解析正常工作。 |
密码 | 可选,可更新 | 密码 | 密码 | 使用 userpass 认证方法时,HashiCorp 保险库文件实例的认证密码。 对于其他认证方法,将忽略此参数。 您可以将工具链私钥引用用于此参数。 有关使用私钥引用的更多信息,请参阅 在 Continuous Delivery中保护敏感数据。 |
路径 | 必需,可更新 | 字符串 | 路径 | 私钥存储在 HashiCorp 保险库文件实例中的安装路径。 |
role_id | 可选,可更新 | 密码 | role_id | 使用 approle 认证方法时 HashiCorp 保险库文件实例的认证角色标识。 对于其他认证方法,将忽略此参数。 将 role_id 作为私钥进行管理,并且不以纯文本形式共享此参数。 您可以将工具链私钥引用用于此参数。 有关私钥引用的更多信息,请参阅 保护 Continuous Delivery中的敏感数据。 |
分泌过滤器 | 可选,可更新 | 字符串 | 分泌过滤器 | 用于过滤从 HashiCorp 保险库文件实例返回的私钥名称列表的正则表达式。 |
secret_id | 可选,可更新 | 密码 | secret_id | 使用 approle 认证方法时,HashiCorp 保险库文件实例的认证密钥标识。 对于其他认证方法,将忽略此参数。 您可以将工具链私钥引用用于此参数。 有关私钥引用的更多信息,请参阅 在 Continuous Delivery中保护敏感数据。 |
server_url | 必需,可更新 | 字符串 | server_url | HashiCorp 保险库文件实例的服务器 URL。 |
标记 | 可选,可更新 | 密码 | 标记 | 使用 github 和 token 认证方法时,HashiCorp 保险库文件实例的认证令牌。 对于其他认证方法,将忽略此参数。 您可以将工具链私钥引用用于此参数。 有关私钥引用的更多信息,请参阅 在 Continuous Delivery中保护敏感数据。 |
用户名 | 可选,可更新 | 字符串 | 用户名 | 使用 userpass 认证方法时 HashiCorp 保险库文件实例的认证用户名。 对于其他认证方法,将忽略此参数。 |
了解有关 HashiCorp 保险库文件的更多信息
要了解有关 HashiCorp 保险库文件的更多信息,请参阅 HashiCorp 保险库文件。