

# 配置 IAM 角色以进行 S3 批量复制
<a name="s3-batch-replication-policies"></a>

由于 Amazon S3 批量复制是批量操作任务的一种类型，因此您必须创建一个 AWS Identity and Access Management（IAM）角色，用于向批量操作授予代表您执行操作的权限。您还必须将分批复制 IAM 策略附加到批量操作 IAM 角色。

使用以下过程创建策略和 IAM 角色，来向批量操作授予启动批量复制任务的权限。

**创建用于批量复制的策略**

1. 登录 AWS 管理控制台，然后通过以下网址打开 IAM 控制台：[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在**访问管理**下，选择**策略**。

1. 选择 **Create policy (创建策略)**。

1. 在**指定权限**页面上，选择 **JSON**。

1. 根据您的清单是由 Amazon S3 生成还是您自行提供清单，插入以下策略之一。有关清单的更多信息，请参阅[为分批复制任务指定清单](s3-batch-replication-batch.md#batch-replication-manifest)。

   在使用这些策略之前，请将以下策略中的 `user input placeholders` 替换为复制源存储桶、清单存储桶和完成报告存储桶的名称。
**注意**  
批量复制的 IAM 角色需要不同的权限，具体取决于您是生成清单还是提供清单，因此，请务必从以下示例中选择相应的策略。

**使用和存储 Amazon S3 生成的清单时的策略**

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

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
         {
            "Action": [
               "s3:InitiateReplication"
            ],
            "Effect": "Allow",
            "Resource": [
               "arn:aws:s3:::amzn-s3-demo-source-bucket/*"
            ]
         },
         {
            "Action": [
               "s3:GetReplicationConfiguration",
               "s3:PutInventoryConfiguration"
            ],
            "Effect": "Allow",
            "Resource": [
               "arn:aws:s3:::amzn-s3-demo-source-bucket"
            ]
         },
         {
            "Action": [
               "s3:GetObject",
               "s3:GetObjectVersion"
            ],
            "Effect": "Allow",
            "Resource": [
               "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
            ]
         },
         {
            "Effect": "Allow",
            "Action": [
               "s3:PutObject"
            ],
            "Resource": [
               "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*",
               "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"    
            ]
         }
      ]
   }
   ```

------

**使用用户提供的清单时的策略**

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

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
         {
            "Action": [
               "s3:InitiateReplication"
            ],
            "Effect": "Allow",
            "Resource": [
               "arn:aws:s3:::amzn-s3-demo-source-bucket/*"
            ]
         },
         {
            "Action": [
               "s3:GetObject",
               "s3:GetObjectVersion"
            ],
            "Effect": "Allow",
            "Resource": [
               "arn:aws:s3:::amzn-s3-demo-manifest-bucket/*"
            ]
         },
         {
            "Effect": "Allow",
            "Action": [
               "s3:PutObject"
            ],
            "Resource": [
               "arn:aws:s3:::amzn-s3-demo-completion-report-bucket/*"    
            ]
         }
      ]
   }
   ```

------

1. 选择**下一步**。

1. 指定策略名称，然后选择**创建策略**。

**创建用于批量复制的 IAM 角色**

1. 登录 AWS 管理控制台，然后通过以下网址打开 IAM 控制台：[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)。

1. 在 **Access management**（访问管理）下，请选择 **Roles**（角色）。

1. 选择**创建角色**。

1. 选择 **AWS 服务**作为可信实体的类型。在**使用案例**部分中，选择 **S3** 作为服务，并选择 **S3 批量操作**作为使用案例。

1. 选择**下一步**。此时将显示**添加权限**页面。在搜索框中，搜索您在前面的过程中创建的策略。选中策略名称旁的复选框，然后选择**下一步**。

1. 在**命名、查看和创建**页面上，输入 IAM 角色的名称。

1. 在**步骤 1：信任身份**部分中，验证 IAM 角色是否使用以下信任策略：

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

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement":[
         {
            "Effect":"Allow",
            "Principal":{
               "Service":"batchoperations.s3.amazonaws.com"
            },
            "Action":"sts:AssumeRole"
         }
      ]
   }
   ```

------

1. 在**步骤 2：添加权限**部分中，验证 IAM 角色是否使用您之前创建的策略。

1. 选择**创建角色**。