本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
跨账户数据共享最佳实践和注意事项
Lake Formation 跨账户功能允许用户安全地跨多个 Amazon 组织共享分布式数据湖 Amazon Web Services 账户,或者直接与其他账户中的 IAM 委托人共享分布式数据湖,从而提供对数据目录元数据和底层数据的精细访问权限。
使用 Lake Formation 跨账户数据共享时,请考虑以下最佳实践:
-
您可以向自己 Amazon 账户中的委托人授予的 Lake Formation 权限数量没有限制。但是,Lake For Amazon Resource Access Manager mation 使用 (Amazon RAM) 容量进行跨账户授权,您的账户可以使用指定的资源方法进行跨账户授权。要最大限度地提高 Amazon RAM 容量,请遵循指定资源方法的以下最佳实践:
-
使用新的跨账户授予模式(跨账户版本设置下的版本 3 及更高版本)与外部 Amazon Web Services 账户用户共享资源。有关更多信息,请参阅 更新跨账户数据共享版本设置。
-
将 Amazon 账户整理到组织中,并向组织或组织单位授予权限。每向组织或组织单位进行一次授权都计为一次授权。
授予组织或组织单位还无需接受 Amazon Resource Access Manager (Amazon RAM) 资源共享邀请即可获得授权。有关更多信息,请参阅 访问和查看共享数据目录表和数据库。
-
可以使用特殊的所有表 通配符来授予对数据库中所有表的权限,而不必授予对数据库中许多单独表的权限。每针对所有表授予一次权限都计为一次授权。有关更多信息,请参阅 授予对数据目录资源的权限。
注意
有关请求提高资源共享数量限制的更多信息 Amazon RAM,请参阅中的Amazon 服务配额Amazon Web Services 一般参考。
-
-
您必须创建指向共享数据库的资源链接,该数据库才能出现在 Amazon Athena 和 Amazon Redshift Spectrum 查询编辑器中。同样,为了能够使用 Athena 和 Redshift Spectrum 查询共享表,您必须创建指向这些表的资源链接。之后,资源链接便会出现在查询编辑器的表列表中。
您可以使用所有表通配符来授予对数据库中所有表的权限,而不必为许多要查询的单独表创建资源链接。然后,当您为该数据库创建资源链接并在查询编辑器中选择该数据库资源链接时,您将可以访问该数据库中的所有表进行查询。有关更多信息,请参阅 创建资源链接。
-
当您直接与其他账户中的主体共享资源时,接收方账户中的 IAM 主体可能无权创建资源链接,因而无法使用 Athena 和 Amazon Redshift Spectrum 查询共享表。数据湖管理员可以创建占位符数据库并向
ALLIAMPrincipal
组授予CREATE_TABLE
权限,而不必为每个共享的表创建资源链接。然后,接收方账户中的所有 IAM 主体均可以在占位符数据库中创建资源链接并开始查询共享表。请参阅使用命名资源方法授予数据库权限中有关向
ALLIAMPrincipals
授予权限的 CLI 命令示例。 -
Athena 和 Redshift Spectrum 支持列级别访问控制,但仅限于包含,不支持排除。中不支持列级访问控制 Amazon Glue ETL 职位。
-
当资源与您的 Amazon 账户共享时,您只能向账户中的用户授予该资源的权限。您不能向其他 Amazon 账户、组织(甚至不是您自己的组织)或
IAMAllowedPrincipals
群组授予该资源的权限。 -
您不能向外部账户授予对数据库的
DROP
或Super
权限。 -
在删除数据库或表之前,请撤销跨账户权限。否则,您必须删除中的孤立资源共享。 Amazon Resource Access Manager
另请参阅
-
有关跨账户访问的更多规则和限制,请参阅Lake Formation 权限参考中的CREATE_TABLE。