2013-05-14 2 views
1

S3에 안전하게 제공하고 싶은 정적 자산이 많이 있습니다.EC2 서버에서 S3 검색

맞춤 도메인 이름과 SSL 인증서를 사용할 수없고 기존 인증 솔루션과 통합하기 때문에 EC2의 실제 웹 서버를 통해 S3 콘텐츠를 제공하려고합니다.

볼륨을 S3로 마운트하는 방법을 보여주는 http://www.cyberkan.com/how-to-mount-s3-over-ec2-linux/을 찾았습니다.

누구나 EC2에서 Apache 또는 nginx를 통해 s3fs를 통해 S3 버킷을 제공하려고 했습니까? 이것이 성능과 안정성 측면에서 실행 가능한 전략입니까?

답변

0

내 경험이 섞여있다. S3는 블록 장치가 아닙니다. 많은 응용 프로그램은 블록 장치라고 가정하고 파일 시스템에 액세스합니다. s3fs 마운트에있는 파일에 액세스하려고하면 결과를 예측할 수 없습니다.

S3에는 SSL이 지원되므로 도메인을 사용해야합니다. 서명 된 URL을 통해 개인 파일에 대한 액세스를 제공 할 수 있습니다. 어떤 사용자는 certian 기간 동안 유효합니다.

-2

S3에 남겨 두어 콘텐츠를 보호 한 다음 S3의 버킷 정책을 편집하여 사용자가 서버에서 링크를 클릭 할 때 콘텐츠에 대한 액세스 만 허용 할 수 있습니다. 예를 들어 콘텐츠 관리 시스템 (www.example.com)에 콘텐츠 관리 시스템 (www.example.com)이 있고 S3에서 버킷의 '속성'으로 이동 한 다음 '권한'영역에서 '버킷 정책 추가'를 클릭합니다. ".

예를 들어,이 코드를 사용하여 리퍼러 특정 HTTP에 대한 액세스를 제한 할 수 있습니다 :

{ 
    "Version":"2008-10-17", 
    "Id":"http referer policy example", 
    "Statement":[ 
    { 
     "Sid":"Allow get requests originated 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/*" 
      ] 
     } 
     } 
    } 
    ] 
} 

참고 : 나는 성공적으로이 방법을 사용했습니다

the S3 documentation에서이 예입니다. 다른 사람이 페이지 소스를보고 S3 버킷 소스로 직접 이동하려고해도 액세스가 거부됩니다. 그들이 www.example.com에 인증 될 때만 해당 인증 된 브라우저 세션에서 컨텐츠를 보거나 다운로드 할 수있는 링크를 클릭하면 파일에 액세스 할 수 있습니다.

+0

HTTP REFERER 헤더는 사용자 브라우저에서 전송됩니다. 이것은 속일 수 있습니다. 이 접근법은 안전하지 않습니다. – GuiSim

관련 문제