S3 버킷의 일부 폴더에 있는 파일 게시

2817 단어 S3AWS

개요



응용 프로그램을 만들고 S3에 이미지를 배치하고 게시하고 싶었습니다.

이미 사용자의 입력 등을 저장하는 비공개 버킷을 만들었습니다.

이미지를 전달하려면 공개용 버킷을 별도로 만들어야 한다고 생각했지만 버킷의 일부 파일만 공개할 수 있는 것 같다.

이렇게하면 하나의 응용 프로그램에서 여러 버킷을 사용하지 않아도됩니다.
또한 여러 버킷을 만들고 관리 할 필요가 없습니다.

절차를 기록해 둡니다.

했던 일



버킷의 일부 폴더에있는 파일 만 공용 액세스 가능하게 만들었습니다.

다른 모든 파일은 비공개입니다.

방법


  • 게시하려는 버킷 페이지로 이동하여 사용 권한에서 블록 공개 액세스 편집
    기본적으로 공용 액세스를 모두 블록에 체크가 붙어 있습니다.
  • 버킷 정책 만들기
    버킷 페이지 권한에서 버킷 정책 수정
    버킷 정책에는 다음 json이 포함됩니다
  •    {
         "Version":"2012-10-17",
         "Statement":[
           {
             "Sid":"AddPerm",
             "Effect":"Allow",
             "Principal": "*",
             "Action":["s3:GetObject"],
             "Resource":["arn:aws:s3:::DOC-EXAMPLE-BUCKET/publicprefix/*"]
             }
         ]
       }
    

    여기서 DOC-EXAMPLE-BUCKET에는 버킷의 이름을, publicprefix에는 게시할 폴더의 이름을 씁니다.

    따라서 일부 폴더 만 게시 할 수 있습니다.

    시도에 공개 설정을 한 폴더 안의 객체의 객체 URL (h tps : // 브 c케 t 핥아. s3-아 p-r ぇ아 st-1. 아마조나 ws. 이 m/호게/호게. pg와 같은 url. 각 객체의 페이지에 기재되어 있다)를 열면 공개되어 있는 것을 알 수 있다.

    또한 공개 설정하지 않은 폴더 안의 객체의 객체 URL을 열면 액세스 거부되기 때문에 이쪽은 제대로 비공개로 되어 있는 것을 알 수 있다.

    참고



    AWS 공식

    이 페이지에는 폴더 이하를 공개하는 방법 이외에도 오브젝트에 태그를 붙여 특정 태그가 붙어 있는 오브젝트만 공개하는 방법 등도 소개되어 있다.

    좋은 웹페이지 즐겨찾기