[AWS S3] S3 버킷 생성

Lina·2023년 1월 16일
0

AWS

목록 보기
2/3

S3에서 필수로 만들어야 하는 버킷생성인데 진짜 별거 없고 쉽다. 물론 버킷을 생성하는 것만이고, 버킷 권한 설정이나 정책에서 애를 좀 먹었다..

이번 글은 간단히 테스트용 버킷 만들기를 위한 글이고, 실 사용시에는 정책을 좀 잘 짜서 적용해야하니 고민을 해봐야한다.

Bucket 만들기

  • 버킷 만들기 클릭!

  • 버킷 이름(고유한 값) 입력하고, AWS 리전은 ap-northeast-2(서울) 기본값으로 선택
  • 객체 소유권(다른 AWS계정에서도 소유권을 가지거나 접속제어 가능 유무)에서 ACL 비활성화됨을 선택(내가 접속한 계정에서만 소유하도록 한다)


(여기서 진짜 헷갈렸다..블로그의 도움을 많이 받았다. 근데도 헷갈린다..)

1) 새 ACL(액세스 제어 목록)을 통해 부여된 버킷 및 객체에 대한 퍼블릭 액세스 차단

  • 공식문서에서 BlockPublicAcls라고 한다. 모든 퍼블릭 접근을 차단한다는 뜻.
  • ACL을 public으로 설정하려고 하면 업로드 자체를 Access Denied 오류를 나타내면서 거절한다.

2) 임의의 ACL(액세스 제어 목록)을 통해 부여된 버킷 및 객체에 대한 퍼블릭 액세스 차단

  • IgnorePublicAcls. 차단까지는 아니지만 무시를 한다.
  • 1번처럼 Access Denied오류를 나타내지는 않지만, URL을 통해서 이미지에 접근하려고 하면 접근이 되질 않는다.

3) 새 퍼블릭 버킷 또는 액세스 지점 정책을 통해 부여된 버킷 및 객체에 대한 퍼블릭 액세스 차단

  • BlockPublicPolicy는 퍼블릭 설정을 함부로 바꾸지 못하게 하는 옵션

4) 임의의 퍼블릭 버킷 또는 액세스 지점 정책을 통해 부여된 버킷 및 객체에 대한 퍼블릭 및 교차 계정 액세스 차단

  • RestrictPublicBuckets라고 부르는 이 옵션은 권한이 부여된 사용자에게만 파일(객체)이나 S3(버킷)에 퍼블릭 설정을 할 수 있도록 하는 옵션

🤔

Test를 해봤는데, (간단한 post 코드를 짜고 postman으로 실행)
1. 1,2 체크 / 3,4 미체크 - 이미지 URL 클릭 시 이미지는 뜨는데, postman으로 post하면 Access Denied가 뜸.
2. 1,2 미체크 / 3,4 체크 - 이미지 URL 클릭 시 Access Denied 뜨고, post는 성공

  • 퍼블릭 액세스가 차단된 상태면 나중에 Access Denied 에러가 발생할 수 있다.
  • 만약 버킷을 비공개로, 나만보고 싶다면 모든 옵션에 체크✔️
  • 퍼블릭 액세스가 차단되었을 경우 IAM에서 AWSAccessKey와 AWSSecretKey를 발급받고 이를 이용해서 S3객체에 접근할 수 있다.
  • 실무에서 사용할 경우에는 모든 액세스 차단 혹은 ACL을 이용하여 액세스를 차단해주는 것이 보안에 좋다.

  • 버킷 버전 관리를 활성화하면 파일을 버전별로 관리하기 때문에 비용이 더 든다. 대신 사용자가 실수로 파일을 삭제해도 복원할 수 있다.
  • 태그는 서비스를 하다가 버킷이 많아지면, 버킷들을 그룹화 시키는 것.
    • 서비스 운영에 따라 사용하는 방법이 달라지는데, 특정 버킷을 태깅해놓고 이후에 비용 측정이라던지 많은 버킷중에 태그로 검색을 한다던지 할 때 쓰이게 된다.
  • 기본 암호화를 활성화 하면 버킷에 저장되는 모든 새 객체를 암호화해서 저장한다.
    • 그리고 객체를 다운로드 할 때 암호를 복호화해서 제공해준다.

👍Reference

https://arikong.tistory.com/21
https://wooogy-egg.tistory.com/77

0개의 댓글