

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

# 加密受管查詢結果
<a name="encrypting-managed-results"></a>

Athena 提供下列選項，以對 [受管查詢結果](managed-results.md) 進行加密。

## 使用 AWS 擁有的金鑰加密
<a name="encrypting-managed-results-aws-owned-key"></a>

當您使用受管查詢結果時，此為預設選項。此選項表示您想要使用 AWS 擁有的金鑰來加密查詢結果。 AWS 擁有的金鑰不會儲存在 AWS 您的帳戶中，並且是 AWS 擁有的 KMS 金鑰集合的一部分。當您使用 AWS 擁有的金鑰時，不會向您收取費用，而且它們不會計入您帳戶的 AWS KMS 配額。

## 使用 AWS KMS 客戶受管金鑰加密
<a name="encrypting-managed-results-customer-managed-key"></a>

客戶受管金鑰是您帳戶中建立、擁有和管理 AWS 的 KMS 金鑰。您可以完全控制這些 KMS 金鑰，包括建立和維護其金鑰政策、IAM 政策和授與、啟用和停用金鑰、輪換其密碼編譯材料、新增標籤、建立參考別名，以及排程供刪除。如需詳細資訊，請參閱[客戶自管金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)。

## Athena 如何使用客戶自管金鑰來對結果進行加密
<a name="encrypting-managed-results-how-ate-uses-cmk"></a>

當您指定客戶受管金鑰時，Athena 會使用它來對存放在自管查詢結果中的查詢結果進行加密。呼叫 `GetQueryResults` 時，需要使用相同的金鑰來對結果進行解密。當您將客戶自管金鑰的狀態設定為停用或排程刪除時，可避免 Athena 和所有使用者使用該金鑰對結果進行加密或解密。

Athena 使用封套加密和金鑰階層來加密資料。您的 AWS KMS 加密金鑰是用來產生和解密此金鑰階層的根金鑰。

每個結果都會使用加密時在工作群組中設定的客戶自管金鑰進行加密。將金鑰切換到不同的客戶受管金鑰或 AWS 擁有的金鑰不會使用新金鑰重新加密現有結果。刪除和停用特定客戶自管金鑰只會影響對金鑰加密結果的解密。

Athena 需要存取您的加密金鑰，才能執行 `kms:Decrypt`、`kms:GenerateDataKey` 和 `kms:DescribeKey` 操作，以對結果進行加密和解密。如需詳細資訊，請參閱[Amazon S3 中加密資料的許可](encryption.md#permissions-for-encrypting-and-decrypting-data)。

使用 `StartQueryExecution` API 提交查詢並使用 `GetQueryResults` 讀取結果的主體，除了 Athena 和 Amazon S3 許可之外，還必須擁有對客戶自管金鑰的許可，以便進行 `kms:Decrypt`、`kms:GenerateDataKey` 和 `kms:DescribeKey` 操作。如需詳細資訊，請參閱 [中的金鑰政策 AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-users)。