靜態加密 - Amazon Athena

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

靜態加密

您可以在 Amazon Athena 中,針對同一區域和有限數量區域的 Simple Storage Service (Amazon S3) 中的加密資料執行查詢。您也可以加密 Amazon S3 中的查詢結果和中的資料 AWS Glue 資料目錄。

您可以加密 Athena 中的以下資產:

  • Simple Storage Service (Amazon S3) 中所有查詢的結果,Athena 會將其存放在稱為 Simple Storage Service (Amazon S3) 結果位置的位置。您可以加密存放在 Simple Storage Service (Amazon S3) 中的查詢結果,而不論 Simple Storage Service (Amazon S3) 中的基礎資料集是否加密。如需相關資訊,請參閱 加密存放在 Amazon S3 中的 Athena 查詢結果

  • 中的資料 AWS Glue 資料目錄。如需相關資訊,請參閱 中加密中繼資料的權限 AWS Glue Data Catalog

注意

當您使用 Athena 讀取加密資料表時,Athena 會使用為表格資料指定的加密選項,而不是查詢結果的加密選項。如果針對查詢結果和表格資料設定個別的加密方法或金鑰,Athena 會讀取資料表資料,而不需使用加密選項和金鑰來加密或解密查詢結果。

不過,如果您使用 Athena 將資料插入已加密資料的資料表,Athena 會使用針對查詢結果指定的加密組態來加密插入的資料。例如,如果您為查詢結果指定CSE_KMS加密,Athena 會使用相同的加密 AWS KMS 您用於加密查詢結果的金鑰識別碼,用來加密插入的資料表資料CSE_KMS

支援的 Amazon S3 加密選項

Athena 支援下列 Simple Storage Service (Amazon S3) 中資料集和查詢結果的加密選項。

加密類型 描述 跨區域支援
SSE-S3 使用 Amazon S3 受管金鑰的伺服器端加密 (SSE)。
SSE-KMS 伺服器端加密 (SSE) AWS Key Management Service 客戶管理的金鑰。
注意

使用此加密類型時,Athena 不會要求您在建立資料表時指出資料已加密。

CSE-KMS

用戶端加密 (CSE) AWS KMS 客戶管理的金鑰。在 Athena 中,此選項要求您使用 CREATE TABLE 陳述式與指定 'has_encrypted_data'='true'TBLPROPERTIES 子句。如需詳細資訊,請參閱根據 Amazon S3 中的加密資料集建立資料表

如需關於 AWS KMS 使用 Amazon S3 加密,請參閱什麼是 AWS Key Management Service以及 Amazon Simple Storage Service (Amazon S3) 如何使用 AWS KMS 中的 AWS Key Management Service 開發人員指南。如需KMS搭配 Athena 使用KMS或 SSE CSE-的詳細資訊,請參閱啟動:Amazon Athena 新增支援查詢加密資料 AWS 大數據博客

不支援的選項

不支援下列加密選項:

  • SSE使用客戶提供的金鑰 (SSE-C)。

  • 使用用戶端受管金鑰的用戶端加密。

  • 非對稱金鑰。

若要比較 Amazon S3 加密選項,請參閱《Amazon Simple Storage Service 使用者指南》中的使用加密保護資料

用戶端加密工具

對於用戶端加密,請注意有兩種工具可用:

這些工具不相容,而且使用一個工具加密的資料無法由另一個工具解密。Athena 僅直接支援 Simple Storage Service (Amazon S3) 加密用戶端。如果您使用SDK來加密資料,您可以從 Athena 執行查詢,但資料會以加密文字的形式傳回。

如果您想要使用 Athena 查詢已使用 AWS 加密時SDK,您必須下載和解密資料,然後使用 Amazon S3 加密用戶端再次加密資料。

Amazon S3 中加密資料的許可

根據您在 Simple Storage Service (Amazon S3) 中使用的加密類型,您可能需要針對在 Athena 中使用的政策新增許可 (也稱為「允許」動作):

  • SSE-S3 — 如果您使用 SSE-S3 進行加密,Athena 使用者不需要其他政策的許可。有適當 Simple Storage Service (Amazon S3) 位置和 Athena 動作的適當 Simple Storage Service (Amazon S3) 許可即已足夠。如需有關允許適當 Athena 和 Simple Storage Service (Amazon S3) 許可的政策的詳細資訊,請參閱AWS Amazon Athena 的受管政策控制從 Athena 對 Amazon S3 的存取

  • AWS KMS— 如果您使用 AWS KMS 對於加密,Athena 使用者必須被允許執行特定 AWS KMS 除了 Athena 和 Amazon S3 許可之外的動作。您可以透過編輯的金鑰原則來允許這些動作 AWS KMS 用於CMKs在 Amazon S3 中加密資料的受管客戶。若要將金鑰使用者新增至適當的 AWS KMS 關鍵策略,您可以使用 AWS KMS 控制台在 https://console.aws.amazon.com/公里。如需如何將使用者新增至 AWS KMS 金鑰原則,請參閱允許關鍵使用者使用CMK中的 AWS Key Management Service 開發人員指南

    注意

    進階金鑰政策管理員可以調整金鑰政策。kms:Decrypt 是允許 Athena 使用者使用加密的資料集的最低允許動作。若要使用加密的查詢結果,允許的最低動作為 kms:GenerateDataKeykms:Decrypt

    使用 Athena 在 Amazon S3 中查詢含有大量物件的資料集時 AWS KMS, AWS KMS 可能會限制查詢結果。當存在大量小型物件時,這種情況更有可能發生。Athena 會退回重試請求,但仍可能發生調節錯誤。如果您正在處理大量加密物件並遇到此問題,其中一個選項是啟用 Amazon S3 儲存貯體金鑰以減少呼叫次數KMS。如需詳細資訊,請參閱 Amazon 簡單儲存服務使用者指南中的SSE使用 Amazon S3 儲存貯體金鑰降低成本。KMS另一種選擇是增加您的服務配額 AWS KMS。 如需詳細資訊請參閱 AWS Key Management Service 開發人員指南

如需有關搭配 Athena 使用 Simple Storage Service (Amazon S3) 時許可的疑難排解資訊,請參閱解決 Athena 的問題 主題的 許可 一節。

中加密中繼資料的權限 AWS Glue Data Catalog

如果您在中加密中繼資料 AWS Glue Data Catalog,您必須在"kms:GenerateDataKey"存取 Athena 時使用的原則新增"kms:Decrypt"、和"kms:Encrypt"動作。如需相關資訊,請參閱 設定從 Athena 存取加密中繼資料 AWS Glue Data Catalog