2012-10-31 1 views
7

나는 Amazon S3 버킷을 사용하여 정적 웹 사이트를 제공하고 있습니다. 나는 "S3"에 폴더가 없기 때문에 특정 "폴더"(실제로는 키)에 대한 읽기 액세스를 제한 할 수 있다는 것을 알고 있지만 실제로는 파일 확장자로 액세스를 제한하고 싶습니다.확장자에 따라 S3의 파일을 어떻게 제한합니까?

즉, "이 버킷의 모든 파일에 대해 모든 사용자에게 읽기 액세스 권한을 부여합니다. 해당 파일이 htm/css/js/png로 끝나는 한"이라고 말하고 싶습니다. 그게 가능하니?

(제 관심사로, 실수로 .git 파일 또는 다른 사람들에게 내가 보여주고 싶지 않은 비슷한 파일을 업로드 할 것이므로 보안 정책을 설정하면 이러한 파일이 더 안전하지 않게 보입니다. 실수로 잘못된 파일을 업로드하지 마라.

+0

스택 오버플로에 대해 알고있는 사람이 있습니까? 아니면 내 질문에 잘못된 것이 있습니까? – machineghost

답변

15

예, 가능합니다. Bucket Policy을 쓸 수 있습니다. 정규 표현식을 사용하여 정책에 의해 영향을받는 객체를 정의 할 수 있습니다 (examples). 이것은 BUKET bucket의 모든 jpg 파일에 대한 액세스를 거부합니다

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Sid": "auniqueid", 
      "Effect": "Deny", 
      "Principal": { 
       "AWS": "*" 
      }, 
      "Action": "s3:GetObject", 
      "Resource": "arn:aws:s3:::bucket/*.jpg" 
     } 
    ] 
} 

:

정책은 비슷한 것입니다.

+0

그 링크를 가져 주셔서 감사합니다. 그러나 링크 된 예제 중 어느 것도 파일 확장자로 제한하는 방법을 보여주지 않습니다. – machineghost

+0

@machineghost가 내 답변에 예제를 추가했습니다. – lstern

+0

신난다, 고마워! – machineghost

관련 문제