IBM Cloud Docs
基于轮换策略的轮换根密钥

基于轮换策略的轮换根密钥

您可以使用 IBM Cloud® Hyper Protect Crypto Services为根密钥设置自动轮换策略。

为根密钥设置自动轮换策略时,将定期缩短密钥的生命周期,并限制受该密钥保护的信息量。

只能为 Hyper Protect Crypto Services 中生成的根密钥创建轮换策略。 如果最初导入的是根密钥,那么必须提供新的 Base64 编码的密钥资料,才能轮换密钥。 有关更多信息,请参阅 按需旋转根密钥

要了解有关 Hyper Protect Crypto Services 中密钥轮换选项的更多信息吗? 请查看比较密钥轮换选项以获取更多信息。

在 UI 中管理轮换策略

如果您更愿意使用图形界面来管理根密钥的策略,那么可以使用 UI。

  1. 登录 UI

  2. 转至 菜单 > 资源列表 以查看资源列表。

  3. 从 IBM Cloud 资源列表,选择 Hyper Protect Crypto Services 的已供应实例。

  4. 在“KMS 密钥”页面上,使用 密钥 表来浏览服务中的密钥。

  5. 单击 操作 图标 "操作" 图标 以打开特定键的选项列表。

  6. 从选项菜单中,单击 编辑密钥轮换策略 以管理密钥的轮换策略。

  7. 密钥轮换 切换为 开启,并移动滑块以选择轮换频率 (以月为单元)。

    如果密钥有现有轮换策略,那么界面会显示该密钥的现有轮换周期。

  8. 单击 保存策略 以设置密钥的策略。

根据指定的轮换时间间隔,需要轮换密钥时,Hyper Protect Crypto Services 会自动使用新密钥资料替换根密钥。

使用 API 管理轮换策略

查看轮换策略

对于高级视图,您可以通过对以下端点进行 GET 调用来浏览与根密钥关联的轮换策略。

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/policies
  1. 检索服务和认证凭证

  2. 通过运行以下 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-southeu-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
  1. 检索服务和认证凭证

  2. 通过运行以下 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-southeu-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
  1. 检索服务和认证凭证

  2. 通过运行以下 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-southeu-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_monthupdatedat 值。 如果不同用户更新了您最初创建的密钥的策略,那么 updatedby 值也会发生更改,以为发送请求的人员显示标识。

下一步