IBM Cloud Docs
使用双重授权删除密钥

使用双重授权删除密钥

您可以使用 IBM Cloud® Hyper Protect Crypto Services 通过使用双重授权过程来安全地删除根密钥或标准密钥。

在删除密钥之前,请确保您了解 删除和清除密钥的概念,并查看 注意事项

使用双重授权删除密钥的注意事项

删除具有 双重授权策略 需要来自两个用户的授权。 与 Hyper Protect Crypto Services 密钥管理服务 API,您可以通过以下方式提供第一个授权: 设置用于删除的键。 然后,另一个用户通过使用 UI 或密钥管理服务 API 来删除密钥,从而提供第二个授权。

在使用双重授权删除密钥之前:

  • 确定谁可以授权删除 Hyper Protect Crypto Services 资源。 要使用双重授权,请确保标识可设置要删除的密钥的用户,以及可删除该密钥的其他用户。 具有 写入者管理者 访问策略的用户可以设置要删除的密钥。 具有_经理_访问策略可以删除密钥。
  • 计划在 7 天的等待时间内删除密钥。 当第一个用户授权密钥进行删除时,Hyper Protect Crypto Services 会在密钥上设置 7 天的等待周期。 在此期间,密钥保持处于 活动状态,并且允许对密钥执行所有密钥操作。 要完成删除,具有 Manager 访问策略的第二个用户可以使用 UI 或 API 来删除密钥。
  • 在删除密钥 90 天后,密钥及其关联数据变为不可访问。 删除密钥时,可以在删除后 30 天内复原该密钥。 您最多可以检索 90 天内的关联数据,例如密钥元数据,注册和策略。 90 天后,密钥将有资格自动清除,并且其关联数据将从实例中永久除去。

使用 UI 授权删除密钥

步骤 1. 授权删除密钥

对实例启用双重授权 或对密钥启用 双重授权 之后,您可以提供第一个使用 UI 删除密钥的授权。

  1. 登录 UI
  2. 菜单>资源列表查看您的资源列表。
  3. 从 IBM Cloud 资源列表,选择 Hyper Protect Crypto Services 的已供应实例。
  4. KMS 密钥页面,使用按键表来浏览您的服务中的密钥。
  5. 点击操作图标操作图标 打开要删除的键的选项列表。
  6. 从选项菜单中,单击 调度密钥删除 并查看密钥的关联资源。
  7. 输入要删除的密钥的名称,然后单击 调度密钥删除
  8. 请与第二个核准人联系以完成密钥的删除。

步骤 2. 删除密钥

要删除密钥,第二个核准人必须具有实例或密钥的 管理者 访问策略,才能授权密钥进行删除。

  1. 在“KMS 密钥”页面的 密钥 表中,您可以找到有权使用以下指示符进行删除的密钥:

    • Set for deletion 列的值为 True。 授权到期时间显示在 Deletion expiration 列中。
    • 时钟 图标 "时间" 图标 显示在 State 列中。 将鼠标悬停在图标上以查看删除到期日期。
  2. 要删除密钥,请遵循 使用 UI 删除密钥 中的指示信息。

Hyper Protect Crypto Services 设置在您提供删除密钥的第一个授权后开始的 7 天等待周期。 在此期间 7-day-period,键保持在 允许对密钥执行 活动状态 和所有密钥操作。 如果第二个用户未执行任何操作,并且 7 天的时间段到期,那么必须 重新启动双重授权过程 以删除密钥。

使用 API 授权删除密钥

步骤 1. 授权删除密钥

在启用双重授权 对于实例用于密钥 之后,您可以通过对以下端点进行 POST 调用来提供删除密钥的第一个授权。

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/actions/setKeyForDeletion
  1. 检索认证凭证以使用服务中的密钥

    要设置要删除的密钥,必须为您分配实例或密钥的 管理器写程序 访问策略。 了解 IAM 角色如何映射到 Hyper Protect Crypto Services 操作,检出 服务访问角色

  2. 复制要设置或授权删除的密钥的标识。

  3. 提供第一次授权来删除密钥。

    curl -X POST \
      'https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/actions/setKeyForDeletion' \
      -H 'accept: application/vnd.ibm.kms.key_action+json' \
      -H 'authorization: Bearer <IAM_token>' \
      -H 'bluemix-instance: <instance_ID>' \
      -H 'content-type: application/vnd.ibm.kms.key_action+json'
    

    根据下表替换示例请求中的变量。

    表 1. 描述设置用于删除的键所需的变量
    变量 描述
    region 必需。 地区缩写,例如 us-south 或者 eu-de,代表您的Hyper Protect Crypto Services实例驻留。 有关更多信息,请参阅区域服务端点
    key_ID 必需。 您要删除的根密钥的唯一标识符。
    IAM_token 必需。 您的 IBM Cloud 访问令牌。 在 cURL 请求中包含 IAM 令牌的完整内容,包括 Bearer 值。 有关详细信息,请参阅For more information, see 检索访问令牌
    instance_ID 必需。 分配给您的Hyper Protect Crypto Services实例。 有关详细信息,请参阅For more information, see 检索实例 ID

    成功的请求将返回 HTTP 204 No Content 响应,这指示您的密钥已授权删除。 具有 现在可以使用 Manager 访问策略 使用 UI 或密钥管理服务 API 删除密钥

    如果需要阻止删除已授权删除的密钥,可以通过调用来除去现有授权 POST /api/v2/keys/<key_ID>/actions/unsetKeyForDeletion.

步骤 2. 删除密钥

设置要删除的密钥后,具有 Manager 访问策略的第二个用户可以安全地删除该密钥。

Hyper Protect Crypto Services 设置在您提供删除密钥的第一个授权后开始的 7 天等待周期。 在此期间 7-day-period,键保持在 允许对密钥执行 活动状态 和所有密钥操作。 如果第二个用户未执行任何操作,并且 7 天的时间段到期,那么必须 重新启动双重授权过程 以删除密钥。

要删除密钥和内容,请按照 使用 API 删除密钥 中的指示信息对服务端点进行 DELETE 调用。

除去现有授权

如果需要在 7 天等待期到期之前取消密钥的授权,那么可以通过对以下端点进行 POST 调用来除去现有授权。

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/actions/unsetKeyForDeletion
  1. 检索认证凭证以使用服务中的密钥

    要除去删除密钥的权限,必须为您分配实例或密钥的 管理者写程序 访问策略。 要了解 IAM 角色如何映射到 Hyper Protect Crypto Services 操作,请查看 服务访问角色

  2. 复制要取消设置或取消授权以进行删除的密钥的标识。

  3. 移除现有的授权以删除密钥。

    curl -X POST \
      'https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/actions/setKeyForDeletion' \
      -H 'accept: application/vnd.ibm.kms.key_action+json' \
      -H 'authorization: Bearer <IAM_token>' \
      -H 'bluemix-instance: <instance_ID>' \
      -H 'content-type: application/vnd.ibm.kms.key_action+json'
    

    根据下表替换示例请求中的变量。

    表 2. 描述取消设置要删除的密钥所需的变量
    变量 描述
    region 必需。 地区缩写,例如 us-south 或者 eu-de,代表您的Hyper Protect Crypto Services实例驻留。 有关更多信息,请参阅区域服务端点
    key_ID 必需。 您要删除的根密钥的唯一标识符。
    IAM_token 必需。 您的 IBM Cloud 访问令牌。 在 cURL 请求中包含 IAM 令牌的完整内容,包括 Bearer 值。 有关详细信息,请参阅For more information, see 检索访问令牌
    instance_ID 必需。 分配给您的Hyper Protect Crypto Services实例。 有关详细信息,请参阅For more information, see 检索实例 ID

    成功的请求将返回 HTTP 204 No Content 响应,这指示您的密钥不再有权删除。 如果需要重新启动双重授权过程,可以发出另一个授权 到 设置用于删除的键

下一步