

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

# 在另一个 AWS 账户中注册 Amazon S3 营业地点
<a name="register-cross-account"></a>

AWS Lake Formation 允许您跨账户注册亚马逊简单存储服务 (Amazon S3) Service 地点 AWS 。例如，如果在账户 A 中， AWS Glue Data Catalog 则账户 A 中的用户可以在账户 B 中注册 Amazon S3 存储桶。

使用账户 A 中的 AWS Identity and Access Management (IAM) 角色在 AWS 账户 B 中 AWS 注册 Amazon S3 存储桶需要以下权限：
+ 账户 A 中的角色必须授予对账户 B 中存储桶的权限。
+ 账户 B 中的存储桶策略必须向账户 A 中的角色授予访问权限。

**重要**  
避免注册启用了**请求者付费**的 Amazon S3 存储桶。对于在 Lake Formation 中注册的存储桶，用于注册存储桶的角色始终被视为请求者。如果存储桶被其他 AWS 账户访问，则如果该角色与存储桶拥有者属于同一个账户，则该存储桶拥有者需要支付数据访问费用。  
您不能使用 Lake Formation 服务相关角色在其他账户中注册位置。您必须改用用户定义的角色。该角色必须符合[用于注册位置的角色的要求](registration-role.md)中的要求。有关服务相关角色的更多信息，请参阅 [Lake Formation 的服务相关角色权限](service-linked-roles.md#service-linked-role-permissions)。

**开始前的准备工作**  
查看[用于注册位置的角色的要求](registration-role.md)。

**在其他 AWS 账户中注册营业地点**
**注意**  
如果该位置已加密，请改为按照[跨 AWS 账户注册加密的 Amazon S3 位置](register-cross-encrypted.md)中的说明进行操作。

以下过程假定包含数据目录的账户 1111-2222-3333 中的主体想要注册位于账户 1234-5678-9012 中的 Amazon S3 存储桶 `awsexamplebucket1`。

1. 在账户 1111-2222-3333 中，登录 AWS 管理控制台 并打开 IAM 控制台，网址为。[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. 创建新角色或查看符合[用于注册位置的角色的要求](registration-role.md)中要求的现有角色。确保该角色授予对 `awsexamplebucket1` 的 Amazon S3 权限。

1. 打开 Amazon S3 控制台，网址为 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。使用账户 1234-5678-9012 登录。

1. 在**存储桶名称**列表中，选择存储桶名称 `awsexamplebucket1`。

1. 选择**权限**。

1. 在**权限**页面上，选择**存储桶策略**。

1. 在**存储桶策略编辑器**中，粘贴以下策略。将 *<role-name>* 替换为您的角色的名称。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect":"Allow",
               "Principal": {
                   "AWS":"arn:aws:iam::111122223333:role/<role-name>"
               },
               "Action":"s3:ListBucket",
               "Resource":"arn:aws:s3:::awsexamplebucket1"
           },
           {
               "Effect":"Allow",
               "Principal": {
                   "AWS":"arn:aws:iam::111122223333:role/<role-name>"
               },
               "Action": [
                   "s3:DeleteObject",
                   "s3:GetObject",
                   "s3:PutObject"
               ],
               "Resource":"arn:aws:s3:::awsexamplebucket1/*"
           }
       ]
   }
   ```

------

1. 选择**保存**。

1. 打开 AWS Lake Formation 控制台，网址为[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)。以数据湖管理员或具有足够权限注册位置的用户身份登录账户 1111-2222-3333。

1. 在导航窗格的**管理**下，选择**数据湖位置**。

1. 在**数据湖位置**页面上，选择**注册位置**。

1. 在**注册位置**页面上，对于 **Amazon S3 路径**，输入存储桶名称 `s3://awsexamplebucket1`。
**注意**  
您必须键入存储桶名称，因为当您选择**浏览**时，跨账户存储桶不会显示在列表中。

1. 对于 **IAM 角色**，选择您的角色。

1. 选择**注册位置**。