第 2 步:Lake Formation 跨账户共享先决条件 - Amazon Lake Formation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

第 2 步:Lake Formation 跨账户共享先决条件

在与 Lake Formation 共享资源之前,基于标签的访问控制方法和命名资源方法都有先决条件。

完整基于标签的访问控制跨账户共享先决

  • 在使用基于标签的访问控制方法授予跨账户对资源的访问权限之前,必须添加以下内容JSON权限对象指向生产者账户中的数据目录资源策略。此操作授予消费者账户访问数据目录的权限:glue:EvaluatedByLakeFormationTags是 true。此外,对于您使用 Lake Formation 权限标签向消费者账户授予权限的资源,此条件将变成真实。每个政策都是必需的。Amazon Web Services 账户向其授予权限。

    以下政策必须在Statement元素。我们将在下一节中讨论完整的 IAM 策略。

    { "Effect": "Allow", "Action": [ "glue:*" ], "Principal": { "AWS": [ "consumer-account-id>" ] }, "Resource": [ "arn:aws:glue:region:account-id:table/*", "arn:aws:glue:region:account-id:database/*", "arn:aws:glue:region:account-id:catalog" ], "Condition": { "Bool": { "glue:EvaluatedByLakeFormationTags": true } } }

完成命名资源方法跨账户共享先决条

  1. 如果您的账户中没有数据目录资源策略,则会像往常一样继续执行 Lake Formation 跨账户授权。但是,如果存在数据目录资源策略,则必须向其中添加以下语句,以允许跨账户授予在使用命名资源方法进行的情况下成功。如果您计划仅使用指定资源方法,或仅使用基于标签的访问控制方法,则可以跳过此步骤。在本教程中,我们评估这两种方法,我们需要添加以下策略。

    以下政策必须在Statement元素。我们将在下一节中讨论完整的 IAM 策略。

    { "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" ] }
  2. 下一步,添加Amazon Glue Data Catalog; 资源策略使用Amazon Command Line Interface(Amazon CLI)。

    如果您通过使用基于标签的访问控制方法和命名资源方法授予跨账户权限,则必须将EnableHybrid添加前面的策略时,参数为 “true”。由于控制台当前不支持此选项,因此您必须使用glue:PutResourcePolicyAPI 和Amazon CLI.

    首先,创建一个策略文档(例如 Policy .json)并添加前两个策略。Replace消费者账户 ID使用账户 ID的Amazon Web Services 账户收到补助金,领域其中包含要授予权限的数据库和表的数据目录的区域,以及account-id和创建器一起Amazon Web Services 账户ID。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ram.amazonaws.com" }, "Action": "glue:ShareResource", "Resource": [ "arn:aws:glue:region:account-id:table/*/*", "arn:aws:glue:region:account-id:database/*", "arn:aws:glue:region:account-id:catalog" ] }, { "Effect": "Allow", "Principal": { "AWS": "region:account-id" }, "Action": "glue:*", "Resource": [ "arn:aws:glue:region:account-id:table/*/*", "arn:aws:glue:region:account-id:database/*", "arn:aws:glue:region:account-id:catalog" ], "Condition": { "Bool": { "glue:EvaluatedByLakeFormationTags": "true" } } } ] }

    输入以下信息Amazon CLI命令。Replace胶水资源政策使用正确的值(例如 file: //Policy .json)。

    aws glue put-resource-policy --policy-in-json glue-resource-policy --enable-hybrid TRUE

    有关更多信息,请参阅 。放置资源策略。