S3 Batch Replication용 IAM 역할 구성하기

S3 Batch Replication용 IAM 역할 구성하기

Amazon S3 Batch Replication은 Batch Operations 작업의 한 유형이므로, Batch Operations가 사용자를 대신해 작업을 수행할 수 있게 권한을 부여하는 AWS Identity and Access Management(IAM) 역할을 만들어야 해요. 또한 Batch Operations IAM 역할에 Batch Replication IAM 정책을 연결해야 합니다.

다음 절차에 따라 Batch Operations에 Batch Replication 작업을 시작할 권한을 주는 정책과 IAM 역할을 만들어요.

출처: 문서

Batch Replication용 정책 만들기

  1. AWS Management Console에 로그인하고 IAM 콘솔을 엽니다. (https://console.aws.amazon.com/iam/)

  2. 액세스 관리(Access management) 아래에서 **정책(Policies)**을 선택해요.

  3. **정책 만들기(Create policy)**를 선택해요.

  4. 권한 지정(Specify permissions) 페이지에서 JSON을 선택해요.

  5. 매니페스트가 Amazon S3에 의해 생성되는지, 아니면 직접 매니페스트를 제공하는지에 따라 다음 정책 중 하나를 넣어요. 매니페스트에 대한 자세한 내용은 Batch Replication 작업용 매니페스트 지정 문서를 참고하세요.

    • 이 정책을 쓰기 전에 다음 정책의 user input placeholders를 복제 소스 버킷, 매니페스트 버킷, 완료 보고서 버킷의 이름으로 바꾸세요.
    • 참고: Batch Replication용 IAM 역할은 매니페스트를 생성하는지 제공하는지에 따라 다른 권한이 필요하므로, 다음 예시에서 적절한 정책을 골라야 해요.

    Amazon S3 생성 매니페스트를 사용하고 저장하는 경우의 정책

{
   "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/*"
         ]
      }
   ]
}

사용자 제공 매니페스트를 사용하는 경우의 정책

{
   "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. **다음(Next)**을 선택해요.
  2. 정책 이름을 지정하고 **정책 만들기(Create policy)**를 선택해요.

Batch Replication용 IAM 역할 만들기

  1. AWS Management Console에 로그인하고 IAM 콘솔을 엽니다. (https://console.aws.amazon.com/iam/)
  2. 액세스 관리 아래에서 **역할(Roles)**을 선택해요.
  3. **역할 만들기(Create role)**를 선택해요.
  4. 신뢰할 수 있는 엔터티 유형으로 AWS 서비스를 선택해요. 사용 사례(Use case) 섹션에서 서비스로 S3를, 사용 사례로 S3 Batch Operations를 선택해요.
  5. 다음을 선택해요. 권한 추가(Add permissions) 페이지가 나타납니다. 검색 상자에서 앞선 절차에서 만든 정책을 검색해요. 정책 이름 옆의 확인란을 선택한 뒤 다음을 선택해요.
  6. 이름, 검토 및 생성(Name, review, and create) 페이지에서 IAM 역할의 이름을 지정해요.
  7. 1단계: ID 신뢰(Trust identities) 섹션에서 IAM 역할이 다음 신뢰 정책을 사용하는지 확인해요.
{
   "Version":"2012-10-17",
   "Statement":[
      {
         "Effect":"Allow",
         "Principal":{
            "Service":"batchoperations.s3.amazonaws.com"
         },
         "Action":"sts:AssumeRole"
      }
   ]
}
  1. 2단계: 권한 추가(Add permissions) 섹션에서 IAM 역할이 아까 만든 정책을 사용하는지 확인해요.
  2. **역할 만들기(Create role)**를 선택해요.

더 알아보기