특정 웹사이트에서 요청만 허용

Tags
버킷 정책

특정 HTTP Referer에 대한 액세스 제한

  • 기본적으로 s3 리소스는 private이므로 리소스를 생성한 AWS 계정만 엑세스 가능.
  • 특정 웹 사이트에서 버킷의 오브젝트에 접근하는 것 허용하기

적합한 상황

  • 버킷에 저장된 사진과 동영상 링크가 포함된 웹 사이트
    • ex) 블로그 같은 사이트에서 이미지를 s3에 업로드 해놓고 보여주는 경우 등

설정

  • 해석 : Referer에 속한 웹사이트라면 Resource 자원에 대한 ActionAllow하겠다.
  • 조건 : 사용하는 브라우저에는 요청의 HTTP referer 헤더가 포함되어야 함.
{ "Version":"2012-10-17", "Id":"http referer policy example", "Statement":[ { "Sid":"Allow get requests originating from www.example.com and example.com.", "Effect":"Allow", //허용하겠다 "Principal":"*", "Action":["s3:GetObject","s3:GetObjectVersion"], //권한 "Resource":"arn:aws:s3:::awsexamplebucket1/*", //자원 "Condition":{ "StringLike":{"aws:Referer":["http://www.example.com/*","http://example.com/*"]} //조건 } } ] }