使用单一授权删除密钥
如果您是 Key Protect 实例的管理者,那么可以使用 IBM® Key Protect for IBM Cloud® 来删除加密密钥及其密钥资料。
在删除密钥之前,请确保查看 删除和清除密钥之前的注意事项。
在控制台中删除密钥
缺省情况下,Key Protect 需要一个权限才能删除密钥。 如果希望通过图形界面删除加密密钥,可以使用IBM Cloud控制台。
在您创建密钥或将现有密钥导入服务后,请完成以下步骤以删除密钥:
-
转到菜单>资源清单查看资源列表。
-
从 IBM Cloud 资源列表中,选择您供应的 Key Protect 实例。
-
在应用程序详细信息页面中,使用密钥表来浏览服务中的密钥。
-
单击 ⋯ 图标以打开要删除的密钥的选项列表。
-
从选项菜单中,单击 删除密钥,并在下一个屏幕中通过确保密钥没有关联的资源来确认密钥删除。 请注意,如果密钥正在保护由于 保留策略 而不可擦除的已注册 IBM Cloud 资源,那么您将无法删除该密钥。
删除密钥后,该密钥将转入“已销毁”状态。 处于此状态的密钥加密的任何数据都不再可访问。 与密钥关联的元数据(例如,密钥的删除日期)会保存在 Key Protect 数据库中。 销毁的密钥最多可在 30 天后或其到期日期 (以较早者为准) 恢复。 在 30 天后,密钥将无法再恢复,并且在 90 天后有资格清除,这是一个将密钥材料粉碎并使其元数据不可访问的过程。
如果用户 具有 KeyPurge 属性,那么他们可以在 4 小时后清除密钥。 请查看 在控制台中清除密钥 以获取更多信息。
在控制台中清除密钥
如果在 90 天之前清除密钥对用例很重要 (在正常删除后可以清除最快的密钥),那么如果用户 具有 KeyPurge 角色,那么可以在 4 小时之后清除密钥。
由于已清除的密钥具有永久粉碎的密钥材料和不可访问的元数据,因此无法复原已清除的密钥。 因此,更重要的是确保密钥没有重要的相关资源。
要清除密钥:
-
遵循指示信息以 删除密钥。
-
等待至少 4 个小时后,再次浏览至密钥并单击 ... 图标。
-
从选项中,从以下选项中选择 清除,并在下一个屏幕中确认删除密钥,方法是确保密钥没有关联的资源,并且您具有必需的
KeyPurge
用户属性。
使用 API 删除密钥
如果用户 具有 KeyPurge 角色,那么他们可以在 4 小时后清除密钥。
缺省情况下,Key Protect 需要一个权限才能删除密钥。 您可以通过 DELETE
调用以下端点来删除密钥及其内容。
https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>
如果密钥正在主动保护一个或多个云资源,那么此操作将不会成功。 您可以 查看与密钥关联的资源,或者在查询时 使用 force
参数 来删除密钥。
-
读取要删除的键的 ID。
您可以在以下位置找到密钥的标识: Key Protect 实例 检索密钥列表,或者通过访问 Key Protect 仪表板。
-
运行以下
curl
命令删除密钥及其内容。$ curl -X DELETE \ "https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "x-kms-key-ring: <key_ring_ID>" \ -H "prefer: <return_preference>"
根据下表替换示例请求中的变量。
变量 | 描述 |
---|---|
区域 | 需要。 地区缩写,如 us-south 或 eu-gb,表示Key Protect实例所在的地理区域 For more information, see 区域服务终端. |
keyID_or_alias | 需要。 要删除的密钥的唯一标识符或别名。 |
IAM_token | 需要。 您的 IBM Cloud 访问令牌。 在curl请求中包含IAM令牌的全部内容,包括承载器值 For more information, see 读取访问令牌. |
instance_ID | 需要。 分配给Key Protect服务实例的唯一标识符 For more information, see 检索实例 ID. |
key_ring_ID | 可选。 密钥所属的密钥环的唯一标识。 如果未指定,那么 Key Protect 将在与指定实例关联的每个密钥环中搜索密钥。 建议为更优化的请求指定密钥环标识。 注: 在没有 x-kms-key-ring 头的情况下创建的密钥的密钥环标识为: 缺省值。有关更多信息,请参阅 分组键。 |
返回首选项 | 可选:改变 POST 和 DELETE 操作服务器行为的标头 When you set the return_preference variable to return=minimal, the service returns a successful deletion response. 将变量设置为 return=representation 时,服务会同时返回密钥材料和密钥元数据。 |
If the return_preference
variable is set to return=representation
, the details of the DELETE
request are returned in the response entity-body.
删除密钥后,它将过渡到 已取消激活 密钥状态。 在 24 小时后,如果未恢复密钥,那么密钥将过渡到 已销毁 状态。 已删除的密钥最多可恢复 30 天或直至其到期日期,之后将粉碎密钥内容并使其元数据不可访问。
以下 JSON 对象显示返回值示例。
{
"metadata": {
"collectionType": "application/vnd.ibm.kms.key+json",
"collectionTotal": 1
},
"resources": [
{
"type": "application/vnd.ibm.kms.key+json",
"id": "02fd6835-6001-4482-a892-13bd2085f75d",
"name": "test-root-key",
"aliases": [
"alias-1",
"alias-2"
],
"state": 5,
"extractable": false,
"crn": "crn:v1:bluemix:public:kms:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:12e8c9c2-a162-472d-b7d6-8b9a86b815a6:key:02fd6835-6001-4482-a892-13bd2085f75d",
"imported": false,
"creationDate": "2020-03-10T20:41:27Z",
"createdBy": "...",
"algorithmType": "Deprecated",
"algorithmMetadata": {
"bitLength": "256",
"mode": "Deprecated"
},
"algorithmBitSize": 256,
"algorithmMode": "Deprecated",
"lastUpdateDate": "2020-03-16T20:41:27Z",
"dualAuthDelete": {
"enabled": false
},
"deleted": true,
"deletionDate": "2020-03-16T21:46:53Z",
"deletedBy": "..."
}
]
}
有关可用参数的详细说明,请参阅Key ProtectREST API 参考文档。REST API 参考文档。
使用 force
查询参数
Key Protect 阻止删除保护云资源的密钥,例如 Cloud Object Storage 存储区。 您可以通过对以下端点进行 DELETE
调用来强制删除密钥及其内容。
https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>?force=true
删除具有与其关联的注册的密钥时,将立即取消激活其密钥材料以及由该密钥加密的数据。 任何由密钥加密的数据都将变为不可访问。 删除密钥 30 天后,无法再恢复密钥,90 天后将销毁密钥材料。
如果密钥正在保护已注册的 IBM Cloud 资源 (由于 保留时间策略 是 IBM Cloud 资源上设置的“一次写入多读”(WORM) 策略集),那么强制删除密钥不会成功。 通过检查密钥 注册详细信息 中的'preventKeyDeletion"字段,可以验证密钥是否与不可删除资源相关联。 然后,必须与帐户所有者联系,以除去与密钥关联的每个已注册 IBM Cloud 资源上的保留时间策略,然后才能删除密钥。
-
读取要强制删除的键的 ID。
您可以通过创建
GET /v2/keys/
来检索指定密钥的标识 请求,或者通过在 Key Protect 仪表板。 -
运行以下
curl
命令,强制删除密钥及其内容。$ curl -X DELETE \ "https://<region>.kms.cloud.ibm.com/api/v2/keys/<keyID_or_alias>?force=true" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "prefer: <return_preference>"
根据下表替换示例请求中的变量。
变量 | 描述 |
---|---|
区域 | 需要。 地区缩写,如 us-south 或 eu-gb ,表示您的Key Protect实例所在的地理区域For more information, see 区域服务终端. |
keyID_or_alias | 需要。 要删除的密钥的唯一标识符或别名。 |
IAM_token | 需要。 您的 IBM Cloud 访问令牌。 在curl请求中包含IAM令牌的全部内容,包括承载器值 有关更多信息,请参阅 检索访问令牌。 |
instance_ID | 需要。 分配给Key Protect服务实例的唯一标识符 For more information, see 检索实例 ID. |
返回首选项 | 可选。 改变 POST 和 DELETE 操作服务器行为的标头 When you set the return_preference variable to return=minimal, the service returns a successful deletion response. 将变量设置为 return=representation 时,服务会同时返回密钥材料和密钥元数据。 |
If the return_preference
variable is set to return=representation
, the details of the DELETE
request are returned in the response entity-body.
删除密钥后,它将过渡到 已取消激活 密钥状态。 在 24 小时后,如果未恢复密钥,那么密钥将过渡到 已销毁 状态。 删除的密钥最多可在 30 天后或其到期日期 (以较早者为准) 恢复。 在此之后,将永久粉碎密钥内容,并且无法再访问其元数据。
以下 JSON 对象显示返回值示例。
{
"metadata": {
"collectionType": "application/vnd.ibm.kms.key+json",
"collectionTotal": 1
},
"resources": [
{
"id": "2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
"type": "application/vnd.ibm.kms.key+json",
"aliases": [
"alias-1",
"alias-2"
],
"name": "test-root-key",
"description": "...",
"state": 5,
"expirationDate": "2020-03-15T20:41:27Z",
"crn": "crn:v1:bluemix:public:kms:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:30372f20-d9f1-40b3-b486-a709e1932c9c:key:2291e4ae-a14c-4af9-88f0-27c0cb2739e2",
"deleted": true,
"algorithmType": "AES",
"createdBy": "...",
"deletedBy": "...",
"creationDate": "2020-03-10T20:41:27Z",
"deletionDate": "2020-03-16T21:46:53Z",
"lastUpdateDate": "2020-03-16T20:41:27Z",
"extractable": true
}
]
}
有关可用参数的详细说明,请参阅Key ProtectREST API 参考文档。REST API 参考文档。
密钥清除
删除密钥时,将立即取消激活其密钥资料,并将其移至 Key Protect 服务中的后备存储器。 删除密钥 4 小时后,该密钥变为可用以手动清除。 删除密钥 30 天后,密钥将变为不可恢复,密钥材料将被销毁。 在删除密钥 90 天后,如果未手动清除,那么该密钥将有资格自动清除,并且将从 Key Protect 服务中永久除去或“硬删除”其所有关联数据。
有关删除和清除密钥的更多信息,请查看 关于删除和清除密钥。
下表列出了可用于检索与已删除密钥相关的数据的 API。
API | 描述 |
---|---|
获取密钥 | 检索密钥详细信息 |
获取密钥元数据 | 检索密钥元数据 |
获取注册 | 检索与密钥关联的注册列表 |