AWS
AWS S3 bucket 정책 설정하기
심나라
2024. 4. 10. 16:37
728x90
AWS S3 버킷을 만들고 정책을 어떻게 설정하는지 알아보겠습니다. S3 버켓을 만들지 않은 경우는 아래 블로그를 참고 바랍니다.
https://ksshim.tistory.com/148
AWS S3 bucket 만들기
1. S3 (Simple Storage Service) 특징 매우 안전하고 가변적인 오브젝트 저장 공간 제공 S3 버킷 공간은 무제한이라 스토리지 공간에 구애받지 않고 사용가능 비정형화 데이터 저장가능 (ex : 사진, 동영상
ksshim.tistory.com
버킷 맨 상위 폴더에서 [권한] 탭을 클릭하면 버킷 정책 편집기가 나옵니다.
JSON 포맷을 요구하는 버킷 정책은 오브젝트 레벨이 아닌 버킷 레벨에 해당하기 때문에 버킷 정책에서 설정하는 내용은 모두 오브젝트에 영향을 줍니다.
'편집' 버튼을 클릭해서 버킷 정책 편집 화면으로 이동합니다.
정책을 JSON 형태로 타이핑 할 수도 있고 '정책 생성기'를 통해서 생성된 정책을 붙여넣기 해도 됩니다.
[정책 생성기] 버튼을 클릭하면 'AWS Policy Generator' 창이 나옵니다.
- Select Type of Policy : 'S3 Bucket Policy' 선택
- Effect : 오브젝트 접근 허용을 위해 'Allow'를 선택
- Principal : 새로만들 정책을 적용할 사용자의 IAM ARN 주소를 적습니다.
그룹 ARN 주소도 넣을 수도 있고, *을 입력하면 모두에게 적용됨. - AWS Service : Amazon S3 로 되어 있는지 확인
- Actions : S3 버킷에서 허용하고 싶은 모든 액션을 나열하고 있고, 'All Actions'를 선택해서 S3를 어드민 처럼 사용할 수도 있음.
- Amazon Resource Name (ARN) : 버킷 고유 ARN, 버킷 최상위 폴더 [속성] 탭에서 확인가능
버킷 정책을 입력하고 변경사항 저장시 "Action does not apply to any resource(s) in statement"에러가 발생하면 버킷 고유 ARN 뒤에 /* 를 붙여주면 됨.
Actions 유형
- GetBucketPolicy : 루트 유저뿐 아니라 다른 사용자에게 접근 권한을 주기 위해서 버킷 정책 접근 권한설정
- GetObject : 오브젝트 읽기
- PutObject : 오브젝트 쓰기
- DeleteObject : 오브젝트 삭제
* S3 버켓을 사용하기 위해서 GetObject, PutObject, DeleteObject 3개를 선택하면 됨.
모두 작성했으면 [Add Statement] 버튼을 클릭합니다.
새로운 statement 가 생성되고 하단의 [Generate Policy] 버튼을 누르면 새창에 정책 JSON 문서가 생성됩니다.
이를 복사해서 이전 버킷 정책의 빈 화면에 붙여넣고 [변경 사항 저장] 버튼을 눌러 버킷 정책을 적용합니다.
728x90