Satya 씨가 다른 AWS 계정으로
S3 객체를 양도하는
방법을 보여줌

Satya_account-transfer-s3-new

Amazon Web Services(AWS) 계정 간에 Amazon S3 객체의 소유권을 양도하고 싶습니다. 어떻게 해야 합니까?

AWS Support에는 Amazon S3 객체를 복사하거나 AWS 계정의 구성 옵션을 조작할 권한이 없습니다. AWS 계정을 Amazon.com 계정과 분리할 수 없으며 AWS 계정 간에 리소스를 양도할 수도 없습니다. 리소스 기반 정책을 적용하고 IAM 사용자(또는 그룹) 정책을 사용하여 이러한 리소스에 대한 액세스 권한을 AWS 계정 간에 위임해 Amazon S3 리소스를 새 AWS 계정으로 수동으로 마이그레이션할 수 있습니다.

S3 COPY 작업을 사용하여 AWS 계정 간에 Amazon S3 객체를 복사할 수 있습니다. Amazon S3 ACL(액세스 제어 목록) 또는 버킷 정책을 사용하여 소스 AWS 계정의 리소스에 대한 액세스 권한을 대상 AWS 계정에 부여해야 합니다. 예를 들어, 다음 단계에서는 소스 AWS 계정이 버킷 정책을 만들어 다른 AWS 계정에 하나 이상의 Amazon S3 리소스에 대한 액세스 권한을 부여하고 소스에서 복사할 수 있는 AWS 계정 권한을 부여하는 방법을 설명합니다.

참고: 소스 AWS 계정에서 생성된 다음 버킷 정책에 따라 지정된 각 S3 리소스의 대상 AWS 계정에 ListBucket 및 GetObject 권한이 부여됩니다. 프로덕션 환경에서는 최소 권한 액세스 원칙에 따라 Action 파라미터를 지정하는 것이 가장 좋습니다. Action 파라미터를 설정한 후 대상 AWS 계정에서 권한을 가져야 하는 모든 리소스를 리소스 섹션에 추가합니다. 각 리소스 항목을 쉼표로 구분하십시오.

먼저 대상 계정의 12자리 계정 ID를 가져옵니다. 다음은 계정 번호를 찾는 한 가지 방법입니다.

  1. 대상 AWS 계정으로 AWS Management Console에 로그인합니다.
  2. 탐색 모음에서 지원을 클릭한 다음 지원 센터를 클릭합니다. 계정 번호(예: 222222222222)가 지원 센터의 상단 오른쪽 모서리에 표시됩니다.

소스 계정에서, 복사할 버킷에 다음 정책을 연결합니다. 자세한 지침은 버킷 권한 편집을 참조하십시오.

#Bucket policy set up in the source AWS account.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "DelegateS3Access",
            "Effect": "Allow",
            "Principal": {"AWS": "222222222222"},
            "Action": ["s3:ListBucket","s3:GetObject"],
            "Resource": [
                "arn:aws:s3:::sourcebucket/*",
                "arn:aws:s3:::sourcebucket"
            ]
        }
    ]
}

대상 AWS 계정의 사용자 또는 그룹에 정책을 연결하여 소스 AWS 계정의 버킷에 대한 액세스 권한을 위임합니다. 그룹에 정책을 연결하는 경우 IAM 사용자가 그룹의 구성원인지 확인하십시오

#New AWS account IAM user policy set up on destination AWS account.
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::sourcebucket",
                "arn:aws:s3:::sourcebucket/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": [
                "arn:aws:s3:::destinationbucket",
                "arn:aws:s3:::destinationbucket/*"
            ]
        }
    ]
}

이 단계가 완료되면 "대상” 계정이 AWS CLI(명령줄 인터페이스) 명령인 cp 또는 sync를 사용하여 객체를 복사할 수 있습니다. 예를 들어 다음 aws s3 sync 명령을 사용하여 소스 AWS 계정의 버킷에서 대상 AWS 계정의 버킷으로 콘텐츠를 복사할 수 있습니다.

참고: 다음 명령을 성공적으로 실행하려면 대상 AWS 계정의 사용자에 대해 AWS CLI가 올바르게 구성되어 있고 소스 및 대상 버킷이 동일한 리전에 있어야 합니다(그러나 다른 리전을 지정하기 위한 명령줄 옵션이 있음). AWS CLI 구성에 대한 자세한 내용은 AWS 명령줄 인터페이스 구성을 참조하십시오. 또한 대상 AWS 계정의 사용자는 파일을 s3://destinationbucket으로 복사할 수 있는 적절한 권한이 있어야 합니다.

aws s3 sync s3://sourcebucket s3://destinationbucket

다른 계정의 S3 버킷에 대한 액세스 권한 위임에 대한 자세한 내용은 예: 리소스 기반의 정책을 사용하여 다른 계정의 Amazon S3 버킷에 대한 액세스 권한 위임을 참조하십시오.

IAM 역할을 사용하여 다른 AWS 계정의 리소스에 대한 액세스 권한을 위임하는 방법에 대한 자세한 내용은 자습서: IAM 역할을 사용한 AWS 계정 간 액세스 권한 위임을 참조하십시오.

버킷 소유자가 교차 계정 버킷 권한을 부여하는 방법을 설명하는 자세한 내용은 예제 2: 버킷 소유자가 교차 계정 버킷 권한 부여를 참조하십시오.


페이지 내용이 도움이 되었습니까? | 아니요

AWS 지원 지식 센터로 돌아가기

도움이 필요하십니까? AWS 지원 센터를 방문하십시오.

게시된 날짜: 2015년 2월 26일

업데이트된 날짜: 2017년 8월 7일