本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
访问共享表的底层数据
假定Amazon账户 A 与账户 B 共享数据目录表-例如,通过授予SELECT
如果账户 B 的表格上有授予选项,为了使账户 B 中的委托人能够读取共享表的基础数据,必须满足以下条件:
-
账户 B 中的数据湖管理员必须接受该共享。(如果账户 A 和 B 位于同一组织中,或者如果授权是使用基于 Lake Formation 标签的访问控制方法进行的,则没有必要这样做。)
-
数据湖管理员必须向委托人重新授予 Lake Formation
SELECT
该账户 A 授予对共享表的权限。 -
委托人必须对表、包含该表的数据库和账户 A 数据目录具有以下 IAM 权限。
注意 在以下 IAM 策略中:
-
Replace
<account-id-A>
使用Amazon账户 A 的账户 ID -
Replace
<region>
具有有效的地区。 -
Replace
<database>
其中包含共享表的账户 A 中的数据库的名称。 -
Replace
<table>
使用共享表的名称。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetTable", "glue:GetTables", "glue:GetPartition", "glue:GetPartitions", "glue:BatchGetPartition", "glue:GetDatabase", "glue:GetDatabases" ], "Resource": [ "arn:aws:glue:
<region>
:<account-id-A>
:table/<database>
/<table>
", "arn:aws:glue:<region>
:<account-id-A>
:database/<database>
", "arn:aws:glue:<region>
:<account-id-A>
:catalog" ] }, { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess" ], "Resource": [ "arn:aws:lakeformation:<region>
:<account-id-A>
:catalog:<account-id-A>
" ], "Condition": { "StringEquals": { "lakeformation:GlueARN":"arn:aws:glue:<region>
:<account-id-A>
:table/<database>
/<table>
" } } } ] } -