必要條件 - AWS Lake Formation

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

必要條件

在 AWS 您的帳戶可以與另一個帳戶中的另一個帳戶或主體共用 Data Catalog 資源 (資料庫和資料表) 之前,以及您可以存取與帳戶共用的資源之前,必須符合下列先決條件。

一般跨帳戶資料共用需求
  • 若要以混合存取模式共用 Data Catalog 資料庫和資料表,您需要將跨帳戶版本設定更新至版本 4

  • 在授予 Data Catalog 資源的跨帳戶許可之前,您必須撤銷資源IAMAllowedPrincipals群組的所有 Lake Formation 許可。如果呼叫主體具有跨帳戶存取資源的許可,且資源上有該IAMAllowedPrincipals許可,則 Lake Formation 會擲出 AccessDeniedException

    此要求僅適用於在 Lake Formation 模式中註冊基礎資料位置時。如果您以混合模式註冊資料位置,IAMAllowedPrincipals則群組許可可以存在於共用資料庫或資料表上。

  • 對於包含您要共用之資料表的資料庫,您必須防止新的資料表預設授予 SuperIAMAllowedPrincipals在 Lake Formation 主控台上,編輯資料庫並關閉 僅對此資料庫中的新資料表使用IAM存取控制,或輸入下列 AWS CLI 命令,database以資料庫的名稱取代 。如果基礎資料位置已註冊為混合存取模式,則不需要變更此預設設定。在混合存取模式中,Lake Formation 可讓您選擇性地強制執行 Amazon S3 和相同資源 AWS Glue 上的 Lake Formation 許可和IAM許可政策。

    aws glue update-database --name database --database-input '{"Name":"database","CreateTableDefaultPermissions":[]}'
  • 若要授予跨帳戶許可,授予者必須在 上具有必要的 AWS Identity and Access Management (IAM) 許可 AWS Glue AWS RAM 和服務。 AWS 受管政策會AWSLakeFormationCrossAccountManager授予所需的許可。

    使用 接收資源共用之帳戶中的資料湖管理員 AWS RAM 必須具有下列其他政策。它允許管理員接受 AWS RAM 資源共用邀請。它還允許管理員啟用與組織的資源共用。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ram:AcceptResourceShareInvitation", "ram:RejectResourceShareInvitation", "ec2:DescribeAvailabilityZones", "ram:EnableSharingWithAwsOrganization" ], "Resource": "*" } ] }
  • 如果您想要與 AWS Organizations 或 組織單位共用 Data Catalog 資源,則必須在 中啟用與組織共用 AWS RAM。

    如需如何啟用與組織共用的資訊,請參閱 AWS RAM 使用者指南 中的啟用與 AWS 組織共用

    您必須擁有ram:EnableSharingWithAwsOrganization許可才能與組織共用。

  • 若要直接與另一個帳戶中的IAM委託人共用資源,您需要將跨帳戶版本設定更新為第 3 版。此設定可在資料目錄設定頁面上取得。如果您使用的是版本 1,請參閱更新設定 的指示更新跨帳戶資料共用版本設定

  • 您無法將以 AWS Glue 服務受管金鑰加密的資料型錄資源與另一個 帳戶共用。您只能共用使用客戶加密金鑰加密的資料型錄資源,而接收資源共用的帳戶必須具有 Data Catalog 加密金鑰的許可才能解密物件。

使用 LF TBAC要求進行跨帳戶資料共用
  • 若要與 AWS Organizations 和 組織單位 (OUs) 共用 Data Catalog 資源,您需要將跨帳戶版本設定更新至版本 3

  • 若要與跨帳戶版本設定 的第 3 版共用 Data Catalog 資源,授予者需要擁有AWSLakeFormationCrossAccountManager您帳戶中 AWS 受管政策中定義的IAM許可。

  • 如果您使用的是跨帳戶版本設定 的第 1 版或第 2 版,您必須具有啟用 LF- 的資料目錄資源政策 (glue:PutResourcePolicy)TBAC。如需詳細資訊,請參閱使用兩者管理跨帳戶許可 AWS Glue 和 Lake Formation

  • 如果您目前正在使用 AWS Glue 要共用資源的資料目錄資源政策,而且您想要使用跨帳戶版本設定 的第 3 版授予跨帳戶許可,您必須使用 操作在資料目錄設定中新增glue:ShareResource許可glue:PutResourcePolicyAPI,如 使用兩者管理跨帳戶許可 AWS Glue 和 Lake Formation一節所示。如果您的帳戶未使用 進行跨帳戶授予,則不需要此政策 AWS Glue Data Catalog 資源政策 (第 1 版和第 2 版使用glue:PutResourcePolicy許可) 授予跨帳戶存取權。

    { "Effect": "Allow", "Action": [ "glue:ShareResource" ], "Principal": {"Service": [ "ram.amazonaws.com" ]}, "Resource": [ "arn:aws:glue:<region>:<account-id>:table/*/*", "arn:aws:glue:<region>:<account-id>:database/*", "arn:aws:glue:<region>:<account-id>:catalog" ] }
  • 如果您的 帳戶使用 進行跨帳戶共用 AWS Glue Data Catalog 資源政策,而且您目前使用具名資源方法,或 LF-TBAC 搭配跨帳戶設定第 3 版來共用資源,這些資源 AWS RAM 用於共用資源,您必須在叫用glue:PutResourcePolicyAPI操作'true'時將EnableHybrid引數設定為 。如需詳細資訊,請參閱使用兩者管理跨帳戶許可 AWS Glue 和 Lake Formation

存取共用資源的每個帳戶中所需的設定
  • 如果您要與 共用資源 AWS 帳戶,則取用者帳戶中至少有一個使用者必須是資料湖管理員,才能檢視共用資源。如需有關如何建立資料湖管理員的資訊,請參閱 建立資料湖管理員

    資料湖管理員可以將共用資源的 Lake Formation 許可授予帳戶中的其他主體。在資料湖管理員授予資源許可之前,其他主體無法存取共用資源。

  • Athena 和 Redshift Spectrum 等整合服務需要資源連結,才能在查詢中包含共用資源。主體需要在其 Data Catalog 中建立資源連結,以從另一個 共用資源 AWS 帳戶。如需資源連結的詳細資訊,請參閱 資源連結在 Lake Formation 中如何運作

  • 當資源直接與IAM委託人共用時,若要使用 Athena 查詢資料表,委託人需要建立資源連結。若要建立資源連結,主體需要 Lake Formation CREATE_TABLECREATE_DATABASE許可,以及 glue:CreateTableglue:CreateDatabaseIAM許可。

    如果生產者帳戶在相同資料庫中與相同或另一個主體共用不同的資料表,則該主體可以立即查詢資料表。

注意

對於資料湖管理員和資料湖管理員已授予許可的主體,共用資源會顯示在資料目錄中,就像是本機 (擁有) 資源一樣。擷取、轉換和載入 (ETL) 任務可以存取共用資源的基礎資料。

對於共用資源,Lake Formation 主控台上的資料表資料庫頁面會顯示擁有者的帳戶 ID。

存取共用資源的基礎資料時, CloudTrail 日誌事件會在共用資源接收者的帳戶和資源擁有者帳戶中產生。 CloudTrail 事件可以包含存取資料的主體ARN的 ,但前提是收件人帳戶選擇在日誌ARN中包含主體。如需詳細資訊,請參閱跨帳戶 CloudTrail 記錄