本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
如何为 Nitro Enclave 调用 AWS KMS API
要为 Nitro Enclave 调用 AWS KMS API,请使用请求中的 Recipient
参数为 Enclave 提供已签名的证明文档以及用于 Enclave 的公有密钥的加密算法。当请求中包含带有已签名证明文档的 Recipient
参数时,响应将包含一个具有由公有密钥加密的加密文字的 CiphertextForRecipient
字段。明文字段为空。
Recipient
参数必须指定来自 AWS Nitro Enclave 的已签名证明文档。AWS KMS 依赖于 Enclave 证明文档的数字签名来证明请求中的公有密钥来自于有效的 Enclave。您不能提供自己的证书来对证明文档进行数字签名。
要指定 Recipient
参数,请使用 AWS Nitro Enclaves 开发工具包 或任何 AWS 开发工具包。AWS Nitro Enclaves 开发工具包仅在 Nitro Enclave 内受支持,会自动将 Recipient
参数及其值添加到每个 AWS KMS 请求中。要在 AWS 开发工具包中请求 Nitro Enclave,必须指定 Recipient
参数及其值。AWS 开发工具包中对 Nitro Enclave 加密证明的支持于 2023 年 3 月推出。
AWS KMS 支持策略条件键,您可以使用这些键根据证明文件的内容允许或拒绝对 AWS KMS 密钥执行 Enclave 操作。您还可以在 AWS CloudTrail 日志中监控对 AWS KMS Nitro Enclave 的请求。
有关 Recipient
参数和 AWS CiphertextForRecipient
响应字段的详细信息,请参阅《AWS Key Management Service API 参考》、AWS Nitro Enclave SDK 或任何 AWS SDK 中的 Decrypt、DeriveSharedSecret、GenerateDataKey、GenerateDataKeyPair 和 GenerateRandom 主题。有关为加密设置数据和数据密钥的信息,请参阅将加密证明与 AWS KMS 结合使用。