IBM Cloud Docs
管理密钥别名

管理密钥别名

您可以使用 Hyper Protect Crypto Services 通过 Hyper Protect Crypto Services API 来管理密钥别名。

密钥别名是可用于标识密钥的唯一人类可读名称。 别名使服务能够通过可识别的定制名称 (而不是由 Hyper Protect Crypto Services提供的自动生成的标识) 来引用密钥。 假定您创建标识为 02fd6835-6001-4482-a892-13bd2085f75d 且别名为 US-South-Test-Key 的密钥。 当您调用 Hyper Protect Crypto Services API 以 检索密钥 时,可以使用 US-South-Test-Key 来引用密钥。

在 Hyper Protect Crypto Services中管理密钥的密钥别名之前,请记住以下注意事项:

  • 别名独立于密钥。

    别名是其自己的资源,对其执行的任何操作都不会影响关联的密钥。 例如,删除别名不会删除关联的密钥。

  • 一个别名一次只能与一个密钥关联。

    一个别名只能与位于同一实例和区域中的一个密钥相关联。 如果要更改与别名关联的密钥,那么需要执行以下步骤:

    1. 删除别名。
    2. 最多等待 10 分钟。
    3. 重新创建别名并将其映射到密钥。
  • 您可以在其他实例或区域中创建具有相同名称的别名。

    每个别名都与每个实例或区域中的不同密钥相关联,通过该别名,服务的应用程序代码可以在不同的实例或区域中复用。 例如,如果在 us-southus-east 区域中都将别名命名为 Application Key,并且每个别名都链接到不同的密钥。

创建密钥别名

要为密钥创建密钥别名,可以使用 UI 或密钥管理服务 API。

每个键最多可以有 5 个别名。 每个实例的别名数限制为 1,000 个。

使用 UI 创建密钥别名

通过完成以下步骤,使用 UI 创建密钥别名:

  1. 登录 UI

  2. 菜单>资源列表查看您的资源列表。

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

  4. 在侧边菜单中选择 KMS 密钥 选项卡,然后查找要为其创建密钥别名的密钥。

  5. 单击 操作 图标 "操作" 图标 以打开密钥的选项列表,然后单击 编辑密钥别名

  6. 输入以逗号分隔的密钥别名。 您最多可以为一个密钥添加五个别名。

    每个别名必须是字母数字,区分大小写,并且不能包含除短划线 (-) 或下划线 (_) 以外的空格或特殊字符。别名不能是 V 4 UUID,也不能是 Hyper Protect Crypto Services 保留名称: allowed_ipkeykeysmetadatapolicypoliciesregistrationregistrationsringringsrotatewrapunwraprewrapversionversions。别名大小可以是 2-90 个字符 (含)。

  7. 单击保存

使用 API 创建密钥别名

通过创建 POST 调用以下端点。

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

    要创建密钥别名,必须为您分配 管理者写程序 服务访问角色。 了解 IAM 角色如何映射到 Hyper Protect Crypto Services 服务操作,请查看 服务访问角色

  2. 通过运行以下 curl 命令来创建密钥别名。

    $ curl -X POST \
        "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/aliases/<key_alias>" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>" \
        -H "content-type: application/vnd.ibm.kms.key+json" \
        -H "correlation-id: <correlation_ID>"
    

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

    表 1. 描述使用 Hyper Protect Crypto Services API 创建密钥别名所需的变量
    变量 描述
    region 必需。 地区缩写,例如 us-south,代表您的Hyper Protect Crypto Services实例驻留。 有关更多信息,请参阅区域服务端点
    port 必需。 API 端点的端口号。
    key_ID 必需。 要与别名关联的密钥的标识。 要检索密钥标识,请参阅 list keys API
    key_alias 必需。 密钥的人类可读的唯一名称,以便可轻松识别密钥。 每个别名必须是字母数字,区分大小写,并且不能包含除短划线 (-) 或下划线 (_) 以外的空格或特殊字符。 别名不能是 V 4 UUID ,也不能是 Hyper Protect Crypto Services 保留名称: allowed_ipkeykeysmetadatapolicypoliciesregistrationregistrationsringringsrotatewrapunwraprewrapversionversions。 别名大小可以是 2-90 个字符 (含)。

    注: 不能在 Hyper Protect Crypto Services 实例中具有重复的别名。

    IAM_token 必需。 您的 IBM Cloud 访问令牌。 包括完整内容 IAM 令牌,包括 Bearer 值,在 curl 要求。 有关详细信息,请参阅For more information, see 检索访问令牌
    instance_ID 必需。 指定给您的 Hyper Protect Crypto Services 服务实例的唯一标识。 有关详细信息,请参阅For more information, see 检索实例 ID
    correlation_ID 用于跟踪和关联事务的唯一标识。

    为了保护您的个人数据的机密性,在创建密钥别名时请避免输入个人身份信息 (PII),例如您的姓名或位置。 有关 PII 的更多示例,请参阅部分2.2的 NIST 特别出版物 800-122

    一个成功的 POST api/v2/keys/<key_ID>/aliases/<key_alias> 响应返回您的密钥的别名以及其他元数据。 别名是分配给密钥的唯一名称,可用于检索有关关联密钥的更多信息。

    {
        "metadata": {
            "collectionType": "application/vnd.ibm.kms.key+json",
            "collectionTotal": 1
        },
        "resources": [
            {
                "keyId": "02fd6835-6001-4482-a892-13bd2085f75d",
                "alias": "test-alias",
                "creationDate": "2020-03-12T03:37:32Z",
                "createdBy": "..."
            }
        ]
    }
    

    有关响应参数的详细说明,请参阅Hyper Protect Crypto ServicesREST API 参考文档

删除密钥别名

要除去密钥的密钥别名,可以使用 UI 或密钥管理服务 API。

使用 UI 删除密钥别名

通过完成以下步骤,使用 UI 删除密钥别名:

  1. 登录 UI
  2. 菜单>资源列表查看您的资源列表。
  3. 从 IBM Cloud 资源列表,选择 Hyper Protect Crypto Services 的已供应实例。
  4. 在侧边菜单中选择 KMS 密钥 选项卡,然后查找要为其创建密钥别名的密钥。
  5. 单击 操作 图标 "操作" 图标 以打开密钥的选项列表,然后单击 编辑密钥别名
  6. 删除要除去的密钥别名,然后单击 保存

使用 API 删除密钥别名

通过对以下端点进行 DELETE 调用来删除密钥别名。

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

  2. 通过运行以下 curl 命令来删除密钥别名。

    $ curl -X DELETE \
        "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/aliases/<key_alias>" \
        -H "authorization: Bearer <IAM_token>" \
        -H "bluemix-instance: <instance_ID>" \
        -H "content-type: application/vnd.ibm.kms.key+json" \
        -H "correlation-id: <correlation_ID>"
    

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

    表 2. 描述使用 Hyper Protect Crypto Services API 删除密钥别名所需的变量
    变量 描述
    region 必需。 地区缩写,例如 us-south,代表您的Hyper Protect Crypto Services实例驻留。 有关更多信息,请参阅区域服务端点
    port 必需。 API 端点的端口号。
    key_ID 必需。 密钥的唯一标识符。
    key_alias 必需。 标识密钥的唯一人类可读名称。
    IAM_token 必需。 您的 IBM Cloud 访问令牌。 包括完整内容 IAM 令牌,包括 Bearer 值,在 curl 要求。 有关详细信息,请参阅For more information, see 检索访问令牌
    instance_ID 必需。 指定给您的 Hyper Protect Crypto Services 服务实例的唯一标识。 有关详细信息,请参阅For more information, see 检索实例 ID
    correlation_ID 用于跟踪和关联事务的唯一标识。

    成功的 DELETE api/v2/keys/<key_ID>/aliases/<key_alias> 请求将返回 HTTP 204 No Content 响应,这指示已删除与密钥关联的别名。

    从服务中删除别名最多需要 10 分钟。

使用密钥别名的 API

下表列出了可以在其中使用密钥别名的 API。

表 3. 描述作为使用密钥别名的 API 的变量。
API 密钥别名影响
创建根密钥。 在创建根密钥时,最多可以创建 5 个别名。
创建标准密钥。 在创建标准密钥时,最多可以创建 5 个别名。
检索密钥。 您可以按标识或别名检索密钥。
查看密钥元数据 您可以按标识或别名检索密钥的元数据。