第 1 步:提供对其他账户的细粒度访问权限 - Amazon Lake Formation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

第 1 步:提供对其他账户的细粒度访问权限

了解账户 A 的数据湖管理员如何为账户 B 提供细粒度访问权限。

授予对其他账户的细粒度访问权限
  1. 以数据湖管理员身份通过账户 A 登录 Amazon Web Services Management Console (https://console.aws.amazon.com/connect/)。

  2. 打开 Lake Formation 控制台 (https://console.aws.amazon.com/lakeformation/),然后选择开始使用

  3. 在导航窗格中,选择数据库

  4. 选择 Create database(创建数据库)。

  5. 数据库详细信息部分,选择数据库

  6. 对于名称,输入名称(在本教程中,我们使用 sampledb01)。

  7. 确保未选中仅对此数据库中的新表使用 IAM 访问控制。如果不选择此选项,我们便可以从 Lake Formation 控制访问。

  8. 选择 Create database(创建数据库)。

  9. 数据库页面上,选择您的数据库 sampledb01

  10. 操作菜单上选择授权

  11. 授予权限部分,选择外部账户

  12. 对于 Amazon Web Services 账户 ID 或 Amazon 组织 ID,请在 OU2 中输入账户 B 的账户 ID。

  13. 对于,选择您希望账户 B 有权访问的表(在本博文中,我们使用表 acc_a_area)。(可选)您可以授予对表中列的访问权限,我们在本文中便执行了此操作。

  14. 对于包括列,选择您希望账户 B 有权访问的列(在博文中,我们授予对类型、名称和标识符的权限)。

  15. 对于,选择包括列

  16. 对于表权限,选择选择

  17. 对于可授予的权限,选择选择。账户 B 中的管理用户需要拥有可授予的权限,这样才能向账户 B 中的其他用户授予权限。

  18. 选择授权

  19. 在导航窗格中,选择

  20. 您可以在“具有访问权限的 Amazon Web Services 账户 和 Amazon 组织”部分中看到一个活动连接。

创建资源链接

Amazon Athena 等集成式服务无法跨账户直接访问数据库或表。因此,您需要创建一个资源链接,这样 Athena 才能访问您账户中指向其他账户中数据库和表的资源链接。创建指向表 (acc_a_area) 的资源链接,以便账户 B 用户可以使用 Athena 查询其数据。

  1. 在账户 B 中以 testuser1 身份登录 Amazon 控制台 (https://console.aws.amazon.com/connect/)。

  2. 在 Lake Formation 控制台 (https://console.aws.amazon.com/lakeformation/) 上的导航窗格中,选择。您应该会看到账户 A 已提供对其的访问权限的表。

  3. 选择 acc_a_area 表。

  4. 操作菜单上,选择创建资源链接

  5. 对于资源链接名称,输入名称(在本教程中,为 acc_a_area_rl)。

  6. 对于数据库,选择您的数据库 (testdb)。

  7. 选择 Create(创建)。

  8. 在导航窗格中,选择

  9. 选择 acc_b_area_rl 表。

  10. 操作菜单上,选择查看数据

    您将被重定向到 Athena 控制台,在该控制台中,您应该可以看到数据库和表。

    现在,您可以对该表运行查询,以查看向账户 B 中 testuser1 提供了对其的访问权限的列值。