本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
第 1 步:提供对其他账户的细粒度访问权限
了解账户 A 的数据湖管理员如何为账户 B 提供细粒度访问权限。
授予对其他账户的细粒度访问权限
Amazon Web Services Management Console 以数据湖管理员的身份登录账户 A 中的 https://console.aws.amazon.com/connect/
。 打开 Lake Formation 控制台 (https://console.aws.amazon.com/lakeformation/
),然后选择开始使用。 在导航窗格中,选择数据库。
选择创建数据库。
在数据库详细信息部分,选择数据库。
对于名称,输入名称(在本教程中,我们使用
sampledb01
)。确保未选中仅对此数据库中的新表使用 IAM 访问控制。如果不选择此选项,我们便可以从 Lake Formation 控制访问。
选择创建数据库。
在数据库页面上,选择您的数据库
sampledb01
。在操作菜单上选择授权。
在授予权限部分,选择外部账户。
对于 Amazon Web Services 账户 ID 或 Amazon 组织 ID,请在 OU2 中输入账户 B 的账户 ID。
对于表,选择您希望账户 B 有权访问的表(在本博文中,我们使用表
acc_a_area
)。(可选)您可以授予对表中列的访问权限,我们在本文中便执行了此操作。对于包括列,选择您希望账户 B 有权访问的列(在博文中,我们授予对类型、名称和标识符的权限)。
对于列,选择包括列。
对于表权限,选择选择。
对于可授予的权限,选择选择。账户 B 中的管理用户需要拥有可授予的权限,这样才能向账户 B 中的其他用户授予权限。
选择授权。
在导航窗格中,选择表。
您可以在 “ Amazon Web Services 账户 和具有访问权限的 Amazon 组织” 部分中看到一个活动连接。
创建资源链接
Amazon Athena 等集成式服务无法跨账户直接访问数据库或表。因此,您需要创建一个资源链接,这样 Athena 才能访问您账户中指向其他账户中数据库和表的资源链接。创建指向表 (acc_a_area
) 的资源链接,以便账户 B 用户可以使用 Athena 查询其数据。
在账户 B 中通过 https://console.aws.amazon.com/connect/ Amazon
登录主机 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 提供了对其的访问权限的列值。