如何向 Amazon KMS 发出认证调用 - Amazon Key Management Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

如何向 Amazon KMS 发出认证调用

要向 Amazon KMS 发出认证调用,请在请求中使用 Recipient 参数来提供已签名的认证文档以及用于认证文档中的公有密钥的加密算法。当请求中包含带有已签名证明文档的 Recipient 参数时,响应将包含一个具有由公有密钥加密的加密文字的 CiphertextForRecipient 字段。明文字段为空。

Recipient 参数必须指定一个来自 Amazon Nitro Enclaves 或 Amazon NitroTPM 的已签名认证文档。Amazon KMS 依赖该认证文档的数字签名来证明请求中的公有密钥来自有效的来源。您不能提供自己的证书来对证明文档进行数字签名。

Amazon Nitro Enclaves 开发工具包仅在 Nitro Enclave 内受支持,会自动将 Recipient 参数及其值添加到每个 Amazon KMS 请求中。

要在 Amazon SDK 中发出认证请求,必须指定 Recipient 参数及其值。该认证文档可使用 nitro-tpm-attest 实用程序从 NitroTPM 中检索,也可使用 NSM API 从 Nitro 安全模块(NSM)中检索。

Amazon KMS 支持策略条件键,您可以使用这些条件键根据认证文件的内容允许或拒绝对 Amazon KMS 密钥的认证操作。您还可以通过 Amazon CloudTrail 日志监控对 Amazon KMS 的认证请求

有关 Recipient 参数和 AWS CiphertextForRecipient 响应字段的详细信息,请参阅《Amazon Key Management Service API 参考》、Amazon Nitro Enclaves SDK 或任何 Amazon SDK 中的 DecryptDeriveSharedSecretGenerateDataKeyGenerateDataKeyPairGenerateRandom 主题。有关为加密设置数据和数据密钥的信息,请参阅将加密证明与 Amazon KMS 结合使用