配置 Key Protect
DevOps Insights 该服务将于 2026年8月31日 停止提供并终止。Continuous Delivery 将于 2027 年 2 月 12 日在以下地区停止提供:au-syd、ca-mon、ca-tor、美国东部。 Code Risk Analyzer 也将于该日期在所有地区停止提供服务。 如果某个区域未实际使用这些功能,该区域内的相关功能可能会提前停用,并停止接受新实例。 了解更多
IBM® Key Protect for IBM Cloud® 帮助您在 IBM Cloud 服务中安全地存储和应用应用程序的机密。
私钥 是提供对敏感信息 (例如 API 密钥) 的访问权的任何内容。 如果将私钥作为标准密钥存储在 Key Protect中,那么可以使用此工具集成在工具链工作流程中需要私钥的任何位置访问私钥。 要在 Key Protect中了解有关标准密钥的更多信息,请参阅 密钥类型。
在配置 Key Protect 工具集成之前,请确保在要创建工具集成的区域和资源组中提供了 Key Protect 服务实例。 在某些情况下,可以自动生成 Key Protect 服务实例。 例如,如果您正在铸造一个新的 API 密钥,并选择将其存储为机密以供日后使用,您就会自动生成 Key Protect 服务实例。 有关调配 Key Protect 服务实例的说明,请参阅 调配 服务。
配置 Key Protect 以安全地管理属于工具链的私钥:
-
如果您在创建工具链时配置此工具集成,请在“可配置的集成”部分中,单击 Key Protect。 如果 Key Protect 定义为可选工具集成,那么它位于 更多工具下。 要在工具链与 Key Protect 服务实例之间创建授权,请从 授权类型 下拉列表中选择 为此工具链创建授权 选项。 这将授予工具链对存储在 Key Protect 服务实例中的私钥材料的访问权。
-
如果您有一个工具链并要将此工具集成添加到其中,请从IBM Cloud控制台单击菜单图标
>平台自动化>工具链。 在“工具链”页面上,单击某个工具链以打开其“概述”页面。 或者,在应用的“概览”页面上,点击“Continuous Delivery”卡片中的 “查看工具链”。 然后,单击概述。
a. 单击 “添加工具”。
b. 在“工具集成”部分中,单击 Key Protect。
-
指定要在工具链中使用的 Key Protect 工具集成的此实例的名称。 您指定的名称将在选择 Key Protect 私钥的 UI 工具中使用。 它还用作在工具链运行时解析私钥值的引用的一部分。 此实例名称还显示在工具链工作空间中的 Key Protect 工具集成磁贴上。
-
查看 区域 和 资源组 的缺省值,并根据需要进行更新。
-
选择要使用的 Key Protect 服务的实例。
-
要在工具链与 Key Protect 服务实例之间创建授权,请单击 创建授权 按钮。 这将授予工具链对存储在 Key Protect 服务实例中的私钥材料的访问权。
-
单击创建集成。
-
在“工具链的概述”页面的 第三方工具 卡上,单击 Key Protect。
应用私钥
配置 Key Protect 工具集成后,可以使用它在工具链所需的任何位置应用私钥。 以下示例将存储在 Key Protect 中的私钥应用于 Pipeline 工具集成 所需的 IBM Cloud API 密钥。 您可以遵循相同的步骤将私钥应用于需要私钥值的任何 Continuous Delivery 工具集成。
您必须在 Key Protect 之前 中保存第三方机密,如 Slack webhook 或 Artifactory API 令牌,以创建新的工具链。 在使用工具链时,您可以在 Key Protect 中铸造和存储由 IBM 管理的秘密,如 IBM Cloud API 密钥。
-
单击密钥图标以从 IBM Cloud API 密钥的安全存储库 (例如 Key Protect ) 中检索密钥。
-
在 提供者 字段中,指定用于管理工具链私钥的 Key Protect 工具集成的提供者和名称。 例如,要使用 Key Protect 工具集成,请选择
Key Project: ibm-keyprotect-secrets-1。 您可以使用其他提供商来管理工具链机密,例如 HashiCorp Vault. -
选择私钥名称,然后单击 确定 以将存储的私钥应用于与其关联的字段。
您选择的私钥的名称将以胶囊形式显示。 您无法内联编辑私钥名称,但可以单击
以删除该名称。 您还可以通过再次使用“私钥选取器”控件来替换私钥名称。 如果手动输入私钥名称或将其粘贴到“私钥”字段中,那么将以不同的格式显示该私钥名称:
显示私钥的格式指示值是引用存储在后端保险库文件中的私钥还是存储在工具链中的私钥。 通过使用对密钥提供程序 (例如 Key Protect) 管理的私钥的引用,私钥值将集中并安全地存储在单个位置。 此方法可解决私钥蔓延和扩散问题,这意味着您可以在不更新工具链的情况下更新私钥。 使用私钥引用时,当工具链通过从 Key Protect动态检索来运行时,将解析实际私钥值。 当您必须定期轮换工具链私钥的值时,此方法很有用。
将 Key Protect 工具集成添加到工具链模板
您可以通过向模板存储库中的 toolchain.yml 文件添加服务定义,将 Key Protect 工具集成添加到工具链模板。 此文件是工具链的设计蓝图,包含根据该模板创建工具链实例时可用的所有工具集成。 要定制现有工具链模板以包含 Key Protect 工具集成,请插入 YAML 定义。
kp-tool:
service_id: keyprotect
parameters:
name: kp-compliance-secrets
region: us-south
resource-group: default
instance-name: ffs-secrets
setup-authorization-type: create
在某些情况下,您可以在创建工具链时动态添加 Key Protect 工具集成。 例如,如果单击“新建 ”来铸造一个新的 API 密钥,则可以选择“将此密钥保存在秘密存储区供重复使用”复选框,将 API 密钥保存在 Key Protect 实例中,以便以后再次使用。 如果您还没有 Key Protect 实例,系统会为您创建一个新实例。
使用 API 配置 Key Protect
Key Protect 工具集成支持以下配置参数,您可以在 创建、读取和 更新工具集成时使用工具 链 HTTP API 和 SDK。
必须在请求主体中使用 keyprotect 值指定 tool_type_id 属性。
| 参数 | 用途 | 类型 | Terraform 自变量 | 描述 |
|---|---|---|---|---|
| 实例名称 | 必需,可更新 | 字符串 | instance_name | Key Protect 服务实例的名称。 |
| 名称 | 必需,可更新 | 字符串 | 名称 | 此工具集成的名称。 私钥引用包含此名称以标识私钥所在的私钥存储库。 集成到工具链中的所有私钥存储工具都必须具有唯一名称,才能使私钥解析正常工作。 |
| 区域 | 必需,可更新 | 字符串 | 位置 | Key Protect 服务实例所在的 IBM Cloud 区域。 |
| resource-group | 必需,可更新 | 字符串 | 资源组名 | Key Protect 服务实例所在的资源组的名称。 |
了解更多关于 Key Protect
要了解有关 Key Protect的更多信息,请参阅 服务概述。