

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

# 更新跨账户数据共享版本设置
<a name="optimize-ram"></a>

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

## 跨账户版本设置之间的主要区别
<a name="cross-account-version-diff"></a>

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

**注意**  
要与其他账户共享数据，授予者必须拥有 `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:AssociateResourceShare` 和 `ram:DisassociateResourceShare` 权限才能成功与其他账户共享资源。

**版本 3**  
*命名资源方法：*通过将多个跨账户权限授予映射到一个 Amazon RAM 资源共享来优化 Amazon RAM 资源共享的数量。用户不需要额外的权限。  
*LF-TBAC 方法：Lake Formation* 用于 Amazon RAM 跨账户拨款。用户必须在`glue:PutResourcePolicy`权限中添加 glue: ShareResource 语句。收件人必须接受来自的资源共享邀请 Amazon RAM。  
*更新版本的好处：*支持以下功能：  
+ 允许与外部账户中的 IAM 主体显式共享资源。

  有关更多信息，请参阅 [授予对数据目录资源的权限](granting-catalog-permissions.md)。
+ 使用 LF-TBAC 方法向 Organizations 或组织单位 () 启用跨账户共享。OUs
+ 消除了维护跨账户授予额外 Amazon Glue 政策的开销。
*更新版本时的注意事项：*使用 LF-TBAC 方法共享资源时，如果授予者使用的版本低于版本 3，而接收者使用的是版本 3 或更高版本，则授予者会收到以下错误信息：“跨账户授权请求无效。使用者账户可以选择使用跨账户版本：v3。请更新`CrossAccountVersion``DataLakeSetting`至最低版本 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`声明添加到现有的 Data Catalog 资源策略中，如[使用 Amazon Glue 和 Lake Formation 管理跨账户权限。](hybrid-cross-account.md)部分所示。

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

**第 5 版**  
跨账户版本 5 增强了跨账户资源共享，使您能够将无限数量的表共享给另一个账户，从而消除了以前每种资源类型的资源关联限制。首先，请通过 Lake Formation 控制台或 API 升级到跨账户版本 5。任何新的跨账户权限授予都将在资源共享中自动使用通配符模式，而不是单个资源关联。所有现有的跨账户共享将继续发挥作用，所有现有的 Lake Formation 都 APIs 保持兼容。  
*更新版本的好处：*跨账户 v5 增强了跨账户共享，允许您跨账户共享数十万张表格。  
*更新版本时的注意事项：版本* 5 升级后的新授权将向现有资源管理器资源共享添加通配符 Amazon 资源模式或使用通配符模式创建新共享。一旦升级到版本 5，就不支持降级。

## 优化 Amazon RAM 资源共享
<a name="optimize-version"></a>

跨账户赠款的新版本（第 2 版及更高版本）以最佳方式利用 Amazon RAM 容量来最大限度地提高跨账户使用率。当您与外部 Amazon Web Services 账户 或 IAM 委托人共享资源时，Lake Formation 可能会创建新的资源共享或将该资源与现有共享关联。通过与现有共享关联，Lake Formation 减少了用户需要接受的资源共享邀请的数量。版本 5 通过使用基于通配符的资源模式而不是单个资源关联进一步优化 RAM 使用情况，从而显著减少每个资源共享的资源关联。

## 通过 TBAC 启用 Amazon RAM 共享或直接与委托人共享资源
<a name="ram-tbac-direct-iam-version"></a>

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

### 更新跨账户版本设置所需的权限
<a name="req-permissions-version-update"></a>

 如果跨账户权限授予者拥有 `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*"
        }
      }
    }
  ]
}
```

------

## 启用新版本
<a name="version-update-steps"></a>

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

------
#### [ Console ]

1. 在**数据目录**设置页面的**跨账户版本设置下选择版本 **2**、版本** ****3**、版本 4** **或版本 5**。如果您选择**版本 1**，Lake Formation 将使用默认的资源共享模式。  
![\[显示了账户中所有 LF 标签的权限的屏幕。\]](http://docs.amazonaws.cn/lake-formation/latest/dg/images/cross-account-version-setting.png)

1. 选择**保存**。

------
#### [ Amazon Command Line Interface (Amazon CLI) ]

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

```
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 容量，我们建议您撤销旧版本的授权，并在新模式下重新授权。