配置 Key Protect
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
属性。
参数 | 用途 | Type | Terraform 自变量 | 描述 |
---|---|---|---|---|
实例名称 | 必需,可更新 | 字符串 | instance_name | Key Protect服务实例的名称。 |
名称 | 必需,可更新 | 字符串 | 名称 | 此工具集成的名称。 私钥引用包含此名称以标识私钥所在的私钥存储库。 集成到工具链中的所有私钥存储工具都必须具有唯一名称,才能使私钥解析正常工作。 |
区域 | 必需,可更新 | 字符串 | 位置 | Key Protect 服务实例所在的 IBM Cloud 区域。 |
资源组 | 必需,可更新 | 字符串 | resource_group_name | Key Protect 服务实例所在的资源组的名称。 |
了解有关Key Protect的更多信息
要了解有关 Key Protect的更多信息,请参阅 服务概述。