액세스 제어 목록(ACL) 교체
액세스 제어 목록(ACL) 교체 (Replace access control list)
객체별로 접근 권한을 관리해야 할 때 ACL을 써요. Replace access control list(ACL) 작업은 매니페스트에 나열된 모든 객체의 ACL을 일괄 교체해 주는데, 직접 정의한 커스텀 ACL과 Amazon S3가 제공하는 canned ACL을 모두 지원해요.
출처: 문서
본문
Amazon S3 Batch Operations를 쓰면 S3 객체에 대해 대규모 배치 작업을 수행할 수 있어요. Replace access control list(ACL) 작업은 매니페스트에 나열된 모든 객체의 ACL을 교체해요. ACL을 사용하면 누가 객체에 접근할 수 있고 어떤 작업을 수행할 수 있는지 정의할 수 있죠.
참고 Amazon S3의 대부분의 현대 사용 사례에서는 더 이상 ACL이 필요하지 않아요. 객체마다 개별적으로 접근을 제어해야 하는 상황이 아니라면 ACL을 비활성화해 두는 걸 권장해요. ACL을 비활성화하면 버킷에 객체를 누가 업로드했는지와 상관없이 정책을 사용해 버킷 안의 모든 객체에 대한 접근을 제어할 수 있어요. 자세한 내용은 Controlling ownership of objects and disabling ACLs for your bucket 문서를 참고하세요.
S3 Batch Operations는 직접 정의하는 커스텀 ACL과 Amazon S3가 미리 정의된 접근 권한 세트로 제공하는 canned ACL을 모두 지원해요.
매니페스트의 객체가 버전 관리되는 버킷에 있다면, 모든 객체의 특정 버전에 ACL을 적용할 수 있어요. 그러려면 매니페스트에 있는 모든 객체에 버전 ID를 지정해야 해요. 어떤 객체에도 버전 ID를 포함하지 않으면 S3 Batch Operations는 객체의 최신 버전에 ACL을 적용해요.
Amazon S3의 ACL에 대한 자세한 내용은 Access control list (ACL) overview 문서를 참고하세요.
버킷 안의 모든 객체에 대해 공개 접근을 제한하고 싶다면, ACL을 적용하기 위해 S3 Batch Operations를 쓰기보다 Amazon S3 Block Public Access를 사용하는 걸 권장해요. Block Public Access는 단일의 간단한 작업으로 버킷별 또는 계정 전체 단위로 공개 접근을 제한하고 그 효과가 빠르게 적용돼요. 그래서 버킷이나 계정의 모든 객체에 대한 공개 접근을 제어하는 것이 목표라면 Amazon S3 Block Public Access가 더 나은 선택이에요. 매니페스트의 모든 객체에 커스텀 ACL을 적용해야 할 때만 S3 Batch Operations를 사용하세요. S3 Block Public Access에 대한 자세한 내용은 Blocking public access to your Amazon S3 storage 문서를 참고하세요.
매니페스트의 객체가 Object Ownership에 Bucket owner enforced 설정을 사용하는 버킷에 있다면, Replace access control list(ACL) 작업은 버킷 소유자에게 전체 제어 권한을 부여하는 객체 ACL만 지정할 수 있어요. 이 경우 이 작업은 다른 AWS 계정이나 그룹에 객체 ACL 권한을 부여할 수 없어요. 자세한 내용은 Controlling ownership of objects and disabling ACLs for your bucket 문서를 참고하세요.
제약 사항과 한계
Batch Operations로 ACL을 교체할 때는 다음 제약 사항과 한계가 적용돼요.
- Replace access control list(ACL) 작업 실행에 지정하는 AWS Identity and Access Management(IAM) 역할에는 기본이 되는 Amazon S3
PutObjectAcl작업을 수행할 권한이 있어야 해요. 필요한 권한에 대한 자세한 내용은 Amazon Simple Storage Service API Reference의PutObjectAcl을 참고하세요. - S3 Batch Operations는 매니페스트의 모든 객체에 지정한 ACL을 적용할 때 Amazon S3
PutObjectAcl작업을 사용해요. 따라서 기본PutObjectAcl작업에 적용되는 모든 제약 사항과 한계가 S3 Batch Operations의 Replace access control list(ACL) 작업에도 동일하게 적용돼요. - 단일 replace access control list 작업은 최대 200억 개 객체의 매니페스트를 지원할 수 있어요.