跨区域访问表 - Amazon Lake Formation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

跨区域访问表

Lake Formation 支持跨 Amazon 区域查询数据目录表。您可以使用 Amazon Athena、Amazon EMR 和 ETL 访问其他区域中的数据 Amazon Glue ,方法是在其他区域创建指向源数据库和表的资源链接。通过跨区域表访问功能,您可以跨区域访问数据,而无需将基础数据或元数据复制到数据目录中。

例如,您可以将制作者账户中的数据库或表共享给区域 A 中的使用者账户。接受区域 A 中的资源共享邀请后,使用者账户的数据湖管理员可以创建指向区域 B 中共享资源的资源链接。使用者账户管理员可以向区域 A 中该账户中的 IAM 主体授予对共享资源的权限,并可以授予区域 B 中的资源链接权限。使用资源链接,使用者账户中的主体可以查询区域 B 中的共享数据。

您还可以在制作者账户中托管 A 区域的 Amazon S3 数据来源,并在区域 B 的中央账户中注册数据位置。您可以在中央账户中创建数据目录资源,设置 Lake Formation 权限,并与您账户中的使用者或区域 B 中的外部账户共享数据。跨区域功能让用户可以使用资源链接从区域 C 访问这些数据目录表。

使用此功能,您可以跨区域查询 Apache Hive 元存储中的联合数据库,还可以在运行查询时将本地区域中的表与其他区域的表联接起来。

Lake Formation 通过跨区域表访问功能支持以下功能:

  • 基于 LF 标签的访问控制

  • 细粒度访问控制权限

  • 使用适当的权限对共享数据库或表执行写入操作

  • 在账户级别以及直接与 IAM 主体跨账户共享数据

具有 Create_DatabaseCreate_Table 权限的非管理用户可以创建跨区域资源链接。

注意

您可以在任何区域创建跨区域资源链接并访问数据,而无需应用 Lake Formation 权限。对于未在 Lake Formation 中注册的 Amazon S3 中的源数据,访问权限由亚马逊 S3 的 IAM 权限策略和 Amazon Glue 操作决定。

有关限制,请参阅跨区域数据访问限制

工作流

下图显示了使用同一 Amazon 账户和外部账户跨 Amazon 区域访问数据的工作流程。

访问同一个 Amazon 账户内共享的表格的工作流程

在下图中,数据与美国东部(弗吉尼亚北部)地区的同一 Amazon 账户中的用户共享,用户查询欧洲(爱尔兰)地区的共享数据。

数据湖管理员执行以下活动(第 1-2 步):

  1. 数据湖管理员使用数据目录数据库和表设置 Amazon 账户,并在美国东部(弗吉尼亚北部)区域的 Lake Formation 中注册一个 Amazon S3 数据位置。

    向同一账户中的主体(用户)授予对数据目录资源(图中为 Product 表)的 Select 权限。

  2. 在欧洲地区(爱尔兰)区域中创建指向美国东部(弗吉尼亚州北部)区域中源表的资源链接。向主体授予对欧洲地区(爱尔兰)区域资源链接的 DESCRIBE 权限。

  3. 用户从欧洲地区(爱尔兰)区域使用 Athena 查询该表。

访问与外部 Amazon 账户共享的表格的工作流程

在下图中,制作者账户(账户 A)托管 Amazon S3 存储桶,注册数据位置,并与美国东部(弗吉尼亚州北部)区域的使用者账户(账户 B)共享数据目录表,使用者账户(账户 B)中的用户从欧洲地区(爱尔兰)区域查询该表。

  1. 数据湖管理员使用数据目录资源和在美国东部(弗吉尼亚北部)区域的 Lake Formation 注册的 Amazon S3 数据位置来设置一个账户(创建者账户)。 Amazon

  2. 制作者账户的数据湖管理员与使用者账户共享数据目录表。

  3. 使用者账户的数据湖管理员接受美国东部(弗吉尼亚州北部)区域的数据共享邀请,并向来自同一区域的主体授予对共享表的 Select 权限。

  4. 使用者账户的数据湖管理员在欧洲地区(爱尔兰)区域创建指向美国东部(弗吉尼亚州北部)区域的目标共享表的资源链接,并向用户授予对欧洲地区(爱尔兰)区域中该资源链接的 DESCRIBE 权限。

  5. 用户从欧洲地区(爱尔兰)区域使用 Athena 查询数据。