IBM Cloud Docs
连接到外部密钥库

连接到外部密钥库

您可以使用 Unified Key Orchestrator 通过 Unified Key Orchestrator UI 或通过 Unified Key Orchestrator API 以编程方式连接到外部密钥库。

在连接到外部密钥库之前,请记住以下注意事项:

  • 您可以连接到 IBM Cloud®上服务实例外部的密钥库,也可以从其他云提供者 (例如 Microsoft Azure Key Vault,Amazon Web Services (AWS) Key Management Service (KMS) 和 Google Cloud KMS) 进行连接。
  • 无论类型如何,您都可以免费连接到一个外部密钥库。 将向您收取额外的外部密钥库费用。 有关定价的更多信息,请参阅 常见问题解答: 定价。 将根据供应服务实例的区域应用其他货币。
  • 仅当在至少一个密钥库中激活受管密钥后,才能将其用于加密和解密。
  • 一个密钥库只能分配给一个保险库文件。

在外部密钥库中设置必需的用户访问权

您需要先设置用户访问权,然后才能使用 Unified Key Orchestrator 来访问第三方云中的密钥库。

在 Azure Key Vault 中设置必需的用户访问权

要设置用户对 Azure Key Vault 的访问权,请完成以下步骤:

  1. 在 Azure中 创建服务主体

  2. 为密钥保险库文件 设置访问策略,授予对该服务主体的访问权。

Unified Key Orchestrator 需要以下访问权才能管理 Azure 密钥保险库文件中的密钥:

  • create
  • import
  • update
  • list
  • delete
  • get
  • recover
  • purge
  • backup
  • restore

有关更多信息,请查看 分配密钥保险库访问策略

在 AWS 密钥库中设置必需的用户访问权

Unified Key Orchestrator 需要以下访问权才能管理 AWS KMS 中的密钥:

  • CancelKeyDeletion
  • CreateAlias
  • CreateKey
  • DeleteAlias
  • DeleteImportedKeyMaterial
  • DescribeKey
  • GetKeyPolicy
  • GetParametersForImport
  • ImportKeyMaterial
  • ListAliases
  • ListKeys
  • ListKeyPolicies
  • ListResourceTags
  • ScheduleKeyDeletion
  • TagResource
  • UntagResource

有关更多信息,请查看 AWS KMS 许可权

在 Google Cloud KMS 中设置必需的用户访问权

要设置用户对 Google Cloud KMS 的访问权,请完成以下步骤:

  1. 在 Google Cloud 项目中 创建服务帐户

  2. 创建服务帐户密钥 以建立服务帐户的身份。 针对密钥类型选择 JSON。 专用 JSON 密钥文件将直接在您的工作站上下载。 使用 Unified Key Orchestrator 连接到 Google Cloud KMS 密钥库时,需要提供 JSON 密钥文件。

  3. 创建 主体 并将其与服务帐户相关联,然后 将所需的 IAM 角色分配给主体。Unified Key Orchestrator 需要以下 IAM 角色才能管理 Google Cloud KMS 中的密钥:

    • Cloud KMS Admin
    • Cloud KMS Crypto Operator

使用 UI 连接到外部密钥库

要使用 UI 连接到外部密钥库,请完成以下步骤:

  1. 登录到 Hyper Protect Crypto Services 实例

  2. 从导航中单击 密钥库 以查看所有可用的密钥库。

  3. 要连接到外部密钥库,请单击 添加密钥库

  4. 保险库下,选择用于访问控制的密钥库的保险库,然后单击 下一步

    如果要将密钥库分配给新的保险库文件,请单击 创建保险库文件。 有关更多指示信息,请参阅 创建保险库文件

  5. 密钥库类型下,选择下列其中一种类型,然后单击 下一步:

    • AWS 密钥库: 创建可存储 AWS KMS 密钥的密钥库。
    • Azure Key Vault: 创建可存储 Azure Key Vault 密钥的密钥库,支持 Azure Key Vault (Premium) 和 Azure Key Vault (Standard)。
    • Google Cloud KMS 密钥库: 创建可存储 Google Cloud KMS 密钥的密钥库。
    • Key Protect: 创建可存储 Key Protect 密钥的密钥库。
    • IBM Cloud 另一个实例中的 KMS 密钥库: 创建可将 KMS 密钥存储在另一个 Hyper Protect Crypto Services 实例中的密钥库。

    您可以通过选择国家或地区或位置来更改显示的货币。 连接到第一个外部密钥库后,Unified Key Orchestrator 基础价格将额外应用。 有关定价的更多信息,请参阅 定价样本

  6. 密钥库属性下,根据要连接的密钥库类型指定详细信息。

    表 1. AWS 密钥管理服务属性
    属性 描述
    密钥库名称 便于识别密钥库的唯一人类可读名称,长度为 1-100 个字符。 第一个字符必须是字母 (区分大小写) 或数字 (0-9)。 其余部分也可以是符号 (.-_) 或空格。
    描述 (可选) 密钥库的扩展描述,长度最多为 200 个字符。
    AWS 上的区域 AWS 密钥库所在的地理位置。
    AWS 上的访问密钥标识 对 AWS KMS 的所有请求都必须使用访问密钥标识和访问密钥进行签名。 有关更多信息,请参阅 了解并获取 AWS 凭证
    AWS 上的访问密钥 对 AWS KMS 的所有请求都必须使用访问密钥标识和访问密钥进行签名。 仅当您创建密钥访问密钥时,该密钥才可供下载。
    表 2. Azure Key Vault 属性
    属性 描述
    密钥库名称 便于识别密钥库的唯一人类可读名称,长度为 1-100 个字符。 第一个字符必须是字母 (区分大小写) 或数字 (0-9)。 其余部分也可以是符号 (.-_) 或空格。
    描述 (可选) 密钥库的扩展描述,长度最多为 200 个字符。
    Azure 上的服务名称 该名称必须与 Azure中的密钥保险库文件的名称相匹配。
    Azure 上的资源组 对多个资源进行分组的逻辑构造。 从 Azure 门户网站获取。
    Azure 上的服务主体客户机标识 用于标识服务主体的应用程序的应用程序标识。
    Azure 上的服务主体密码 服务主体仅支持基于密码的认证。
    Azure 上的租户标识 租户是拥有和管理特定 Microsoft 云服务实例的组织。 使用 Microsoft Entra ID 向密钥保险库文件认证请求。
    Azure 上的预订标识 用于唯一地标识预订以使用 Azure 服务的 GUID。
    表 3。 Google Cloud KMS 密钥库属性
    属性 描述
    密钥库名称 便于识别密钥库的唯一人类可读名称,长度为 1-100 个字符。 第一个字符必须是字母 (区分大小写) 或数字 (0-9)。 其余部分也可以是符号 (.-_) 或空格。
    密钥库描述 (可选) 密钥库的扩展描述,长度最多为 200 个字符。
    上载 JSON 密钥文件 在 Google Cloud KMS 中设置必需的用户访问权 的步骤 2 中从 Google Cloud 上的服务帐户下载的专用密钥文件。 文件类型必须为 .json,最大文件大小为 4 KB。
    Google Cloud 上的项目 只读。 Google Cloud 项目的名称。 它将自动从您上载的 JSON 密钥文件中抽取。
    Google Cloud 上的位置 要用于存储 Google Cloud KMS 资源的地理区域。 有关该位置的更多详细信息,请参阅 Google Cloud KMS 位置
    Google Cloud 上的密钥环 组织密钥的密钥环的人类可读名称。 该名称在位置中必须唯一。 有关密钥环的更多信息,请参阅 密钥环
    Google Cloud 上的专用密钥标识 只读。 Google中公用/专用 RSA 密钥对的标识。 它用于建立与 Google Cloud Platform 的安全连接。 它将自动从您上载的 JSON 密钥文件中抽取。
    表 4。Key Protect 密钥库属性
    属性 描述
    密钥库名称 便于识别密钥库的唯一人类可读名称,长度为 1-100 个字符。 第一个字符必须是字母 (区分大小写) 或数字 (0-9)。 其余部分也可以是符号 (.-_) 或空格。
    描述 (可选) 密钥库的扩展描述,长度最多为 200 个字符。
    IBM Cloud 上的服务实例标识 指定给您的 Key Protect 服务实例的唯一标识。 有关更多信息,请参阅 检索实例标识和云资源名称
    IBM Cloud 上的密钥环标识 要连接到的 Key Protect 实例中密钥环的唯一标识。 有关更多信息,请参阅 使用密钥环将密钥分组在一起。 如果不确定要连接到哪个密钥环,请指定 default 以连接到缺省密钥环。
    Key Protect API 端点 Key Protect 实例的服务端点,格式为 https://<region>.kms.cloud.ibm.com。 有关更多信息,请参阅 区域和端点
    IBM Cloud Identity and Access Management 端点 IAM 的端点,即 https://iam.cloud.ibm.com
    服务标识 API 密钥 传递到 API 以标识调用应用程序的唯一代码。 有关更多信息,请参阅管理服务标识 API 密钥
    表 5。IBM Cloud Hyper Protect Crypto Services KMS 密钥库属性
    属性 描述
    密钥库名称 便于识别密钥库的唯一人类可读名称,长度为 1-100 个字符。 第一个字符必须是字母 (区分大小写) 或数字 (0-9)。 其余部分也可以是符号 (.-_) 或空格。
    描述 (可选) 密钥库的扩展描述,长度最多为 200 个字符。
    IBM Cloud 上的服务实例标识 分配给服务实例的唯一标识。 有关更多信息,请参阅 检索实例标识
    IBM Cloud 上的密钥环标识 要连接到的 Hyper Protect Crypto Services 实例标准套餐中密钥环的唯一标识。 有关更多信息,请参阅 管理密钥环。 如果不确定要连接到哪个密钥环,请指定 default 以连接到缺省密钥环。
    密钥管理端点 Hyper Protect Crypto Services 实例的服务端点,格式为 https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud。 您可以通过 概述 > 连接 > 密钥管理端点 URL* * 在供应的服务实例 UI 仪表板中获取 <region><instance_ID>
    IBM Cloud Identity and Access Management 端点 IAM 的端点,即 https://iam.cloud.ibm.com
    服务标识 API 密钥 传递到 API 以标识调用应用程序的唯一代码。 有关更多信息,请参阅管理服务标识 API 密钥

    在连接密钥库之后,无法对标识以“锁定”图标标记的属性进行进一步更改。

  7. (可选) 单击 测试连接 以测试与您配置的外部密钥库的连接。 完成后,单击 下一步 以继续。

    即使测试失败,您也可以完成后续步骤。 要在连接失败时调整连接设置,请检查并调整连接属性。 如果您连接到类型为 Microsoft Azure Key Vault 的外部密钥库,那么在单击 测试连接后,将通知您密钥库是 Azure Key Vault (Premium) 还是 Azure Key Vault (Standard)。

  8. 摘要下,查看 Azure Key Vault 的摘要以及估算的额外成本。

  9. 确认密钥库详细信息后,单击 连接到密钥库

如果您连接到类型为 Azure Key Vault 的外部密钥库,那么将在您连接到的 Azure Key Vault 实例中自动创建名为 EKMF-BYOK-KEK-FOR-IMPORT 的密钥。 您可以从 Azure Key Vault 实例 UI 中查看密钥。 请勿删除此密钥。 否则,您将无法创建受管密钥并将其分发到 Azure Key Vault 实例。 有关更多信息,请参阅 为什么无法在 Azure Key Vault 中分发密钥。

您已成功连接到您选择的外部密钥库。

使用 API 连接到外部密钥库

要通过 API 连接到外部密钥库,请执行以下步骤:

  1. 检索服务和认证凭证以使用服务中的密钥库

  2. 通过对以下端点进行 POST 调用来连接到外部密钥库。

    https://<instance_ID>.uko.<region>.hs-crypto.appdomain.cloud/api/v4/keystores
    
    

    有关使用 API 方法的详细指示信息和代码示例,请查看 Hyper Protect Crypto Services Unified Key Orchestrator API 参考文档

如果您连接到类型为 Azure Key Vault 的外部密钥库,那么将在您连接到的 Azure Key Vault 实例中自动创建名为 EKMF-BYOK-KEK-FOR-IMPORT 的密钥。 您可以从 Azure Key Vault 实例 UI 中查看密钥。 请勿删除此密钥。 否则,您将无法创建受管密钥并将其分发到 Azure Key Vault 实例。 有关更多信息,请参阅 为什么无法在 Azure Key Vault 中分发密钥。

下一步