配置 IAM 策略以进行分批复制
由于 S3 分批复制是批量操作任务的一种类型,因此您必须创建批量操作 AWS Identity and Access Management(IAM)角色,用于向 Amazon S3 授予代表您执行操作的权限。您还必须将分批复制 IAM 策略附加到批量操作 IAM 角色。以下示例创建一个 IAM 角色,该角色授予批量操作启动分批复制任务的权限。
创建 IAM 角色和策略
登录 AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在 Access management(访问管理)下,请选择 Roles(角色)。
-
请选择 Create Role(创建角色)。
-
请选择 AWS 服务 作为受信任实体的类型,Amazon S3 作为服务,以及 S3 Batch Operations(S3 批量操作)作为使用案例。
-
请选择下一步: 权限。
-
请选择创建策略。
-
请选择 JSON,然后根据清单插入以下策略之一。
注意
如果您要生成清单或提供清单,则需要不同的权限。有关更多信息,请参阅为分批复制任务指定清单。
使用和存储 S3 生成的清单时的策略
{ "Version":"2012-10-17", "Statement":[ { "Action":[ "s3:InitiateReplication" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::
*** replication source bucket ***
/*" ] }, { "Action":[ "s3:GetReplicationConfiguration", "s3:PutInventoryConfiguration" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::*** replication source bucket ***
" ] }, { "Action":[ "s3:GetObject", "s3:GetObjectVersion" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::*** manifest bucket ***
/*" ] }, { "Effect":"Allow", "Action":[ "s3:PutObject" ], "Resource":[ "arn:aws:s3:::*** completion report bucket ****
/*", "arn:aws:s3:::*** manifest bucket ****
/*" ] } ] }使用用户提供的清单时的策略
{ "Version":"2012-10-17", "Statement":[ { "Action":[ "s3:InitiateReplication" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::
*** replication source bucket ***
/*" ] }, { "Action":[ "s3:GetObject", "s3:GetObjectVersion" ], "Effect":"Allow", "Resource":[ "arn:aws:s3:::*** manifest bucket ***
/*" ] }, { "Effect":"Allow", "Action":[ "s3:PutObject" ], "Resource":[ "arn:aws:s3:::*** completion report bucket ****
/*" ] } ] } -
请选择下一步:标签。
-
请选择下一步:审核。
-
为策略选择名称,然后选择 Create policy(创建策略)。
-
将此策略附加到你的角色,然后选择 Next: Tags(下一步:标签)。
-
请选择下一步:审核。
-
请选择角色的名称,然后选择 Create role(创建角色)。
验证信任策略
登录 AWS Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
请在 Access management(访问管理)下,选择 Roles(角色),然后选择您新创建的角色。
-
在 Trust relationships(信任关系)选项卡中,请选择 Edit trust relationship(编辑信任关系)。
-
验证此角色是否使用以下信任策略:
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"batchoperations.s3.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }