다른 AWS 계정에서 객체를 업로드할 때 Amazon S3 버킷의 객체 소유권을 변경하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 12월 17일

S3 객체 소유권을 사용하여 Amazon Simple Storage Service(Amazon S3) 버킷에 있는 객체의 소유권을 변경하려고 합니다. 어떻게 해야 하나요?

간략한 설명

중요: 객체를 업로드하는 AWS 계정이 더 이상 S3에 있는 객체를 자동으로 소유하지 않습니다.

S3 객체 소유권의 버킷 소유자 적용(Bucket Owner Enforced) 설정을 사용하면 버킷 소유자가 Amazon S3 버킷의 모든 객체를 소유할 수 있게 됩니다. 또한 버킷 소유자 적용(Bucket Owner Enforced) 기능은 모든 액세스 제어 목록(ACL)을 비활성화하여 S3에 저장된 데이터에 대한 액세스 관리를 간소화합니다.

기본적으로, 새로 생성된 버킷에는 버킷 소유자 적용(Bucket Owner Enforced) 설정이 활성화되어 있습니다. 그러나 기존 버킷의 경우 ACL을 명시적으로 비활성화하지 않는 한 Amazon S3 객체를 업로드한 AWS 계정에서 해당 객체를 계속 소유합니다. 기존 버킷의 객체에 대한 객체 소유권을 변경하려면 S3 버킷에서 공개적으로 소유된 객체의 소유권을 변경하려면 어떻게 해야 합니까?를 참조하세요.

해결 방법

다른 AWS 계정에서 업로드한 객체의 객체 소유권 변경

참고: S3 객체 소유권을 사용하여 버킷의 객체 소유권을 변경하기 전에 s3:PutBucketOwnershipControls 작업에 대한 액세스 권한이 있는지 확인하세요. 액세스 권한이 없으면 버킷의 객체에 대한 객체 소유권을 볼 수 없습니다. S3 권한에 대한 자세한 내용은 Amazon S3에 사용되는 작업, 리소스 및 조건 키 섹션을 참조하세요.

기존 Amazon S3 버킷의 객체에 대한 객체 소유권 변경(ACL 비활성화)

기존 Amazon S3 버킷의 객체에 대한 객체 소유권을 변경하려는 경우 S3 객체 소유권에서 ACL 비활성화(ACLs disabled) 옵션을 선택합니다. 이 옵션을 사용하면 버킷 소유자가 S3 버킷의 모든 객체를 완전히 제어할 수 있으며 버킷 소유자의 계정으로 소유권이 이전됩니다.

이 옵션의 사용은 S3 버킷의 데이터에 액세스할 수 있는 권한에 더 이상 영향을 주지 않습니다. 대신 이 옵션은 존재하는 객체 및 ACL 비활성화(ACLs disabled) 옵션을 설정한 후 추가한 객체를 포함하여 버킷에 있는 모든 객체의 소유권을 변경합니다. 액세스 제어를 정의하려면 버킷 정책을 사용하세요.

참고: 기존 ACL이 외부 AWS 계정이나 다른 그룹에 대한 액세스 권한을 부여하는 경우 버킷 소유자 적용(Bucket Owner Enforced) 설정이 작동하지 않습니다. 버킷 소유자 적용(Bucket Owner Enforced) 설정을 적용하려면 버킷 ACL이 버킷 소유자에게만 모든 권한을 부여해야 합니다. 버킷 소유자 적용(Bucket Owner Enforced) 설정을 활성화하기 전에 ACL 비활성화를 위한 전제 조건 섹션을 참조하세요.

다른 AWS 계정에서 업로드한 객체에 대한 액세스 권한 부여(ACL 활성화)

활성화된 ACL 목록에서 S3 객체 소유권 아래의 버킷 소유자 우선(Bucket owner preferred) 옵션을 선택합니다. 이 버킷에 업로드되는 모든 새 객체는 bucket-owner-full-control 기본 ACL을 사용하는 버킷 소유자가 소유합니다. 하지만 버킷 소유자 우선(Bucket owner preferred) 설정은 기존 객체의 소유권에는 영향을 주지 않습니다. 버킷 소유자 우선(Bucket owner preferred) 설정 및 ACL에 대한 자세한 내용은 다중 계정 환경에서 Amazon S3 객체의 소유권 적용 섹션을 참조하세요.

객체를 업로드한 AWS 계정으로 객체 소유권을 변경(ACL 활성화)

객체를 업로드한 AWS 계정으로 객체 소유권을 이전하려면 S3 객체 소유권에서 객체 작성자(Object writer) 옵션을 활성화합니다. 이 옵션을 사용하면 객체를 업로드한 AWS 계정이 객체를 소유하게 됩니다. 그러면 객체 소유자가 객체에 대한 완전한 제어 권한을 가지며 ACL을 사용하여 다른 사용자에게 객체에 대한 액세스 권한을 부여할 수 있습니다.