오늘도 한 뼘 더

[AWS S3] 다른계정의 AWS S3에 S3복사하기 본문

DevOps & Infra/AWS

[AWS S3] 다른계정의 AWS S3에 S3복사하기

나른한댕댕이🐶 2022. 4. 13. 15:44
728x90
반응형

  • 위의 그림과 같이 A의 계정의 S3버킷 내용을 B계정의 S3버킷에 복사하고 싶다. 

#  다른 계정의 AWS S3에 접근하기

  • 한 S3버킷에서 다른 계정의 S3 버킷으로 내용을 복사하기 위해서는 정책 설정을 해주어야 한다. 

1. A계정의 IAM 사용자에 정책을 추가한다. 

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::source-DOC-EXAMPLE-BUCKET",
                "arn:aws:s3:::source-DOC-EXAMPLE-BUCKET/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": [
                "arn:aws:s3:::destination-DOC-EXAMPLE-BUCKET",
                "arn:aws:s3:::destination-DOC-EXAMPLE-BUCKET/*"
            ]
        }
    ]
}

 

2. 접근하고자 하는 B 계정의 S3 버킷의 정책을 업데이트한다.

{
    "Version": "2012-10-17",
    "Id": "Policy1611277539797",
    "Statement": [
        {
            "Sid": "Stmt1611277535086",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::222222222222:user/Jane"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::destination-DOC-EXAMPLE-BUCKET/*",
            "Condition": {
                "StringEquals": {
                    "s3:x-amz-acl": "bucket-owner-full-control"
                }
            }
        },
        {
            "Sid": "Stmt1611277877767",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::222222222222:user/Jane"
            },
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::destination-DOC-EXAMPLE-BUCKET"
        }
    ]
}

 

#  S3에 파일 복사하기

1. AWS configure를 해당 사용자 key로 변경

 

2. AWS CLI를 사용하여 S3 파일을 복사한다. 

  aws s3 cp s3://source-DOC-EXAMPLE-BUCKET/test.png s3://destination-DOC-EXAMPLE-BUCKET/a.png --acl bucket-owner-full-control
728x90
반응형

'DevOps & Infra > AWS' 카테고리의 다른 글

[AWS] 서로 다른 VPC간 통신 하기  (0) 2022.05.19
[AWS] VPC 피어링  (0) 2022.05.03
[AWS] EKS 연결 도식화  (0) 2022.02.11
[AWS] EC2 볼륨 수정  (0) 2022.01.12
[AWS] AWS CLI 설치하기  (0) 2022.01.10
Comments