CloudHSM 密钥存储中的 KMS 密钥 - AWS Key Management Service

CloudHSM 密钥存储中的 KMS 密钥

您可以在 AWS CloudHSM 密钥存储中创建、查看、管理、使用和计划删除 AWS KMS keys。您使用的过程与用于其他 KMS 密钥的过程非常相似。唯一的区别是您在创建 KMS 密钥时指定了 AWS CloudHSM 密钥存储。然后,AWS KMS 在与 AWS CloudHSM 密钥存储关联的 AWS CloudHSM 集群中为 KMS 密钥创建不可提取的密钥材料。在 AWS CloudHSM 密钥存储中使用 KMS 密钥时,会在集群中的 HSM 中执行加密操作

支持的功能

除了此部分中讨论的过程之外,您还可以使用 AWS CloudHSM 密钥存储中的 KMS 密钥执行下列操作:

不支持的 特征
  • AWS CloudHSM 密钥存储仅支持对称加密 KMS 密钥。您无法在 AWS CloudHSM 密钥存储中创建 HMAC KMS 密钥、非对称 KMS 密钥或非对称数据密钥对。

  • 您无法向 AWS CloudHSM 密钥存储中的 KMS 密钥导入密钥材料。AWS KMS 为 AWS CloudHSM 集群中的 KMS 密钥生成密钥材料。

  • 您无法启用或禁用 AWS CloudHSM 密钥存储中 KMS 密钥的密钥材料的自动轮换

在 AWS CloudHSM 密钥存储中使用 KMS 密钥

当您在请求中使用 KMS 密钥时,按 KMS 密钥的 ID 或别名对其进行标识;您无需指定 AWS CloudHSM 密钥存储或 AWS CloudHSM 集群。响应包含为任何对称加密 KMS 密钥返回的相同字段。

但是,在 AWS CloudHSM 密钥存储中使用 KMS 密钥时,加密操作完全在与 AWS CloudHSM 密钥存储关联的 AWS CloudHSM 集群中执行。该操作使用集群中与您选择的 KMS 密钥关联的密钥材料。

要做到这一点,必须满足以下条件。

  • KMS 密钥的密钥状态必须为 Enabled。要查找密钥状态,请使用 AWS KMS 控制台中的状态字段或 DescribeKey 响应中的 KeyState 字段。

  • AWS CloudHSM 密钥存储必须连接到其 AWS CloudHSM 集群。其在 AWS KMS 控制台中的 Status(状态)或在 DescribeCustomKeyStores 响应中的 ConnectionState 必须为 CONNECTED

  • 与自定义密钥存储关联的 AWS CloudHSM 集群必须包含至少一个活动 HSM。要查找集群中的活动 HSM 的数量,请使用 AWS KMS 控制台、AWS CloudHSM 控制台或 DescribeClusters 操作。

  • AWS CloudHSM 集群必须包含 KMS 密钥的密钥材料。如果已从集群中删除密钥材料,或者已从未包含密钥材料的备份中创建 HSM,则加密操作将失败。

如果未满足这些条件,则加密操作失败,并且 AWS KMS 会返回 KMSInvalidStateException 异常。通常,您只需重新连接 AWS CloudHSM 密钥存储。有关其他帮助,请参阅如何修复失败的 KMS 密钥

在 AWS CloudHSM 密钥存储中使用 KMS 密钥时,请注意每个 AWS CloudHSM 密钥存储中的 KMS 密钥针对加密操作共享自定义密钥存储请求限额。如果您超过该配额,则 AWS KMS 将返回 ThrottlingException。如果与 AWS CloudHSM 密钥存储关联的 AWS CloudHSM 集群正在处理大量命令(包括与 AWS CloudHSM 密钥存储不相关的命令),则您可能以较低速率获得 ThrottlingException。如果您收到任何请求的 ThrottlingException,请降低您的请求速率并重试这些命令。有关自定义密钥存储请求限额的详细信息,请参阅 自定义密钥存储请求限额

了解更多