[AWS] S3 버킷 생성 및 퍼블릭 액세스 설정 해보기 (버킷 정책 설정)

오진서·2022년 7월 17일
2

S3 버킷 생성

  • 1-1) AWS 홈페이지로 이동하여 로그인한 뒤, S3를 검색합니다. 여기서 버킷 만들기를 클릭해줍니다.


  • 1-2) 다음으로 버킷 이름과 리전을 입력합니다.

버킷 이름 : 전 세계에서 하나 뿐인 고유한 이름으로 지정해줍니다.

AWS 리전 : S3가 생성한 버킷 위치를 지정하는 곳으로 가까운 서울로 해줍니다.



  • 1-3) 밑으로 좀 내리다 보면 위와 같은 버킷 정책 설정이 나옵니다. S3의 기본 정책은 private 설정으로 되어있습니다. 저희 프로젝트에서는 누구든지 간에 이미지를 조회할 수 있게 해주기위해 모두 퍼블릭으로 설정해줍니다. 만약 차단을 한다면 버킷을 저만 볼 수 있게 됩니다.

이외의 다른 옵션들을 간략히 살펴보겠습니다. (모두 default로 두시면 됩니다)

객체 소유권 : 현재 로그인된 AWS 계정으로만 버킷을 소유할 것인지 유무를 묻는 옵션입니다.

버킷 버전 관리 : 객체의 변경 내용을 유지할 것인지에 대한 옵션입니다. 추가 비용이 드는 작업이므로 필요한 경우가 아니라면 비활성화로 둡니다.

기본 암호화 : 모든 새 객체가 저장될 때 암호화 되도록 합니다.



  • 1-4) 나머지는 그대로 두고, 아래로 내려가서 버킷을 생성합니다.


  • 1-5) 버킷이 잘 생성되었는지 확인한 뒤, 생성된 버킷의 이름을 클릭합니다.


  • 1-6) 우선 업로드를 클릭하여 이미지가 잘 업로드 되는지 확인해보겠습니다.


  • 1-7) 파일 추가를 클릭해 이미지 파일을 선택하고 업로드를 클릭합니다.


  • 1-8) 업로드한 파일의 상태(성공)를 확인하고, 파일 이름을 클릭해봅니다.


  • 1-9) 업로드한 파일의 정보가 나오고, 이미지 파일을 조회할 수 있는 URL을 클릭해봅니다. 이 URL을 이용해서 누구든지 이미지를 볼 수 있도록 합니다.


  • 1-10) 아까 퍼블릭 엑세스 설정을 해주었음에도 불구하고 AccessDenied 에러코드가 발생한 모습을 볼 수 있습니다. 이는 초기 설정만으로 퍼블릭으로 설정되는 것이 아니라 버킷 정책에 대한 추가적인 설정이 필요로 하기 때문입니다.

    버킷 정책이 설정되있지 않은 경우 기본으로 모든 리소스 접근에 대한 권한을 차단합니다.

그럼 이제부터 버킷 정책을 생성해주도록 하겠습니다.



버킷 정책 생성

  • 1-11) 다시 버킷으로 돌아와서 권한을 클릭해줍니다.


  • 1-12) 버킷 정책 오른쪽 상단에 위치한 편집을 클릭해줍니다.


  • 1-13) 버킷 정책은 JSON으로 이루어진 데이터입니다. 정책 생성기에서 GUI를 통해 쉽게 JSON으로 이루어진 데이터를 생성할 수 있습니다.


  • 1-14) 저희 프로젝트에서는 이미지 조회만 퍼블릭으로 설정하고, 그 나머지 등록이나 삭제는 권한을 가진 사용자만이 이용할 수 있게 할 것이므로 3번 액션에는 GetObject 한 개만 선택해줍니다.


  • 1-15) 최종적으로 Generate Policy를 클릭하여 정책을 생성합니다.


  • 1-16) 저희가 설정한 버킷 정책 내용이 담긴 JSON 코드를 복사해줍니다.


  • 1-17) 복사한 JSON코드를 편집기에 붙여넣고, 변경 사항 저장을 클릭합니다.

이제 다시 한 번 객체 URL에 접속하면 이미지가 잘 출력되는 모습을 보실 수 있습니다.

profile
안녕하세요

0개의 댓글