티스토리 뷰

개발/개발일지

S3 사용기 : 버킷 정책

dug_developer 2022. 4. 30. 23:40
반응형

Simple Storage Service

  • AWS(amazon web service)가 제공하는 file을 저장하는 서버
  • 안전하고 쉽게 사용 가능
  • 저렴한 가격
  • 서버가 다운될 걱정을 안해도 됨

 

버킷

  • 저장장치 : 컨테이너
  • 하나의 프로젝트에 하나의 버킷
  • 내부에서 폴더를 생성할 수 있음
  • 폴더 안에 파일이 있는데 파일을 object(객체)라고 한다.

 

버킷을 생성하고 사진을 넣어서 접근하려고 봤더니!

띠용

거절당했다...

 

 

 

 

해결하기 위해서

모두가 접근할 수 있게 public access 차단하지 않음

 

 

그리고 버킷 정책 편집을 들어가서 버킷 정책 생성기를 클릭한다.

 

 

 

 

이와 같은 page가 나오는데

1. S3 버킷 정책으로 선택

2. principal * 넣기

3. actions 에서 put object 랑 get object 추가해줌

4. 버킷 arn 넣기

    ex) arn:aws:s3:::meongmeong-tui-img-storage

 

 

 

 

 

그렇게 해서 생성된 버킷 정책

{
  "Id": "Policy1651326565704",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1651326561049",
      "Action": [
        "s3:GetObject",
        "s3:PutObject"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::meongmeong-tui-img-storage",
      "Principal": "*"
    }
  ]
}

생성된 버킷 정책을 복사해서 버킷 정책 편집에다가 붙여넣기

(혹시라도 이건 제꺼니까 그대로 갖다쓰면 안되요!)

 

 

그런데

Action does not apply to any resource(s) in statement

라면서 안된다...

 

 

구글링 해보니

https://stackoverflow.com/questions/44228422/s3-bucket-action-doesnt-apply-to-any-resources

 

S3 Bucket action doesn't apply to any resources

I'm following the instructions from this answer to generate the follow S3 bucket policy: { "Id": "Policy1495981680273", "Version": "2012-10-17", "Statement": [ { "Sid": "

stackoverflow.com

해결법
“Resource”에 넣은 버킷 arn의 뒤에 /*를 붙여주라고 한다!

그렇게 해서 사진 올리고 접근하기 성공!

https://meongmeong-tui-img-storage.s3.ap-northeast-2.amazonaws.com/초록감자.png

접근 성공!

 

반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
글 보관함
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
반응형