基于轮换策略的轮换根密钥
您可以使用 IBM Cloud® Hyper Protect Crypto Services为根密钥设置自动轮换策略。
为根密钥设置自动轮换策略时,将定期缩短密钥的生命周期,并限制受该密钥保护的信息量。
只能为 Hyper Protect Crypto Services 中生成的根密钥创建轮换策略。 如果最初导入的是根密钥,那么必须提供新的 Base64 编码的密钥资料,才能轮换密钥。 有关更多信息,请参阅 按需旋转根密钥。
要了解有关 Hyper Protect Crypto Services 中密钥轮换选项的更多信息吗? 请查看比较密钥轮换选项以获取更多信息。
在 UI 中管理轮换策略
如果您更愿意使用图形界面来管理根密钥的策略,那么可以使用 UI。
-
转至 菜单 > 资源列表 以查看资源列表。
-
从 IBM Cloud 资源列表,选择 Hyper Protect Crypto Services 的已供应实例。
-
在“KMS 密钥”页面上,使用 密钥 表来浏览服务中的密钥。
-
单击 操作 图标
以打开特定键的选项列表。
-
从选项菜单中,单击 编辑密钥轮换策略 以管理密钥的轮换策略。
-
将 密钥轮换 切换为 开启,并移动滑块以选择轮换频率 (以月为单元)。
如果密钥有现有轮换策略,那么界面会显示该密钥的现有轮换周期。
-
单击 保存策略 以设置密钥的策略。
根据指定的轮换时间间隔,需要轮换密钥时,Hyper Protect Crypto Services 会自动使用新密钥资料替换根密钥。
使用 API 管理轮换策略
查看轮换策略
对于高级视图,您可以通过对以下端点进行 GET
调用来浏览与根密钥关联的轮换策略。
https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/policies
-
通过运行以下 cURL 命令,检索指定密钥的轮换策略。
curl -X GET \ https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/policies \ -H 'authorization: Bearer <IAM_token>' \ -H 'bluemix-instance: <instance_ID>' \ -H 'correlation-id: <correlation_ID>' \ -H 'content-type: application/vnd.ibm.kms.policy+json'
根据下表替换示例请求中的变量。
表 1. 描述使用 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 服务实例的唯一标识。 有关更多信息,请参阅 检索实例标识。 correlation_ID
用于跟踪和关联事务的唯一标识。 成功的
GET api/v2/keys/{id}/policies
响应返回与密钥相关联的策略详细信息。 以下 JSON 对象显示有现有轮换策略的根密钥的响应示例。{ "metadata": { "collectionTotal": 1, "collectionType": "application/vnd.ibm.kms.policy+json" }, "resources": [ { "id": "a1769941-9805-4593-b6e6-290e42dd1cb5", "rotation": { "interval_month": 1 }, "createdby": "IBMid-503CKNRHR7", "createdat": "2019-03-06T16:31:05Z", "updatedby": "IBMid-503CKNRHR7", "updatedat": "2019-03-06T16:31:05Z" } ] }
interval_month
值以月为单位指示密钥轮换频率。
创建轮换策略
通过对以下端点执行 PUT
调用来为根密钥创建轮换策略。
https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/policies
-
通过运行以下 cURL 命令,创建指定密钥的轮换策略。
curl -X PUT \ https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/policies \ -H 'authorization: Bearer <IAM_token>' \ -H 'bluemix-instance: <instance_ID>' \ -H 'correlation-id: <correlation_ID>' \ -H 'content-type: application/vnd.ibm.kms.policy+json' \ -d '{ "metadata": { "collectionType": "application/vnd.ibm.kms.policy+json", "collectionTotal": 1 }, "resources": [ { "type": "application/vnd.ibm.kms.policy+json", "rotation": { "interval_month": <rotation_interval> } } ] }'
根据下表替换示例请求中的变量。
表 2. 描述使用 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 服务实例的唯一标识。 有关更多信息,请参阅 检索实例标识。 correlation_ID
用于跟踪和关联事务的唯一标识。 rotation_interval
必需。 以月为单位来确定密钥轮换时间间隔的整数值。 最小值为 1
,最大值为12
。成功的
PUT api/v2/keys/{id}/policies
响应返回与密钥相关联的策略详细信息。 以下 JSON 对象显示有现有轮换策略的根密钥的响应示例。{ "metadata": { "collectionTotal": 1, "collectionType": "application/vnd.ibm.kms.policy+json" }, "resources": [ { "id": "a1769941-9805-4593-b6e6-290e42dd1cb5", "rotation": { "interval_month": 1 }, "createdby": "IBMid-503CKNRHR7", "createdat": "2019-03-06T16:31:05Z", "updatedby": "IBMid-503CKNRHR7", "updatedat": "2019-03-06T16:31:05Z" } ] }
更新轮换策略
通过对以下端点执行 PUT
调用来为根密钥更新现有策略。
https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/policies
-
通过运行以下 cURL 命令,替换指定密钥的轮换策略。
curl -X PUT \ https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/policies \ -H 'authorization: Bearer <IAM_token>' \ -H 'bluemix-instance: <instance_ID>' \ -H 'correlation-id: <correlation_ID>' \ -H 'content-type: application/vnd.ibm.kms.policy+json' \ -d '{ "metadata": { "collectionType": "application/vnd.ibm.kms.policy+json", "collectionTotal": 1 }, "resources": [ { "type": "application/vnd.ibm.kms.policy+json", "rotation": { "interval_month": <new_rotation_interval> } } ] }'
根据下表替换示例请求中的变量。
表 3. 描述使用 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 服务实例的唯一标识。 有关更多信息,请参阅 检索实例标识。 correlation_ID
用于跟踪和关联事务的唯一标识。 new_rotation_interval
必需。 以月为单位来确定密钥轮换时间间隔的整数值。 最小值为 1
,最大值为12
。成功的
PUT api/v2/keys/{id}/policies
响应返回与密钥关联的已更新策略详细信息。 以下 JSON 对象显示具有已更新轮换策略的根密钥的响应示例。{ "metadata": { "collectionTotal": 1, "collectionType": "application/vnd.ibm.kms.policy+json" }, "resources": [ { "id": "a1769941-9805-4593-b6e6-290e42dd1cb5", "rotation": { "interval_month": 2 }, "createdby": "IBMid-503CKNRHR7", "createdat": "2019-03-06T16:31:05Z", "updatedby": "IBMid-820DPWINC2", "updatedat": "2019-03-10T12:24:22Z" } ] }
已为密钥更新策略详细信息中的
interval_month
和updatedat
值。 如果不同用户更新了您最初创建的密钥的策略,那么updatedby
值也会发生更改,以为发送请求的人员显示标识。
下一步
- 设置轮换策略并轮换根密钥后,新的密钥资料将可用于保护与根密钥关联的数据加密密钥 (DEK)。 了解如何在不公开纯文本格式的密钥的情况下对 DEKS 进行重新加密或重新包装,请参阅 重新包装密钥。
- 要了解包络加密如何帮助您控制云中静态数据的安全性,请参阅 使用包络加密保护数据。
- 要了解有关以编程方式管理密钥的更多信息,请 查看 Hyper Protect Crypto Services 密钥管理服务 API 参考文档。