- 책 또는 웹사이트의 내용을 복제하여 다른 곳에 게시하는 것을 금지합니다.
- 책 또는 웹사이트의 내용을 발췌, 요약하여 강의 자료, 발표 자료, 블로그 포스팅 등으로 만드는 것을 금지합니다.
AWS HTTP 프로토콜과 연동되는 스토리지 S3
이재홍 http://www.pyrasis.com 2014.03.24 ~ 2014.06.30
S3 버킷 권한 관리하기
이제 버킷에 권한을 설정해보겠습니다. 버킷에 권한을 설정하면 버킷 안에 든 모든 객체에 적용됩니다. 예제로 버킷의 내용 전체를 인터넷에 공개하는 방법을 알아보겠습니다.
'11.2 S3 버킷에 파일 올리기/받기'를 참조하여 버킷에 그림 파일을 하나 더 올립니다. 저는 Jellyfish.jpg라는 그림 파일을 새로 올렸습니다. 새로 올린 파일을 선택하고 위쪽의 Properties 버튼을 클릭합니다. Link 부분을 보면 URL의 아이콘이 노란색 자물쇠 모양인 것을 확인할 수 있습니다. 이 링크를 클릭합니다.
이 URL은 웹 브라우저로 접속해도 그림 파일이 열리지 않는 상태입니다.
위쪽의 All Bucket을 클릭하면 모든 버킷의 목록이 표시됩니다. 버킷을 선택하고 위쪽의 Properties 버튼클 클릭한 뒤 Permissions 탭을 클릭합니다. 그리고 Add bucket policy 버튼을 클릭합니다(버킷을 선택하고 마우스 오른쪽 버튼을 클릭하면 나오는 팝업 메뉴에도 Properties가 있습니다).
Add more permissions를 클릭했을 때 나오는 내용은 '11.3.1 S3 객체 권한 관리하기'와 동일합니다. 단 여기서는 버킷 전체에 대해 설정하는 것이므로 버킷 안에 들어있는 모든 객체에 적용됩니다.
버킷 정책 편집기Bucket Policy Editor가 표시됩니다. 이곳에 JSONJavaScript Object Notation 형태의 정책을 입력하면 됩니다. 이 정책은 다소 복잡하기 때문에 AWS에서는 이 정책을 생성해주는 페이지를 제공하고 있습니다. 아래쪽 AWS Policy Generator 링크를 클릭합니다.
그림 11-19처럼 웹 브라우저의 새 창에서 AWS Policy Generator 페이지가 열렸습니다.
- Select Type of Policy: SNS Topic Policy, IAM Policy, SQS Queue Policy, S3 Bucket Policy를 선택할 수 있습니다. 여기서는 S3 Bucket Policy를 선택합니다.
- Effect: 허용(Allow), 거부(Deny)를 선택할 수 있습니다. 기본값 그대로 Allow를 선택합니다.
- Principal: 권한을 적용할 사용자입니다. IAM 계정을 사용할 수 있습니다. 여기서는 인터넷에 전체 공개할 것이므로 *을 입력합니다.
- AWS Service: 처음 Select Type of Policy를 선택하면 그에 맞는 서비스가 자동으로 선택됩니다. 기본값 그대로 사용합니다.
- Actions: S3의 모든 액션이 표시됩니다. 우리는 파일을 받는 액션만 사용할 것이므로 GetObject를 선택합니다.
- Amazon Resource Name(ARN): 아마존의 리소스를 고유하게 표현하는 방식입니다. arn:aws:s3:::examplebucket10/*을 입력합니다. 이것은 AWS의 S3에서 examplebucket10 아래 모든 파일을 뜻합니다. /* 대신 /Jellyfish.jpg 등으로 특정 파일을 지정해 줄 수도 있습니다.
Add Conditions에서 UserAgent, SourceIP 등 다양한 조건을 사용할 수 있습니다. 여러분들이 필요할 때 하나하나 사용해보기 바랍니다. 설정이 완료되었으면 Add Statement 버튼을 클릭합니다.
설정한 내용이 Statements 목록에 추가되었습니다. 아래쪽 Generate Policy 버튼을 클릭합니다.
AWS 정책이 생성되었습니다. 이 JSON 텍스트를 전체 선택 한 뒤 복사합니다.
이제 다시 버킷 정책 편집기Bucket Policy Editor에 방금 AWS Policy Generator에서 복사한 JSON 텍스트를 붙여넣습니다. 붙여넣기가 완료되었다면 아래쪽 Save 버튼을 클릭합니다.
S3 버킷(examplebucket10)을 클릭하여 객체 목록으로 들어옵니다. 방금 올린 파일을 선택하고 위쪽 Properties 버튼을 클릭합니다. Link 부분을 보면 URL의 노란색 자물쇠 모양 아이콘이 사라졌습니다. 이제 이 링크를 클릭합니다.
그림 11-35처럼 웹 브라우저에서 그림 파일이 잘 표시됩니다. 버킷 전체를 공개하도록 권한 설정을 했으므로 이제부터 이 버킷에 올리는 모든 파일은 인터넷에 자동으로 공개됩니다.
저작권 안내
이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.- 블로그, 게시판 등에 퍼가는 것을 금지합니다.
- 비공개 포스트에 퍼가는 것을 금지합니다.
- 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
- 링크 및 SNS 공유는 허용합니다.