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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

外部密钥存储中的 KMS 密钥

若要在外部密钥存储中创建、查看、管理、使用和计划删除 KMS 密钥,您使用的过程与用于其他 KMS 密钥的过程非常相似。但是,在外部密钥存储中创建 KMS 密钥时,您需要指定外部密钥存储外部密钥。在外部密钥存储中使用 KMS 密钥时,外部密钥管理器将使用指定的外部密钥执行加密和解密操作

Amazon KMS 无法在您的外部密钥管理器中创建、查看、更新或删除任何加密密钥。 Amazon KMS 永远不要直接访问您的外部密钥管理器或任何外部密钥。所有加密操作请求均由您的外部密钥存储代理调解。若要在外部密钥存储中使用 KMS 密钥,必须先将托管 KMS 密钥的外部密钥存储连接到其外部密钥存储代理。

支持的特征

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

不支持的 特征
在外部密钥存储中使用 KMS 密钥

在请求中使用 KMS 密钥时,请通过密钥 ID、密钥 ARN、别名或别名 ARN 识别 KMS 密钥。您无需指定外部密钥存储。响应包含为任何对称加密 KMS 密钥返回的相同字段。但是,在外部密钥存储中使用 KMS 密钥时,外部密钥管理器将使用与 KMS 密钥关联的外部密钥执行加密和解密操作。

为确保由外部密钥存储库中的 KMS 密钥加密的密文至少与使用标准 KMS 密钥加密的任何密文一样安全, Amazon KMS 请使用双重加密。首先 Amazon KMS 使用 Amazon KMS 密钥材料对数据进行加密。然后,外部密钥管理器使用 KMS 密钥的外部密钥对其进行加密。若要解密双重加密的加密文字,首先由外部密钥管理器使用 KMS 密钥的外部密钥解密加密文字。然后 Amazon KMS 使用 KMS 密钥的密 Amazon KMS 钥材料对其进行解密。

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

  • KMS 密钥的密钥状态必须为 Enabled。要查找密钥状态,请参阅Amazon KMS 控制台上客户托管密钥的状态KeyState字段或DescribeKey响应中的字段。

  • 托管 KMS 密钥的外部密钥存储必须连接到其外部密钥存储代理,也就是说,外部密钥存储的连接状态必须为 CONNECTED

    您可以在 Amazon KMS 控制台的外部密钥存储页面或DescribeCustomKeyStores响应中查看连接状态。外部密钥存储的连接状态也显示在 Amazon KMS 控制台中 KMS 密钥的详细信息页面上。在详细信息页面上,选择 Cryptographic configuration(加密配置)选项卡,然后查看 Custom key store(自定义密钥存储)部分中的 Connection state(连接状态)字段。

    如果连接状态为 DISCONNECTED,则必须先将其连接。如果连接状态为 FAILED,则必须解决问题,断开外部密钥存储的连接,再将其连接。有关说明,请参阅 连接和断开外部密钥存储

  • 外部密钥存储代理必须能够找到外部密钥。

  • 必须启用外部密钥并且必须执行加密和解密操作。

    外部密钥的状态独立于 KMS 密钥,并且不受 KMS 密钥的密钥状态变化影响,包括启用和禁用 KMS 密钥。同样,禁用或删除外部密钥不会更改 KMS 密钥的密钥状态,但使用关联的 KMS 密钥执行的加密操作将失败。

如果不满足这些条件,则加密操作将失败并 Amazon KMS 返回KMSInvalidStateException异常。您可能需要重新连接外部密钥存储或使用外部密钥管理器工具来重新配置或修复外部密钥。有关其他帮助,请参阅排查外部密钥存储的问题

在外部密钥存储中使用 KMS 密钥时,请注意每个外部密钥存储中的 KMS 密钥针对加密操作共享自定义密钥存储请求限额。如果超过配额,则 Amazon KMS 返回 a ThrottlingException。有关自定义密钥存储请求限额的详细信息,请参阅 自定义密钥存储请求限额

了解更多