本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
第 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 } } }
完成命名资源方法跨账户共享先决条
-
如果您的账户中没有数据目录资源策略,则会像往常一样继续执行 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" ] } 下一步,添加Amazon Glue Data Catalog; 资源策略使用Amazon Command Line Interface(Amazon CLI)。
如果您通过使用基于标签的访问控制方法和命名资源方法授予跨账户权限,则必须将
EnableHybrid
添加前面的策略时,参数为 “true”。由于控制台当前不支持此选项,因此您必须使用glue:PutResourcePolicy
API 和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有关更多信息,请参阅 。放置资源策略。