管理密钥别名
您可以使用 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中管理密钥的密钥别名之前,请记住以下注意事项:
-
别名独立于密钥。
别名是其自己的资源,对其执行的任何操作都不会影响关联的密钥。 例如,删除别名不会删除关联的密钥。
-
一个别名一次只能与一个密钥关联。
一个别名只能与位于同一实例和区域中的一个密钥相关联。 如果要更改与别名关联的密钥,那么需要执行以下步骤:
- 删除别名。
- 最多等待 10 分钟。
- 重新创建别名并将其映射到密钥。
-
您可以在其他实例或区域中创建具有相同名称的别名。
每个别名都与每个实例或区域中的不同密钥相关联,通过该别名,服务的应用程序代码可以在不同的实例或区域中复用。 例如,如果在
us-south
和us-east
区域中都将别名命名为Application Key
,并且每个别名都链接到不同的密钥。
创建密钥别名
要为密钥创建密钥别名,可以使用 UI 或密钥管理服务 API。
每个键最多可以有 5 个别名。 每个实例的别名数限制为 1,000 个。
使用 UI 创建密钥别名
通过完成以下步骤,使用 UI 创建密钥别名:
-
去菜单>资源列表查看您的资源列表。
-
从 IBM Cloud 资源列表,选择 Hyper Protect Crypto Services 的已供应实例。
-
在侧边菜单中选择 KMS 密钥 选项卡,然后查找要为其创建密钥别名的密钥。
-
单击 操作 图标
以打开密钥的选项列表,然后单击 编辑密钥别名。
-
输入以逗号分隔的密钥别名。 您最多可以为一个密钥添加五个别名。
每个别名必须是字母数字,区分大小写,并且不能包含除短划线 (-) 或下划线 (_) 以外的空格或特殊字符。别名不能是 V 4 UUID,也不能是 Hyper Protect Crypto Services 保留名称:
allowed_ip
,key
,keys
,metadata
,policy
,policies
,registration
,registrations
,ring
,rings
,rotate
,wrap
,unwrap
,rewrap
,version
和versions
。别名大小可以是 2-90 个字符 (含)。 -
单击保存。
使用 API 创建密钥别名
通过创建 POST
调用以下端点。
https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/aliases/<alias>
-
要创建密钥别名,必须为您分配 管理者 或 写程序 服务访问角色。 了解 IAM 角色如何映射到 Hyper Protect Crypto Services 服务操作,请查看 服务访问角色。
-
通过运行以下
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_ip
,key
,keys
,metadata
,policy
,policies
,registration
,registrations
,ring
,rings
,rotate
,wrap
,unwrap
,rewrap
,version
和versions
。 别名大小可以是 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 删除密钥别名:
- 登录 UI。
- 去菜单>资源列表查看您的资源列表。
- 从 IBM Cloud 资源列表,选择 Hyper Protect Crypto Services 的已供应实例。
- 在侧边菜单中选择 KMS 密钥 选项卡,然后查找要为其创建密钥别名的密钥。
- 单击 操作 图标
以打开密钥的选项列表,然后单击 编辑密钥别名。
- 删除要除去的密钥别名,然后单击 保存。
使用 API 删除密钥别名
通过对以下端点进行 DELETE
调用来删除密钥别名。
https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys/<key_ID>/aliases/<alias>
-
通过运行以下
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>
请求将返回 HTTP204 No Content
响应,这指示已删除与密钥关联的别名。从服务中删除别名最多需要 10 分钟。
使用密钥别名的 API
下表列出了可以在其中使用密钥别名的 API。
API | 密钥别名影响 |
---|---|
创建根密钥。 | 在创建根密钥时,最多可以创建 5 个别名。 |
创建标准密钥。 | 在创建标准密钥时,最多可以创建 5 个别名。 |
检索密钥。 | 您可以按标识或别名检索密钥。 |
查看密钥元数据 | 您可以按标识或别名检索密钥的元数据。 |