查找 Amazon CloudHSM 密钥的 KMS 密钥 - Amazon Key Management Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

查找 Amazon CloudHSM 密钥的 KMS 密钥

如果您知道 kmsuser 在集群中拥有的密钥的密钥参考或 ID,则可以使用该值来标识 Amazon CloudHSM 密钥存储中的关联 KMS 密钥。

当 Amazon KMS 在 Amazon CloudHSM 集群中为 KMS 密钥创建密钥材料时,它会在密钥标签中写入 KMS 密钥的 Amazon Resource Name (ARN)。除非您已更改标签值,否则可在 CloudHSM CLI 中使用 key list 命令来识别与 Amazon CloudHSM 密钥关联的 KMS 密钥。

备注

以下过程使用 Amazon CloudHSM 客户端 SDK 5 命令行工具 CloudHSM CLI。CloudHSM CLI 将 key-handle 替换为 key-reference

2025 年 1 月 1 日,Amazon CloudHSM 将终止对客户端 SDK 3 命令行工具、CloudHSM 管理实用程序(CMU)和密钥管理实用程序(KMU)的支持。有关客户端 SDK 3 命令行工具和客户端 SDK 5 命令行工具之间区别的更多信息,请参阅《Amazon CloudHSM 用户指南》中的从客户端 SDK 3 CMU 和 KMU 迁移到客户端 SDK 5 CloudHSM CLI

要运行这些过程,您需要临时断开 Amazon CloudHSM 密钥存储,以便能以 kmsuser CU 身份登录。

注意

虽然自定义密钥存储已断开连接,但在自定义密钥存储中创建 KMS 密钥或在加密操作中使用现有 KMS 密钥的所有尝试都将失败。此操作可以阻止用户存储和访问敏感数据。

识别与密钥参考关联的 KMS 密钥

以下过程演示如何在 CloudHSM CLI 中使用 key list 命令和 key-reference 属性筛选器,在集群中查找用作 Amazon CloudHSM 密钥存储中特定 KMS 密钥的密钥材料的密钥。

  1. 断开 Amazon CloudHSM 密钥存储(如果尚未断开),然后以 kmsuser 身份登录,如 如何断开和登录 中所述。

  2. 使用 CloudHSM CLI 中的 key list 命令,按 key-reference 属性进行筛选。指定 verbose 参数以包含匹配密钥的所有属性和密钥信息。如果不指定 verbose 参数,则密钥列表操作将仅返回匹配密钥的密钥参考和标签属性。

    在运行此命令之前,请将示例 key-reference 替换为您账户中的有效密钥 ID。

    aws-cloudhsm > key list --filter attr.key-reference="0x0000000000120034" --verbose { "error_code": 0, "data": { "matched_keys": [ { "key-reference": "0x0000000000120034", "key-info": { "key-owners": [ { "username": "kmsuser", "key-coverage": "full" } ], "shared-users": [], "cluster-coverage": "full" }, "attributes": { "key-type": "aes", "label": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "id": "0xbacking-key-id", "check-value": "0x29bbd1", "class": "my_test_key", "encrypt": true, "decrypt": true, "token": true, "always-sensitive": true, "derive": false, "destroyable": true, "extractable": false, "local": true, "modifiable": true, "never-extractable": false, "private": true, "sensitive": true, "sign": false, "trusted": false, "unwrap": true, "verify": false, "wrap": true, "wrap-with-trusted": false, "key-length-bytes": 32 } } ], "total_key_count": 1, "returned_key_count": 1 } }
  3. 注销并重新连接 Amazon CloudHSM 密钥存储,如 如何注销并重新连接 中所述。

识别与配对密钥 ID 关联的 KMS 密钥

使用 Amazon CloudHSM 密钥存储中的 KMS 密钥进行加密操作的所有 CloudTrail 日志条目都包含带有 customKeyStoreIdbackingKeyIdadditionalEventData 字段。backingKeyId 字段中返回的值与 CloudHSM 密钥 id 属性关联。您可以按 id 属性筛选密钥列表操作,识别与特定 backingKeyId 关联的 KMS 密钥。

  1. 断开 Amazon CloudHSM 密钥存储(如果尚未断开),然后以 kmsuser 身份登录,如 如何断开和登录 中所述。

  2. 在 CloudHSM CLI 中使用 key list 命令和属性筛选器,在集群中查找用作 Amazon CloudHSM 密钥存储中特定 KMS 密钥的密钥材料的密钥。

    以下示例演示如何按 id 属性进行筛选。Amazon CloudHSM 将 id 值识别为十六进制值。要按 id 属性筛选密钥列表操作,必须先将您在 CloudTrail 日志条目中识别的 backingKeyId 值转换为 Amazon CloudHSM 可识别的格式。

    1. 使用以下 Linux 命令将 backingKeyId 转换为十六进制表示形式。

      echo backingKeyId | tr -d '\n' | xxd -p

      以下示例演示了如何将 backingKeyId 字节数组转换为十六进制表示形式。

      echo 5890723622dc15f699aa9ab2387a9f744b2b884c18b2186ee8ada4f556a2eb9d | tr -d '\n' | xxd -p 35383930373233363232646331356636393961613961623233383761396637343462326238383463313862323138366565386164613466353536613265623964
    2. backingKeyId 的十六进制表示形式前面加上 0x

      0x35383930373233363232646331356636393961613961623233383761396637343462326238383463313862323138366565386164613466353536613265623964
    3. 使用转换后的 backingKeyId 值按 id 属性进行筛选。指定 verbose 参数以包含匹配密钥的所有属性和密钥信息。如果不指定 verbose 参数,则密钥列表操作将仅返回匹配密钥的密钥参考和标签属性。

      aws-cloudhsm > key list --filter attr.id="0x35383930373233363232646331356636393961613961623233383761396637343462326238383463313862323138366565386164613466353536613265623964" --verbose { "error_code": 0, "data": { "matched_keys": [ { "key-reference": "0x0000000000120034", "key-info": { "key-owners": [ { "username": "kmsuser", "key-coverage": "full" } ], "shared-users": [], "cluster-coverage": "full" }, "attributes": { "key-type": "aes", "label": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "id": "0x35383930373233363232646331356636393961613961623233383761396637343462326238383463313862323138366565386164613466353536613265623964", "check-value": "0x29bbd1", "class": "my_test_key", "encrypt": true, "decrypt": true, "token": true, "always-sensitive": true, "derive": false, "destroyable": true, "extractable": false, "local": true, "modifiable": true, "never-extractable": false, "private": true, "sensitive": true, "sign": false, "trusted": false, "unwrap": true, "verify": false, "wrap": true, "wrap-with-trusted": false, "key-length-bytes": 32 } } ], "total_key_count": 1, "returned_key_count": 1 } }
  3. 注销并重新连接 Amazon CloudHSM 密钥存储,如 如何注销并重新连接 中所述。