管理 Lake Formation 和 Athena 使用者許可 - Amazon Athena

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

管理 Lake Formation 和 Athena 使用者許可

Lake Formation 提供憑證來查詢向 Lake Formation 註冊的 Simple Storage Service (Amazon S3) 資料存放區。如果您之前使用 IAM 政策來允許或拒絕讀取 Simple Storage Service (Amazon S3) 中資料位置的許可,您可以改為使用 Lake Formation 許可。不過,仍需要其他 IAM 許可。

每當您使用 IAM 政策時,請務必遵循 IAM 最佳實務。如需詳細資訊,請參閱《IAM 使用者指南》中的 IAM 中的安全性最佳實務

以下章節摘要說明使用 Athena 查詢在 Lake Formation 中註冊之資料所需的許可。如需詳細資訊,請參閱《AWS Lake Formation 開發人員指南》中的 AWS Lake Formation的安全性

Lake Formation 和 Athena 的身分型許可

任何使用 Athena 查詢向 Lake Formation 註冊之資料的人,都必須擁有允許 lakeformation:GetDataAccess 動作的 IAM 許可政策。AWS 受管理的策略: AmazonAthenaFullAccess 允許此動作。如果您使用內嵌政策,請務必更新許可政策來允許此動作。

在 Lake Formation 中,資料湖管理員具有建立中繼資料物件 (例如資料庫和資料表)、授予 Lake Formation 許可給其他使用者,以及註冊新 Simple Storage Service (Amazon S3) 位置的許可。若要註冊新的位置,需要 Lake Formation 的服務連結角色許可。如需詳細資訊,請參閱《AWS Lake Formation 開發人員指南》中的建立資料湖管理員Lake Formation 的服務連結角色許可

Lake Formation 使用者可以根據資料湖管理員授予的 Lake Formation 許可,使用 Athena 查詢資料庫、資料表、資料表資料欄和基礎 Simple Storage Service (Amazon S3) 資料存放區。使用者無法建立資料庫或資料表,或向 Lake Formation 註冊新的 Simple Storage Service (Amazon S3) 位置。如需詳細資訊,請參閱《AWS Lake Formation 開發人員指南》中的建立資料湖使用者

在 Athena 中,身分型許可政策 (包括 Athena 工作群組的政策) 仍然控制 Amazon Web Services 帳戶使用者對 Athena 動作的存取。此外,還可能透過 Athena 驅動程式提供以 SAML 為基礎的身分驗證來提供聯合存取。如需詳細資訊,請參閱使用工作群組來控制查詢存取和成本 用於存取工作群組的 IAM 政策啟用對 Athena API 的聯合存取

如需詳細資訊,請參閱《AWS Lake Formation 開發人員指南》中的授予 Lake Formation 許可

Athena 查詢結果位置的 Amazon S3 許可

Simple Storage Service (Amazon S3) 中的 Athena 查詢結果無法向 Lake Formation 註冊。Lake Formation 許可不會限制對這些位置的存取。除非您限制存取,否則 Athena 使用者可以在沒有 Lake Formation 的資料許可時存取查詢結果檔案和中繼資料。若要避免這種情況,我們建議您使用工作群組來指定查詢結果的位置,並使工作群組成員資格與 Lake Formation 許可保持一致。然後,您可以使用 IAM 許可政策來限制查詢結果位置的存取。如需有關查詢結果的詳細資訊,請參閱使用查詢結果、近期查詢和輸出檔案

查詢歷史記錄的 Athena 工作群組成員資格

Athena 查詢歷史記錄會公開已儲存查詢和完整查詢字串的清單。除非您使用工作群組來分隔查詢歷程記錄的存取權限,否則未獲授權在 Lake Formation 中查詢資料的 Athena 使用者可以檢視對該資料執行的查詢字串,包括資料欄名稱、選取準則等。我們建議您使用工作群組來分隔查詢歷程記錄,並使 Athena 工作群組成員資格與 Lake Formation 許可保持一致,以限制存取。如需詳細資訊,請參閱使用工作群組來控制查詢存取和成本

Lake Formation 的資料許可

除了使用 Lake Formation 的基準許可之外,Athena 使用者還必須具備 Lake Formation 許可,才能存取其查詢的資源。這些許可是由 Lake Formation 管理員授予和管理。如需詳細資訊,請參閱《AWS Lake Formation 開發人員指南》中的中繼資料與資料的安全性與存取控制

寫入 Amazon S3 位置的 IAM 許可

對 Simple Storage Service (Amazon S3) 的 Lake Formation 許可不包含寫入 Simple Storage Service (Amazon S3) 的能力。Create Table As Statements (CTAS) 需要對資料表的 Simple Storage Service (Amazon S3) 位置的寫入存取權限。若要對在 Lake Formation 註冊的資料執行 CTAS 查詢,Athena 使用者除了適當的 Lake Formation 許可以讀取資料位置之外,還必須具有 IAM 許可才能寫入資料表 Simple Storage Service (Amazon S3) 位置。如需詳細資訊,請參閱從查詢結果建立資料表 (CTAS)

加密資料、中繼資料和 Athena 查詢結果的許可

在 Simple Storage Service (Amazon S3) 中的基礎來源資料,以及向 Lake Formation 註冊的資料目錄中繼資料都可以加密。使用 Athena 查詢向 Lake Formation 註冊的資料時,Athena 處理查詢結果加密的方式沒有變更。如需詳細資訊,請參閱 加密 Amazon S3 中存放的 Athena 查詢結果

  • 加密來源資料 – 支援 Simple Storage Service (Amazon S3) 資料位置來源資料的加密。查詢向 Lake Formation 註冊的已加密 Simple Storage Service (Amazon S3) 位置的 Athena 使用者,需要加密和解密資料的許可。如需有關需求的詳細資訊,請參閱支援的 Amazon S3 加密選項Amazon S3 中加密資料的許可

  • 加密中繼資料 – 支援加密資料目錄內的中繼資料。對於使用 Athena 的主體,身分型政策必須允許用於加密中繼資料之索引鍵的 "kms:GenerateDataKey""kms:Decrypt""kms:Encrypt" 動作。如需相關資訊,請參閱《AWS Glue 開發人員指南》和 從 Athena 存取加密的中繼資料 AWS Glue Data Catalog 中的加密您的資料型錄

外部帳戶中的 Amazon S3 儲存貯體以資源為基礎的許可 (選用)

若要在不同帳戶中查詢 Simple Storage Service (Amazon S3) 資料位置,以資源為基礎的 IAM 政策 (儲存貯體政策) 必須允許存取該位置。如需詳細資訊,請參閱Athena 中的 Amazon S3 儲存貯體跨帳戶存取

如需有關在其他帳戶中存取資料目錄的資訊,請參閱Athena 跨帳戶存取資料目錄