本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
外部密钥存储中的 KMS 密钥
若要在外部密钥存储中创建、查看、管理、使用和计划删除 KMS 密钥,您使用的过程与用于其他 KMS 密钥的过程非常相似。但是,在外部密钥存储中创建 KMS 密钥时,您需要指定外部密钥存储和外部密钥。在外部密钥存储中使用 KMS 密钥时,外部密钥管理器将使用指定的外部密钥执行加密和解密操作。
AWS KMS 无法在外部密钥管理器中创建、查看、更新或删除任何加密密钥。AWS KMS 绝不会直接访问您的外部密钥管理器或任何外部密钥。所有加密操作请求均由您的外部密钥存储代理调解。若要在外部密钥存储中使用 KMS 密钥,必须先将托管 KMS 密钥的外部密钥存储连接到其外部密钥存储代理。
- 支持的特征
-
除了此部分中讨论的过程之外,您还可以使用外部密钥存储中的 KMS 密钥执行下列操作:
-
使用密钥策略、IAM policy 和授权以控制对 KMS 密钥的访问。
-
启用和禁用 KMS 密钥。这些操作不会影响外部密钥管理器中的外部密钥。
-
分配标签并创建别名,然后使用基于属性的访问权限控制(ABAC)授予对 KMS 密钥的访问权限。
-
使用 KMS 密钥执行以下加密操作:
自定义密钥存储不支持生成非对称数据密钥对操作,如 GenerateDataKeyPair 和 GenerateDataKeyPairWithoutPlaintext。
-
将 KMS 密钥和与 AWS KMS 集成的 AWS 服务
结合使用并支持客户托管密钥。
-
- 不支持的 特征
-
-
外部密钥存储仅支持对称加密 KMS 密钥。您无法在外部密钥存储中创建 HMAC KMS 密钥或非对称 KMS 密钥。
-
外部密钥存储中的 KMS 密钥不支持 GenerateDataKeyPair 和 GenerateDataKeyPairWithoutPlaintext。
-
您不能使用 AWS::KMS::Key AWS CloudFormation 模板创建外部密钥存储或在外部密钥存储中创建 KMS 密钥。
-
外部密钥存储不支持多区域密钥。
-
外部密钥存储不支持拥有导入密钥材料的 KMS 密钥。
-
外部密钥存储中的 KMS 密钥不支持自动密钥轮换。
-
- 在外部密钥存储中使用 KMS 密钥
-
在请求中使用 KMS 密钥时,请通过密钥 ID、密钥 ARN、别名或别名 ARN 识别 KMS 密钥。您无需指定外部密钥存储。响应包含为任何对称加密 KMS 密钥返回的相同字段。但是,在外部密钥存储中使用 KMS 密钥时,外部密钥管理器将使用与 KMS 密钥关联的外部密钥执行加密和解密操作。
为了确保外部密钥存储中经 KMS 密钥加密的加密文字至少与经标准 KMS 密钥加密的加密文字一样安全,AWS KMS 将使用双重加密。首先在 AWS KMS 中使用 AWS KMS 密钥材料对数据进行加密。然后,外部密钥管理器使用 KMS 密钥的外部密钥对其进行加密。若要解密双重加密的加密文字,首先由外部密钥管理器使用 KMS 密钥的外部密钥解密加密文字。然后在 AWS KMS 中使用 KMS 密钥的 AWS KMS 密钥材料进行解密。
要做到这一点,必须满足以下条件。
-
KMS 密钥的密钥状态必须为
Enabled
。若要查找密钥状态,请查看 AWS KMS 控制台中客户托管密钥的 Status(状态)字段或 DescribeKey 响应中的KeyState
字段。 -
托管 KMS 密钥的外部密钥存储必须连接到其外部密钥存储代理,也就是说,外部密钥存储的连接状态必须为
CONNECTED
。您可以在 AWS KMS 控制台中的 External key stores(外部密钥存储)页面上或在 DescribeCustomKeyStores 响应中查看连接状态。外部密钥存储的连接状态也显示在 AWS KMS 控制台中 KMS 密钥的详细信息页面上。在详细信息页面上,选择 Cryptographic configuration(加密配置)选项卡,然后查看 Custom key store(自定义密钥存储)部分中的 Connection state(连接状态)字段。
如果连接状态为
DISCONNECTED
,则必须先将其连接。如果连接状态为FAILED
,则必须解决问题,断开外部密钥存储的连接,再将其连接。有关说明,请参阅 连接和断开外部密钥存储。 -
外部密钥存储代理必须能够找到外部密钥。
-
必须启用外部密钥并且必须执行加密和解密操作。
外部密钥的状态独立于 KMS 密钥,并且不受 KMS 密钥的密钥状态变化影响,包括启用和禁用 KMS 密钥。同样,禁用或删除外部密钥不会更改 KMS 密钥的密钥状态,但使用关联的 KMS 密钥执行的加密操作将失败。
如果未满足这些条件,则加密操作失败,并且 AWS KMS 会返回
KMSInvalidStateException
异常。您可能需要重新连接外部密钥存储或使用外部密钥管理器工具来重新配置或修复外部密钥。有关其他帮助,请参阅排查外部密钥存储的问题。在外部密钥存储中使用 KMS 密钥时,请注意每个外部密钥存储中的 KMS 密钥针对加密操作共享自定义密钥存储请求限额。如果您超过该配额,则 AWS KMS 将返回
ThrottlingException
。有关自定义密钥存储请求限额的详细信息,请参阅 自定义密钥存储请求限额。 -
- 了解更多
-
-
要了解有关外部密钥存储的更多信息,请参阅 外部密钥存储。
-
要了解有关外部密钥存储中密钥材料的更多信息,请参阅 外部密钥。
-
要在外部密钥存储中创建 KMS 密钥,请参阅 在外部密钥存储中创建 KMS 密钥。
-
要识别和查看外部密钥存储中的 KMS 密钥,请参阅 识别外部密钥存储中的 KMS 密钥。
-
要了解删除外部密钥存储中的 KMS 密钥的特殊注意事项,请参阅从外部密钥存储中删除 KMS 密钥。
-