

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 如何對 進行經驗證的呼叫 AWS KMS
<a name="attested-calls"></a>

若要進行經證明的呼叫 AWS KMS，請在 請求中使用 `Recipient` 參數來提供已簽署的證明文件，以及與證明文件中的公有金鑰搭配使用的加密演算法。當請求包含已簽署證明文件的 `Recipient` 參數時，回應會包含 `CiphertextForRecipient` 欄位，以及由公有金鑰加密的密文。純文字欄位為空值或空白。

`Recipient` 參數必須指定來自 AWS Nitro Enclaves 或 AWS NitroTPM 的已簽署證明文件。 AWS KMS 依賴證明文件的數位簽章，以證明請求中的公有金鑰來自有效的來源。您無法提供自己的憑證來數位簽署證明文件。

 AWS Nitro Enclaves SDK 僅支援 Nitro enclave，會自動將 `Recipient` 參數及其值新增至每個 AWS KMS 請求。

若要在 AWS SDKs 中提出經證明的請求，您必須指定 `Recipient` 參數及其值。您可以使用 [nitro-tpm-attest 公用程式](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/attestation-get-doc.html)從 NitroTPM 擷取證明文件，或使用 NSM [API 從 Nitro 安全模組 (NSM) ](https://github.com/aws/aws-nitro-enclaves-nsm-api)擷取證明文件。

AWS KMS 支援[政策條件金鑰](conditions-attestation.md)，您可以根據證明文件的內容，使用 AWS KMS 金鑰來允許或拒絕已驗證的操作。您也可以在 AWS CloudTrail 日誌中[監控對 的已驗證請求 AWS KMS](ct-attestation.md)。

如需 `Recipient` 參數和 AWS `CiphertextForRecipient`回應欄位的詳細資訊，請參閱 *AWS Key Management Service API 參考*、[AWS Nitro Enclaves SDK](https://docs.aws.amazon.com/enclaves/latest/user/developing-applications.html#sdk) 或任何 AWS SDK 中的 [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt)、[DeriveSharedSecret](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeriveSharedSecret)、[GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey)、[GenerateDataKeyPair](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyPair) 和 [GenerateRandom](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateRandom) 主題。如需設定資料和資料金鑰以進行加密的資訊，請參閱[搭配 使用密碼編譯認證 AWS KMS](https://docs.aws.amazon.com/enclaves/latest/user/kms.html)。