특정 HTTP Referer에 대한 액세스 제한
- 기본적으로 s3 리소스는
private
이므로 리소스를 생성한 AWS 계정만 엑세스 가능.
- 특정 웹 사이트에서 버킷의 오브젝트에 접근하는 것 허용하기
적합한 상황
- 버킷에 저장된 사진과 동영상 링크가 포함된 웹 사이트
- ex) 블로그 같은 사이트에서 이미지를 s3에 업로드 해놓고 보여주는 경우 등
설정
- 해석 :
Referer
에 속한 웹사이트라면 Resource
자원에 대한 Action
을 Allow
하겠다.
- 조건 : 사용하는 브라우저에는 요청의
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/*"]} //조건
}
}
]
}