

# CSV 매니페스트를 사용하여 AWS 계정 간에 객체 복사
<a name="specify-batchjob-manifest-xaccount-csv"></a>

Amazon S3 Batch Operations를 사용하여 Amazon S3 객체에 대해 대규모 배치 작업을 수행할 수 있습니다. S3 Batch Operations를 사용하여 **복사**(`CopyObject`) 작업을 만들어 동일한 계정 내에서 또는 다른 대상 계정으로 객체를 복사할 수 있습니다.

소스 계정에 저장된 CSV 매니페스트를 사용하여 S3 배치 작업에서 AWS 계정 간에 객체를 복사할 수 있습니다. S3 인벤토리 보고서를 매니페스트로 사용하려면 [인벤토리 보고서를 사용하여 AWS 계정 간에 객체 복사](specify-batchjob-manifest-xaccount-inventory.md) 섹션을 참조하세요.

매니페스트 파일의 CSV 형식 예는 [매니페스트 파일 생성](batch-ops-create-job.md#create-manifest-file) 섹션을 참조하세요.

다음 절차에서는 S3 배치 작업을 사용하여 소스 계정의 객체를 소스 계정에 저장된 CSV 매니페스트 파일이 있는 대상 계정으로 복사할 때 권한을 설정하는 방법을 보여줍니다.

**CSV 매니페스트를 사용하여 AWS 계정 간에 객체를 복사하려면**

1. S3 Batch Operations 신뢰 정책을 기반으로 하는 대상 계정에서 AWS Identity and Access Management(IAM) 역할을 만듭니다. 이 절차에서 *대상 계정*은 객체가 복사되는 계정입니다.

   신뢰 정책에 대한 자세한 내용은 [신뢰 정책](batch-ops-iam-role-policies.md#batch-ops-iam-role-policies-trust) 섹션을 참조하세요.

   역할 만들기에 대한 자세한 내용은 **IAM 사용 설명서의 [역할을 만들어 AWS 서비스에 권한 위임](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)을 참조하세요.

   콘솔을 사용하여 역할을 만드는 경우 역할의 이름을 입력합니다(다음 예제 역할은 이름 `{{BatchOperationsDestinationRoleCOPY}}` 사용). **S3** 서비스를 선택한 다음, 신뢰 정책을 역할에 적용하는 **S3 Batch Operations** 사용 사례를 선택합니다.

   그리고 **정책 생성**을 선택하여 다음 정책을 역할에 연결하세요. 이 정책을 사용하려면 {{`user input placeholders`}}를 사용자의 정보로 대체합니다.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "{{AllowBatchOperationsDestinationObjectCOPY}}",
         "Effect": "Allow",
         "Action": [
           "s3:PutObject",
           "s3:PutObjectVersionAcl",
           "s3:PutObjectAcl",
           "s3:PutObjectVersionTagging",
           "s3:PutObjectTagging",
           "s3:GetObject",
           "s3:GetObjectVersion",
           "s3:GetObjectAcl",
           "s3:GetObjectTagging",
           "s3:GetObjectVersionAcl",
           "s3:GetObjectVersionTagging"
         ],
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-destination-bucket/*",
           "arn:aws:s3:::amzn-s3-demo-source-bucket/*",
           "arn:aws:s3:::{{amzn-s3-demo-manifest-bucket}}/*"
         ]
       }
     ]
   }
   ```

------

   이 역할은 정책을 사용하여 원본 매니페스트 버킷의 매니페스트를 읽을 수 있는 `batchoperations.s3.amazonaws.com` 권한을 부여합니다. 소스 객체 버킷의 `GET` 객체, 액세스 제어 목록(ACL), 태그 및 버전에 대한 권한을 부여합니다. 또한 대상 객체 버킷의 `PUT` 객체, ACL, 태그 및 버전에 대한 권한을 부여합니다.

1. 소스 계정에서 매니페스트가 포함된 버킷에 대한 버킷 정책을 생성하여 이전 단계에서 생성한 역할에 소스 매니페스트 버킷의 `GET` 객체 및 버전에 대한 권한을 부여합니다.

   이 단계에서는 S3 배치 작업이 신뢰할 수 있는 역할을 사용하여 매니페스트를 읽을 수 있습니다. 매니페스트가 포함된 버킷에 버킷 정책을 적용합니다.

   다음은 원본 매니페스트 버킷에 적용할 버킷 정책의 예입니다. 이 정책을 사용하려면 {{`user input placeholders`}}를 사용자의 정보로 대체합니다.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "AllowBatchOperationsSourceManifestRead",
         "Effect": "Allow",
         "Principal": {
           "AWS": [
             "arn:aws:iam::{{111122223333}}:user/{{ConsoleUserCreatingJob}}",
             "arn:aws:iam::{{111122223333}}:role/{{BatchOperationsDestinationRoleCOPY}}"
           ]
         },
         "Action": [
           "s3:GetObject",
           "s3:GetObjectVersion"
         ],
         "Resource": "arn:aws:s3:::{{amzn-s3-demo-manifest-bucket}}/*"
       }
     ]
   }
   ```

------

   또한 이 정책은 대상 계정에서 작업을 생성하는 콘솔 사용자가 동일한 버킷 정책을 통해 원본 매니페스트 버킷의 동일한 권한을 사용할 수 있는 권한을 부여합니다.

1. 소스 계정에서, 생성한 역할에 소스 객체 버킷의 `GET` 객체, ACL, 태그 및 버전에 대한 권한을 부여하는 버킷 정책을 소스 버킷에 대해 생성합니다. 그런 다음 S3 배치 작업은 신뢰할 수 있는 역할을 통해 원본 버킷에서 객체를 가져올 수 있습니다.

   다음은 원본 객체가 포함된 버킷에 대한 버킷 정책의 예입니다. 이 정책을 사용하려면 {{`user input placeholders`}}를 사용자의 정보로 대체합니다.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "AllowBatchOperationsSourceObjectCOPY",
         "Effect": "Allow",
         "Principal": {
           "AWS": "arn:aws:iam::{{111122223333}}:role/{{BatchOperationsDestinationRoleCOPY}}"
         },
         "Action": [
           "s3:GetObject",
           "s3:GetObjectVersion",
           "s3:GetObjectAcl",
           "s3:GetObjectTagging",
           "s3:GetObjectVersionAcl",
           "s3:GetObjectVersionTagging"
         ],
         "Resource": "arn:aws:s3:::amzn-s3-demo-source-bucket/*"
       }
     ]
   }
   ```

------

1. 대상 계정에서 S3 배치 작업을 생성합니다. 대상 계정에서 생성한 역할에 대한 Amazon 리소스 이름(ARN)이 필요합니다. 작업 생성에 대한 자세한 내용은 [S3 배치 작업 건 생성](batch-ops-create-job.md) 단원을 참조하세요.