禁用根密钥
您可以使用 IBM Cloud® Hyper Protect Crypto Services 来禁用或启用根密钥,并临时撤销对云上密钥的关联数据的访问权。
作为管理员,如果您怀疑数据可能存在安全漏洞,损害或违规,那么可能需要临时禁用根密钥。 禁用根密钥时,将暂挂加密和解密操作。 确认安全风险不再处于活动状态后,可以通过启用禁用的根密钥来恢复对数据的访问权。
如果您正在使用与 Hyper Protect Crypto Services集成的云服务,那么在禁用根密钥后,数据可能不可访问。 要确定 集成服务 是否支持通过禁用 Hyper Protect Crypto Services 根密钥来撤销对数据的访问权,请参阅服务文档。
当您禁用根密钥时,该密钥将移至 暂挂状态,不能再用于以加密方式保护数据。
当您启用先前已禁用的根密钥时,该密钥将从“已暂挂”状态移至“活动密钥”状态。 此操作将复原密钥的加密和解密操作。
在禁用根密钥后,必须等待 30 秒,然后才能再次将其启用。
对于支持撤销对已禁用根密钥的访问权的集成云服务,该服务最多可能需要 4 小时才能撤销或恢复对根密钥的关联数据的访问权。 撤销或复原对关联数据的访问权后,将在 Activity Tracker Web UI 中显示相应的启用事件。
使用 UI 禁用和启用根密钥
如果您希望使用图形界面来启用或禁用根密钥,那么可以使用 UI。
禁用根密钥
在创建现有密钥或将现有密钥导入到服务中之后,请完成以下步骤以禁用密钥:
- 登录 UI。
- 转至 菜单 > 资源列表 以查看资源列表。
- 从 IBM Cloud 资源列表,选择 Hyper Protect Crypto Services 的已供应实例。
- 在“KMS 密钥”页面上,使用 密钥 表来浏览服务实例中的密钥。
- 单击 操作 图标
以打开要禁用的密钥的选项列表。
- 从选项菜单中,单击 禁用密钥,输入密钥名称以确认要禁用的密钥,然后单击 禁用密钥。
禁用密钥后,密钥的 状态 将移至 密钥 表中的 Suspended。
启用根密钥
如果要重新启用 已禁用 的根密钥,请完成以下步骤:
在禁用根密钥后,必须等待 30 秒,然后才能再次将其启用。
- 登录 UI。
- 转至 菜单 > 资源列表 以查看资源列表。
- 从 IBM Cloud 资源列表,选择 Hyper Protect Crypto Services 的已供应实例。
- 在“KMS 密钥”页面上,使用 密钥 表来浏览服务中的密钥。
- 单击 操作 图标
以打开要启用的密钥的选项列表。
- 从选项菜单中,单击 启用密钥。
启用密钥后,密钥的 状态 将传输到 密钥 表中的 Active。
使用 API 禁用和启用根密钥
禁用根密钥
禁用根密钥时,密钥将进入 暂挂状态,并且不能再用于加密数据。
对于支持撤销对禁用的根密钥的访问权的集成云服务,该服务最多可能需要 4 小时才能撤销对根密钥的关联数据的访问权。 撤销对关联数据的访问权后,将在 Activity Tracker Web UI 中显示相应的禁用事件。
您可以通过对以下端点进行 POST 调用来禁用处于“活动密钥”状态的根密钥。
https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/actions/disable
-
要禁用根密钥,必须为您分配实例或密钥的 管理者 服务访问角色。 要了解 IAM 角色如何映射到 Hyper Protect Crypto Services 服务操作,请查看 服务访问角色。
-
检索密钥管理服务 API 端点 URL。
您可以通过 概述 > 连接 > 密钥管理端点 URL 从供应的服务实例仪表板获取 API 端点。 或者,您可以使用 API 调用动态 检索 API 端点 URL。 根据需要选择公用或专用密钥管理端点 URL。
-
检索要禁用的根密钥的标识。
您可以通过发出 list keys API request或通过在 UI 中查看密钥来检索指定密钥的标识。
-
通过发出以下 API 调用,禁用根密钥并暂挂加密和解密操作。
curl -X POST \ "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/actions/disable" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "x-kms-key-ring: <key_ring_ID>"根据下表替换示例请求中的变量。
表 1. 描述使用 Hyper Protect Crypto Services API 禁用根密钥所需的变量 变量 描述 region必需。 区域缩写,例如 us-south或eu-de,表示 Hyper Protect Crypto Services 服务实例所在的地理区域。 有关更多信息,请参阅区域服务端点。port必需。 API 端点的端口号。 key_ID必需。 要禁用的根密钥的唯一标识。 IAM_token必需。 您的 IBM Cloud 访问令牌。 在 cURL 请求中包含 IAM令牌的完整内容,包括 Bearer 值。 有关更多信息,请参阅 检索访问令牌。instance_ID必需。 指定给您的 Hyper Protect Crypto Services 服务实例的唯一标识。 有关更多信息,请参阅 检索实例标识。 key_ring_ID可选。 密钥所属的密钥环的唯一标识。 如果未指定,那么 Hyper Protect Crypto Services 将在与指定实例关联的每个密钥环中搜索密钥。 因此,建议为更优化的请求指定密钥环标识。 注: 在没有
x-kms-key-ring头的情况下创建的密钥的密钥环标识为: 缺省值。 有关更多信息,请参阅 管理密钥环。成功的禁用请求将返回 HTTP
204 No Content响应,该响应指示已禁用根密钥进行加密和解密操作。 -
可选: 通过检索有关根密钥的详细信息来验证是否已禁用根密钥。
curl -X GET \ https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_id>/metadata \ -H 'authorization: Bearer <IAM_token>' \ -H 'bluemix-instance: <instance_ID>' \ -H 'accept: application/vnd.ibm.kms.key+json'请查看响应主体中的
state字段,以验证密钥是否已进入“已暂挂”密钥状态。 以下 JSON 输出显示已禁用根密钥的元数据详细信息。暂挂密钥状态的整数映射为 2。 密钥状态基于 NIST SP 800-57。
{ "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": "...", "description": "...", "tags": [ "..." ], "state": 2, "extractable": false, "crn": "crn:v1:bluemix:public:hs-crypto:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:12e8c9c2-a162-472d-b7d6-8b9a86b815a6:key:02fd6835-6001-4482-a892-13bd2085f75d", "imported": true, "creationDate": "2020-03-10T20:41:27Z", "createdBy": "...", "algorithmType": "AES", "algorithmMetadata": { "bitLength": "128", "mode": "CBC_PAD" }, "algorithmBitSize": 128, "algorithmMode": "CBC_PAD", "lastUpdateDate": "2020-03-16T20:41:27Z", "keyVersion": { "id": "30372f20-d9f1-40b3-b486-a709e1932c9c", "creationDate": "2020-03-12T03:37:32Z" }, "dualAuthDelete": { "enabled": false }, "deleted": false } ] }
启用已禁用的根密钥
当您启用先前已禁用的根密钥时,该密钥将从“已暂挂”状态移至“活动密钥”状态。 此操作将复原密钥的加密和解密操作。
对于支持撤销对已禁用根密钥的访问权的集成云服务,该服务最多可能需要 4 小时才能恢复对根密钥的关联数据的访问权。 恢复对关联数据的访问权后,将在 Activity Tracker Web UI 中显示相应的启用事件。
您可以通过对以下端点进行 POST 调用来启用处于“暂挂密钥”状态的根密钥。
https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/actions/enable
-
要启用根密钥,必须为您分配实例或密钥的 管理者 服务访问角色。 要了解 IAM 角色如何映射到 Hyper Protect Crypto Services 服务操作,请查看 服务访问角色。
-
检索密钥管理服务 API 端点 URL。
您可以通过单击 管理 > 密钥管理端点 URL 从供应的服务实例仪表板获取 API 端点,也可以使用 API 调用动态 检索 API 端点 URL。 根据需要选择公用或专用密钥管理端点 URL。
-
检索要启用的已禁用根密钥的标识。
您可以通过发出 list keys API request或通过在 Hyper Protect Crypto Services 仪表板中查看密钥来检索指定密钥的标识。
-
通过发出以下 API 调用,启用根密钥并复原加密和解密操作。
在禁用根密钥后,必须等待 30 秒,然后才能再次将其启用。
curl -X POST \ "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/actions/enable" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "x-kms-key-ring: <key_ring_ID>"根据下表替换示例请求中的变量。
表 2. 描述使用 Hyper Protect Crypto Services API 启用根密钥所需的变量 变量 描述 region必需。 区域缩写,例如 us-south或eu-de,表示 Hyper Protect Crypto Services 服务实例所在的地理区域。 有关更多信息,请参阅区域服务端点。port必需。 API 端点的端口号。 key_ID必需。 要启用的根密钥的唯一标识。 IAM_token必需。 您的 IBM Cloud 访问令牌。 在 cURL 请求中包含 IAM令牌的完整内容,包括 Bearer 值。 有关更多信息,请参阅 检索访问令牌。instance_ID必需。 指定给您的 Hyper Protect Crypto Services 服务实例的唯一标识。 有关更多信息,请参阅 检索实例标识。 key_ring_ID可选。 密钥所属的密钥环的唯一标识。 如果未指定,那么 Hyper Protect Crypto Services 将在与指定实例关联的每个密钥环中搜索密钥。 因此,建议为更优化的请求指定密钥环标识。 注: 在没有
x-kms-key-ring头的情况下创建的密钥的密钥环标识为: 缺省值。 有关更多信息,请参阅 管理密钥环。成功的启用请求将返回 HTTP
204 No Content响应,这指示已恢复根密钥以进行加密和解密操作。 -
可选: 通过检索有关根密钥的详细信息来验证是否已启用根密钥。
curl -X GET \ https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_id>/metadata \ -H 'authorization: Bearer <IAM_token>' \ -H 'bluemix-instance: <instance_ID>' \ -H 'accept: application/vnd.ibm.kms.key+json'查看响应主体中的
state字段以验证根密钥是否已移至“活动密钥”状态。 以下 JSON 输出显示活动密钥的元数据详细信息。“活动”键状态的整数映射为 1。 密钥状态基于 NIST SP 800-57。
{ "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": "...", "description": "...", "tags": [ "..." ], "state": 1, "extractable": false, "crn": "crn:v1:bluemix:public:hs-crypto:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:12e8c9c2-a162-472d-b7d6-8b9a86b815a6:key:02fd6835-6001-4482-a892-13bd2085f75d", "imported": true, "creationDate": "2020-03-10T20:41:27Z", "createdBy": "...", "algorithmType": "AES", "algorithmMetadata": { "bitLength": "128", "mode": "CBC_PAD" }, "algorithmBitSize": 128, "algorithmMode": "CBC_PAD", "lastUpdateDate": "2020-03-16T20:41:27Z", "keyVersion": { "id": "30372f20-d9f1-40b3-b486-a709e1932c9c", "creationDate": "2020-03-12T03:37:32Z" }, "dualAuthDelete": { "enabled": false }, "deleted": false } ] }