更新跨账户数据共享版本设置 - Amazon Lake Formation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

更新跨账户数据共享版本设置

Amazon Lake Formation 会时不时地更新跨账户数据共享设置,以区分 Amazon RAM 使用情况的变化,并支持跨账户数据共享功能的更新。当 Lake Formation 执行此操作时,它会创建新版本的跨账户版本设置

跨账户版本设置之间的主要区别

有关如何在不同跨账户版本设置下进行跨账户数据共享的更多信息,请参阅以下章节。

注意

要与其他账户共享数据,授予者必须拥有 AWSLakeFormationCrossAccountManager 托管 IAM 策略权限。这是所有版本的先决条件。

更新跨账户版本设置不会影响接收方对共享资源的权限。这适用于从版本 1 更新为版本 2、从版本 2 更新为版本 3 以及从版本 1 更新为版本 3 的情况。更新版本时,请参阅下面列出的注意事项。

版本 1

命名资源方法:将每个跨账户 Lake Formation 权限授予映射到一个 Amazon RAM 资源共享。用户(授予者角色或主体)不需要其他权限。

LF-TBAC 方法:跨账户 Lake Formation 权限授予不使用 Amazon RAM 来共享数据。您必须拥有 glue:PutResourcePolicy 权限。

更新版本的好处:初始版本 - 不适用。

更新版本时的注意事项:初始版本 - 不适用

版本 2

命名资源方法:通过将多个跨账户权限授予映射到一个 Amazon RAM 资源共享来优化 Amazon RAM 资源共享的数量。用户不需要额外的权限。

LF-TBAC 方法:跨账户 Lake Formation 权限授予不使用 Amazon RAM 来共享数据。您必须拥有 glue:PutResourcePolicy 权限。

更新版本的好处:通过优化 Amazon RAM 容量的利用率实现可扩展的跨账户设置。

更新版本时的注意事项:想要授予跨账户 Lake Formation 权限的用户必须拥有 AWSLakeFormationCrossAccountManager Amazon 托管策略中的权限。否则,您需要拥有 ram:AssociateResourceShareram:DisassociateResourceShare 权限才能成功与其他账户共享资源。

版本 3

命名资源方法:通过将多个跨账户权限授予映射到一个 Amazon RAM 资源共享来优化 Amazon RAM 资源共享的数量。用户不需要额外的权限。

LF-TBAC 方法:Lake Formation 使用 Amazon RAM 进行跨账户授权。用户必须在 glue:PutResourcePolicy 权限中添加 glue:ShareResource 语句。接收方必须接受 Amazon RAM 的资源共享邀请。

更新版本的好处:支持以下功能:

  • 允许与外部账户中的 IAM 主体显式共享资源。

    有关更多信息,请参阅授予对数据目录资源的权限

  • 使用 LF-TBAC 方法为组织或组织单位 (OU) 启用跨账户共享。

  • 消除了用于维护适用于跨账户授权的额外 Amazon Glue 策略的开销。

更新版本时的注意事项:使用 LF-TBAC 方法共享资源时,如果授予者使用的版本低于版本 3,而接收者使用的是版本 3 或更高版本,则授予者会收到以下错误信息:“跨账户授权请求无效。使用者账户可以选择使用跨账户版本:v3。请将 DataLakeSetting 中的 CrossAccountVersion 更新为最低版本 v3(服务:AmazonDataCatalog;状态代码:400;错误代码:InvalidInputException)”。但是,如果授予者使用版本 3,而接收者使用版本 1 或版本 2,那么使用 LF-Tags 的跨账户授权就会成功完成。

使用命名资源方法进行的跨账户授权在不同版本之间是兼容的。即使授予者账户使用的是旧版本(版本 1 或 2),而接收者账户使用的是新版本(版本 3 或更高版本),跨账户访问功能也能无缝运行,不会出现任何兼容性问题或错误。

要直接与其他账户中的 IAM 主体共享资源,只有授予者需要使用版本 3。

使用 LF-TBAC 方法进行的跨账户授权要求用户的账户中具有 Amazon Glue Data Catalog 资源策略。当您更新为版本 3 时,LF-TBAC 会授权使用 Amazon RAM。要使基于 Amazon RAM 的跨账户授权成功,您必须将 glue:ShareResource 语句添加到现有的数据目录资源策略中,如使用 Amazon Glue 和 Lake Formation 管理跨账户权限。一节所示。

版本 4

授予者需要版本 4 或更高版本才能在混合访问模式下共享 Data Catalog 资源,或共享联合目录中的对象。

优化 Amazon RAM 资源共享

新版本(版本 2 和更高版本)的跨账户授权以最佳方式利用 Amazon RAM 容量来最大限度地提高跨账户使用率。当您与外部 Amazon Web Services 账户或 IAM 主体共享资源时,Lake Formation 可能会创建新的资源共享或将该资源与现有共享关联。通过与现有共享关联,Lake Formation 减少了用户需要接受的资源共享邀请的数量。

通过 TBAC 启用 Amazon RAM 共享或直接与主体共享资源

要直接与其他账户中的 IAM 主体共享资源或者为组织或组织单位启用 TBAC 跨账户共享,您需要将跨账户版本设置更新为版本 3。有关 Amazon RAM 资源限制的更多信息,请参阅跨账户数据共享最佳实践和注意事项

更新跨账户版本设置所需的权限

如果跨账户权限授予者拥有 AWSLakeFormationCrossAccountManager 托管 IAM 策略权限,则无需为跨账户权限授予者角色或主体进行额外的权限设置。但是,如果跨账户授予者未使用托管策略,则授予者角色或主体应授予以下 IAM 权限,新版本的跨账户授权才能成功完成。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "ram:AssociateResourceShare", "ram:DisassociateResourceShare", "ram:GetResourceShares" ], "Resource": "*", "Condition": { "StringLike": { "ram:ResourceShareName": "LakeFormation*" } } } ] }

启用新版本

按照以下步骤通过 Amazon Lake Formation 控制台或 Amazon CLI 更新跨账户版本设置

Console
  1. 数据目录设置页面的跨账户版本设置下选择版本 2版本 3版本 4。如果您选择版本 1,Lake Formation 将使用默认的资源共享模式。

    显示了账户中所有 LF 标签的权限的屏幕。
  2. 选择保存

Amazon Command Line Interface (Amazon CLI)

使用 put-data-lake-settings Amazon CLI 命令设置 CROSS_ACCOUNT_VERSION 参数。可接受的值为 1、2、3 和 4。

aws lakeformation put-data-lake-settings --region us-east-1 --data-lake-settings file://settings { "DataLakeAdmins": [ { "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/test" } ], "CreateDatabaseDefaultPermissions": [], "CreateTableDefaultPermissions": [], "Parameters": { "CROSS_ACCOUNT_VERSION": "3" } }
重要

选择版本 2版本 3 后,所有新的命名资源授权都将通过新的跨账户授权模式进行。为了以最佳方式将 Amazon RAM 容量用于现有跨账户共享,我们建议您撤销使用旧版本进行的授权,并在新模式下重新授权。