2017-12-21 12 views
1

Amazon S3에 이미지가 몇 개 있는데,이를 내 웹 사이트에 표시하므로 일반 사용자 (로그인 필요 없음) 이미지를 볼 수 있습니다. 누구든지 이미지의 URL을 가지고 있기 때문에 누구도 웹 사이트에 이미지를 표시 할 수 있는지 확실하지 않습니다. 어떻게 제어합니까?다른 사용자가 내 Amazon S3 공개 이미지를 자신의 웹 사이트에 표시 할 수 있습니까? (사용료 지불)

(내가 모든 사람이 로그인하여 w/o 이미지를 볼 수 있도록 원하는대로 내가 서명 URL을하지 않습니다.) Restricting Access to a Specific HTTP Referrer에서

답변

3

:

하면 도메인과 웹 사이트가 있다고 가정 이름 (www.example.com 또는 example.com)에 S3 버킷 인 examplebucket에 저장된 사진 및 비디오 링크가 있습니다. 기본적으로 모든 S3 리소스는 비공개이므로 리소스를 만든 AWS 계정 만 리소스에 액세스 할 수 있습니다. 웹 사이트에서 이러한 개체에 대한 읽기 액세스를 허용하려면 aws:referer 키를 사용하여 특정 웹 페이지에서 가져 오기 요청을 가져 오는 조건으로 s3:GetObject 권한을 허용하는 버킷 정책을 추가 할 수 있습니다. 다음 정책은 aws:Referer 조건 키를 사용하여 StringLike 조건을 지정합니다.

{ 
    "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", 
     "Resource":"arn:aws:s3:::examplebucket/*", 
     "Condition":{ 
     "StringLike":{"aws:Referer":["http://www.example.com/*","http://example.com/*"]} 
     } 
    } 
    ] 
} 

문서는 명시 적으로 거부 적용하는 방법을 보여줍니다.

+0

나는 그것을 조사 할 것이다. 매우 유망한 소리. 존 감사합니다. – Steer360