ACL로 접근 관리
ACL로 접근 관리
Access control list(ACL)는 버킷과 객체에 대한 접근을 관리하는 데 사용할 수 있는 리소스 기반 옵션 중 하나예요. ACL을 사용해 다른 AWS 계정에 기본적인 읽기/쓰기 권한을 부여할 수 있어요. 다만 ACL로 권한을 관리하는 데는 제한이 있어요.
예를 들어 ACL은 다른 AWS 계정에만 권한을 부여할 수 있고, 내 계정 안의 사용자에게는 권한을 부여할 수 없어요. 조건부 권한을 부여할 수도 없고, 명시적으로 권한을 거부할 수도 없어요. ACL은 특정 시나리오에 적합해요. 예를 들어 버킷 소유자가 다른 AWS 계정이 객체를 업로드하도록 허용했다면, 이 객체들에 대한 권한은 객체를 소유한 AWS 계정만 객체 ACL로 관리할 수 있어요.
S3 Object Ownership은 Amazon S3 버킷 수준 설정으로, 버킷에 업로드되는 객체의 소유권을 제어하고 ACL을 비활성화하거나 활성화하는 데 사용할 수 있어요. 기본적으로 Object Ownership은 Bucket owner enforced 설정으로 되어 있고 모든 ACL이 비활성화돼요. ACL이 비활성화되면 버킷 소유자가 버킷의 모든 객체를 소유하고, 접근 관리 정책만 사용해 그 객체들에 대한 접근을 독점적으로 관리해요.
Amazon S3의 대부분의 최신 사용 사례는 더 이상 ACL을 사용할 필요가 없어요. 객체별로 개별적으로 접근을 제어해야 하는 경우가 아니라면 ACL을 비활성화한 채로 두는 것을 권장해요. ACL을 비활성화하면 버킷에 누가 객체를 업로드했는지와 관계없이 정책을 사용해 버킷의 모든 객체에 대한 접근을 제어할 수 있어요.
자세한 내용은 버킷의 객체 소유권 제어 및 ACL 비활성화를 참고하세요.
중요
일반 목적 버킷이 S3 Object Ownership에 대해 Bucket owner enforced 설정을 사용한다면, 일반 목적 버킷과 그 안의 객체에 대한 접근 권한을 부여하려면 정책을 사용해야 해요. Bucket owner enforced 설정이 활성화되면 access control list(ACL)를 설정하거나 업데이트하려는 요청이 실패하고
AccessControlListNotSupported오류 코드를 반환해요. ACL을 읽는 요청은 여전히 지원돼요.
ACL에 대한 자세한 내용은 다음 주제를 참고하세요.
출처: 문서