加密受管查詢結果
Athena 提供下列選項,以對 受管查詢結果 進行加密。
使用 AWS 擁有的金鑰加密
當您使用受管查詢結果時,此為預設選項。此選項表示您想要使用 AWS 擁有的金鑰來加密查詢結果。AWS 擁有的金鑰不會存放在您的 AWS 帳戶中,並且是 AWS 擁有的 KMS 金鑰集合的一部分。使用 AWS 擁有的金鑰無需付費,也不會佔用您帳戶中的 AWS KMS 配額。
使用 AWS KMS 客戶受管金鑰加密
客戶受管金鑰為您在 AWS 帳戶中建立、擁有和管理的 KMS 金鑰。您可以完全控制這些 KMS 金鑰,包括建立和維護其金鑰政策、IAM 政策和授與、啟用和停用金鑰、輪換其密碼編譯材料、新增標籤、建立參考別名,以及排程供刪除。如需詳細資訊,請參閱客戶受管金鑰。
Athena 如何使用客戶受管金鑰來對結果進行加密
當您指定客戶受管金鑰時,Athena 會使用它來對存放在受管查詢結果中的查詢結果進行加密。呼叫 GetQueryResults 時,需要使用相同的金鑰來對結果進行解密。當您將客戶受管金鑰的狀態設定為停用或排程刪除時,可避免 Athena 和所有使用者使用該金鑰對結果進行加密或解密。
Athena 使用封套加密和金鑰階層來加密資料。您的 AWS KMS 加密金鑰是用來產生和解密此金鑰階層的根金鑰。
每個結果都會使用加密時在工作群組中設定的客戶受管金鑰進行加密。將金鑰切換到不同的客戶受管金鑰或 AWS 擁有的金鑰,並不會使用新金鑰來重新加密現有結果。刪除和停用特定客戶受管金鑰只會影響對金鑰加密結果的解密。
Athena 需要存取您的加密金鑰,才能執行 kms:Decrypt、kms:GenerateDataKey 和 kms:DescribeKey 操作,進而對結果進行加密和解密。如需更多詳細資訊,請參閱 Amazon S3 中加密資料的許可。
使用 StartQueryExecution API 提交查詢並使用 GetQueryResults 讀取結果的主體,除了 Athena 和 Amazon S3 許可之外,還必須擁有對客戶受管金鑰的許可,以便進行 kms:Decrypt、kms:GenerateDataKey 和 kms:DescribeKey 操作。如需詳細資訊,請參閱 AWS KMS 中的金鑰政策。