本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
第 1 步:精细访问其他账户
了解账户 A 的数据湖管理员如何为账户 B 提供细粒度的访问权限。
授予精细访问权限的用户
Amazon Web Services Management Console以数据湖管理员的身份登录账户 A 中的 https://console.aws.amazon.com/connect/
。 打开 Lake Formation 控制台 (https://console.aws.amazon.com/lakeformation/
),然后选择 “开始”。 在导航窗格中,选择 Databases(数据库)。
选择创建数据库。
在数据库详细信息部分中,选择数据库。
对于名称,输入一个名称(对于本教程,我们使用
sampledb01
)。确保未选择 “仅对此数据库中的新表使用 IAM 访问控制”。如果不选择此选项,我们可以控制来自FormationLake Formation 的访问权限。
选择 Create database(创建数据库)。
在数据库页面上,选择您的数据库
sampledb01
。在 “操作” 菜单上,选择 “授予”。
在授予权限部分中,选择外部帐户。
对于Amazon Web Services 账户 ID 或Amazon组织 ID,在 OU2 中输入账户 B 的账户 ID。
对于表,选择你希望账户 B 有权访问的表(对于这篇文章,我们使用表格
acc_a_area
)。或者,您可以授予对表中列的访问权限,我们在本文中就是这样做的。对于包含列,选择您希望账户 B 有权访问的列(对于这篇文章,我们授予类型、名称和标识符的权限)。
对于 “列”,选择 “包括列”。
对于 “表” 权限,选择 “选择”。
对于 “可授予权限”,选择 “选择”。需要可授予的权限,这样账户 B 中的管理员用户才能向账户 B 中的其他用户授予权限。
选择 Grant(授权)。
在导航窗格中,选择表。
您可以在 “Amazon Web Services 账户和具有访问权限的Amazon组织” 部分中看到一个活跃的连接。
创建创建创建创建精细资源链路
像 Amazon Athena 这样的集成服务无法直接访问跨账户的数据库或表。因此,您需要创建资源链接,以便 Athena 可以访问您账户中指向其他账户中数据库和表的资源链接。创建指向表 (acc_a_area
) 的资源链接,以便账户 B 用户可以使用 Athena 查询其数据。
以 https://console.aws.amazon.com/connect/
的身份登录账户 BAmazon 的主机 testuser1
。在 Lake Formation 控制台 (https://console.aws.amazon.com/lakeformation/
) 的导航窗格中,选择表格。您应该看到账户 A 提供访问权限的表。 选择
acc_a_area
表。在 “操作” 菜单上,选择 “创建资源链接”。
对于资源链接名称,输入一个名称(对于本教程,
acc_a_area_rl
)。对于数据库,选择您的数据库 (
testdb
)。选择创建。
在导航窗格中,选择表。
选择
acc_b_area_rl
表。在 “操作” 菜单上,选择 “查看数据”。
您将被重定向到 Athena 控制台,您应该在那里看到数据库和表。
现在,您可以对表运行查询,以查看从账户 B 向 testuser1 提供访问权限的列值。