靜態加密 - 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 內加密中繼資料的許可

注意

用於查詢 Simple Storage Service (Amazon S3) 中的加密資料集的設定,以及 Athena 中用來加密查詢結果的選項是獨立的。每個選項可分別啟用和設定。您可以對每一個使用不同的加密方法或金鑰。這表示讀取 Simple Storage Service (Amazon S3) 中加密的資料不會自動加密 Simple Storage Service (Amazon S3) 中的 Athena 查詢結果。反之亦然。在 Simple Storage Service (Amazon S3) 中加密 Athena 查詢結果不會加密 Simple Storage Service (Amazon S3) 中的基礎資料集。

支援的 Amazon S3 加密選項

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

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

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

CSE-KMS

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

如需使用 Amazon S3 AWS KMS 加密的詳細資訊,請參閱AWS Key Management Service 開發人員指南中的 Amazon Simple Storage Service (Amazon S3) 使用 AWS KMS方式 AWS Key Management Service和使用方式。如需有關搭配 Athena 使用 SSE-KMS 或 CSE-KMS 的詳細資訊,請參閱 AWS 大數據部落格啟動:Amazon Athena 新增對查詢加密資料的支援

不支援的選項

不支援下列加密選項:

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

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

  • 非對稱金鑰。

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

用戶端加密工具

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

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

如果您想要使用 Athena 來查詢已使用 AWS Encryption 軟體開發套件加密的資料,您必須先下載並解密資料,然後使用 Simple Storage Service (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) 許可的政策的詳細資訊,請參閱Amazon Athena 的 AWS 受管政策存取 Amazon S3

  • AWS KMS— 如果您用 AWS KMS 於加密,除了 Athena 和 Amazon S3 許可之外,還必須允許 Athena 使用者執行特定 AWS KMS 動作。您可以編輯用於在 Amazon S3 中加密資料之 AWS KMS 客戶受管 CMK 的金鑰政策,以允許這些動作。若要將金鑰使用者新增至適當的 AWS KMS 金鑰原則,您可以使用 AWS KMS 主控台,網址為 https://console.aws.amazon.com/kms。如需如何將使用者新增至 AWS KMS 金鑰原則的詳細資訊,請參閱AWS Key Management Service 開發人員指南的允許金鑰使用者使用 CMK

    注意

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

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

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

AWS Glue Data Catalog 內加密中繼資料的許可

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