

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

# 用于自定义模型导入作业的 Amazon S3 存储桶跨账户访问
<a name="cross-account-access-cmi"></a>

如果您要从 Amazon S3 存储桶导入模型并使用跨账户 Amazon S3，则需要先向存储桶拥有者账户中的用户授予权限来访问存储桶，然后才能导入自定义模型。请参阅[导入自定义模型的先决条件](custom-model-import-prereq.md)。

## 配置对 Amazon S3 存储桶的跨账户访问
<a name="configure-cross-acct-access"></a>

本部分将引导您完成创建策略的步骤，供存储桶拥有者账户中的用户访问 Amazon S3 存储桶。

1. 在存储桶拥有者账户中，创建存储桶策略，向存储桶拥有者账户中的用户提供访问权限。

   以下示例存储桶策略（由存储桶拥有者创建并应用到存储桶 `s3://amzn-s3-demo-bucket`）向存储桶拥有者账户 `123456789123` 中的用户授予访问权限。

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

****  

   ```
   { 
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "CrossAccountAccess",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::123456789012:role/ImportRole"
               },           
               "Action": [
                   "s3:ListBucket",
                   "s3:GetObject"
               ],
               "Resource": [
                   "arn:aws:s3:::amzn-s3-demo-bucket",
                   "arn:aws:s3:::amzn-s3-demo-bucket/*"
               ]
           }
       ]
   }
   ```

------

1. 在用户的 AWS 账户，创建导入执行角色策略。为`aws:ResourceAccount`此，请指定存储桶所有者的账户 ID AWS 账户。

   用户账户中的以下示例导入执行角色策略，向存储桶拥有者的账户 ID `111222333444555` 提供对 Amazon S3 存储桶 `s3://amzn-s3-demo-bucket` 的访问权限。

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

****  

   ```
   { 
       "Version":"2012-10-17",		 	 	 
      "Statement": [
       {
           "Effect": "Allow",
           "Action": [
               "s3:ListBucket",
               "s3:GetObject"
           ],
           "Resource": [
               "arn:aws:s3:::amzn-s3-demo-bucket",
               "arn:aws:s3:::amzn-s3-demo-bucket/*"
           ],
           "Condition": {
               "StringEquals": {
                   "aws:ResourceAccount": "123456789012"
               }
           }
       }
     ]
   }
   ```

------

## 配置对使用自定义加密的 Amazon S3 存储桶的跨账户访问权限 AWS KMS key
<a name="configure-cross-acct-access-kms"></a>

如果您有一个使用自定义 AWS Key Management Service (AWS KMS) 密钥加密的 Amazon S3 存储桶，则需要向存储桶拥有者账户的用户授予访问该存储桶的权限。

配置对使用自定义加密的 Amazon S3 存储桶的跨账户访问权限 AWS KMS key

1. 在存储桶拥有者账户中，创建存储桶策略，向存储桶拥有者账户中的用户提供访问权限。

   以下示例存储桶策略（由存储桶拥有者创建并应用到存储桶 `s3://amzn-s3-demo-bucket`）向存储桶拥有者账户 `123456789123` 中的用户授予访问权限。

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

****  

   ```
   { 
      "Version":"2012-10-17",		 	 	 
      "Statement": [
       {
           "Sid": "CrossAccountAccess",
           "Effect": "Allow",
           "Principal": {
               "AWS": "arn:aws:iam::123456789012:role/ImportRole"
           },           
           "Action": [
               "s3:ListBucket",
               "s3:GetObject"
           ],
           "Resource": [
               "arn:aws:s3:::amzn-s3-demo-bucket",
               "arn:aws:s3:::amzn-s3-demo-bucket/*"
           ]
        }
      ]
   }
   ```

------

1. 在存储桶拥有者账户中，创建以下资源策略以允许用户的账户导入角色进行解密。

   ```
   {
      "Sid": "Allow use of the key by the destination account",
      "Effect": "Allow",
      "Principal": {
      "AWS": "arn:aws:iam::"arn:aws:iam::123456789123:role/ImportRole"
       },
       "Action": [
             "kms:Decrypt",
             "kms:DescribeKey"
       ],
       "Resource": "*"
   }
   ```

1. 在用户的 AWS 账户，创建导入执行角色策略。为`aws:ResourceAccount`此，请指定存储桶所有者的账户 ID AWS 账户。此外，还要提供 AWS KMS key 对用于加密存储桶的的访问权限。

   以下示例用户账户中的导入执行角色策略为存储桶拥有者的账户 ID 提供了对 Amazon S3 存储桶的`111222333444555`访问权限`s3://amzn-s3-demo-bucket`以及 AWS KMS key `arn:aws:kms:us-west-2:123456789098:key/111aa2bb-333c-4d44-5555-a111bb2c33dd`

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

****  

   ```
   { 
       "Version":"2012-10-17",		 	 	 
      "Statement": [
         {
           "Effect": "Allow",
           "Action": [
               "s3:ListBucket",
               "s3:GetObject"
           ],
           "Resource": [
               "arn:aws:s3:::amzn-s3-demo-bucket",
               "arn:aws:s3:::amzn-s3-demo-bucket/*"
           ],
           "Condition": {
               "StringEquals": {
                   "aws:ResourceAccount": "123456789012"
               }
           }
        },
        {
         "Effect": "Allow",
         "Action": [
           "kms:Decrypt",
           "kms:DescribeKey"
         ],
         "Resource": "arn:aws:kms:us-west-2:123456789012:key/111aa2bb-333c-4d44-5555-a111bb2c33dd"
       }
     ]
    }
   ```

------