[AWS] S3의 ACL 구성
S3 버킷에 대한 액세스 권한을 관리할 때, ACL(액세스 제어 목록)을 사용할 수 있다.
콘솔 ,aws cli, SDK를 사용하면 리소스에 대해 권한 부여를 추가할 수 있다.
버킷 및 객체 권한은 서로 독립적이며, 객체는 해당 버킷으로부터 권한을 상속하지 않는다.
최신의 대부분은 더 이상 ACL을 사용 할 필요가 없으며. 각 객체에 대해 액세스를 개별적으로 제어할 필요가 있는 드문 상황을 제외하고는 ACL을 비활성화 한 채로 두는 것이 좋다.
다만 버킷의 설정에 따라 sync나 cp 작업을 할 때, 대상 버킷에 복제가 되더라도 객체의 권한이 없어 다운로드/읽기가 안되는 경우가 있었다. 그때 사용할 수 있는 명령어를 알아보자.
ACL 옵션
AWS CLI 버전 2 부터는 소스에서 대상 복제본으로 모든 태그와 속성을 전송한다.
따라서 소스 버킷의 권한이 대상 버킷에 없을 경우 access deny가 발생할 수도 있다.
참고로 AWS CLI 버전 1의 경우 원본 객체의 파일 속성이 대상 객체에 복사되지 않는다.
AWS CLI 버전 2 명령에서 기본 동작을 변경해야 하는 경우, --copy-props 파라미터를 사용할 수 있다.
default | 기본값, 소스 객체에 연결된 모든 태그와 메타데이터에 포함된 속성이 복사에 포함된다. |
metadata-directive | 파라미터에 포함된 속성만 복사에 포함되도록 지정한다. |
none | 소스 객체의 속성이 복사에 포함되지 않도록 지정한다. |
명렁어는 다음과 같이 사용할 수 있다.
aws s3 sync source_path target_path --acl bucket-owner-full-control --copy-props none
참고
https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/acl-overview.html
https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-services-s3-commands.html
'💻 CSP > AWS' 카테고리의 다른 글
[AWS] S3 수명 주기 정책 (Life Cycle Rule) (0) | 2024.04.05 |
---|---|
[AWS] ECR 로그인 & 빌드 및 푸쉬 (0) | 2024.03.11 |
[AWS] Lambda Connection Handler (0) | 2024.02.29 |
[AWS] Transit Gateway (0) | 2024.02.28 |
[AWS] Client VPN (2) (0) | 2024.02.27 |