2012-03-12 2 views
1

AWS S3 사용. 비디오와 사진 파일이 혼합되어 있습니다. 모두 하위 디렉토리에 있습니다. 모든 파일은 비공개로 설정됩니다. 비디오 파일에 액세스하려고하면 AccessDenied이 표시됩니다. 다른 파일들은 괜찮습니다. 동영상으로 AccessDenied를받는 이유는 무엇입니까?

나는 아무 소용이 시도 :

{ 
"Id": "Policy1331547131417", 
"Statement": [ 
    { 
    "Sid": "Stmt1331546963174", 
    "Action": [ 
     "*" 
    ], 
    "Effect": "Allow", 
    "Resource": "arn:aws:s3:::actual_bucket_name_here/uploads/users/*/videos/*", 
    "Principal": { 
     "AWS": [ 
     "*" 
     ] 
    } 
    }, 
    { 
    "Sid": "Stmt1331547083926", 
    "Action": [ 
     "*" 
    ], 
    "Effect": "Allow", 
    "Resource": "arn:aws:s3:::actual_bucket_name_here/uploads/users/*/photos/*", 
    "Principal": { 
     "AWS": [ 
     "*" 
     ] 
    } 
    }, 
    { 
    "Sid": "Stmt1331547130024", 
    "Action": [ 
     "*" 
    ], 
    "Effect": "Allow", 
    "Resource": "arn:aws:s3:::actual_bucket_name_here/uploads/users/*/banners/*", 
    "Principal": { 
     "AWS": [ 
     "*" 
     ] 
    } 
    } 
] 
} 

나의 버킷 정책이 비디오, 사진 및 배너 동일합니다. ACL 사용 권한도 모든 파일에서 동일합니다. 그렇다면 왜 내 비디오 디렉토리에서 파일에 액세스 할 수 없습니까?

+0

즉, 어떤 도구 (예 : 자바 스크립트 동영상 플레이어 위젯 등)를 사용하여 동영상 파일에 액세스 할 수 있습니까? –

답변

0

실제로 어떤 도구, 서비스, API를 통해 동영상 파일에 액세스하려고합니까?

실제로 사용되는 액세스 방법은 실제로는 s3:ListBucket 작업에 대한 허가가 필요할 수 있습니다. 자바 스크립트 비디오 플레이어 위젯은 해당 비디오의 다양한 파일 형식을 암시 적으로 검색하여 사용자에게 각각의 선택을 제시 할 수 있습니다. Operations on Buckets (예 : ListBucket)과 Operations on Objects (예 : GetObject)의 차이점을 알아야합니다. 내 대답은 Problems specifying a single bucket in a simple AWS user policy입니다.

따라서 비디오 버킷 정책을 확장하면이 문제를 해결할 수 있습니다. (정책 단편 만 해당) : -, 위에서 언급 한 바와 같이

{ 
"Statement": [ 
    { 
    "Action": [ 
     "s3:ListBucket" 
    ], 
    "Effect": "Allow", 
    "Resource": "arn:aws:s3:::actual_bucket_name_here/uploads/users/*/videos", 
    "Principal": { 
     "AWS": [ 
     "*" 
     ] 
    } 
    } 
] 
} 

이 정책 조각은 당신 만 거기에 및 두 조각이 필요한 객체를 해결 버킷, 주소 있습니다 이 미묘한 차이점은 내 대답 Problems specifying a single bucket in a simple AWS user policy에 설명되어 있습니다.

+0

JwPlayer라는 웹 플레이어를 통해 비디오에 액세스하려고합니다. 같은 비디오 디렉토리 (비디오 파일이있는 곳)에는 미리보기 이미지가 있습니다. 이러한 미리보기 이미지에도 액세스 할 수 없습니다. 엄지 손가락의 경우, 요소 –

+0

PS를 사용하고있었습니다. 나는 나의 행동을''*''로 바꿨다. 위의 편집을 참조하십시오. 여전히 같은 문제. ''Action''''* *''을 갖는 것은'ListBucket' 액션에 대해서도 마찬가지입니다. –

+0

@ChristianFazzini : 액션을'*'로 변경하면 리소스가 실제로 ListBucket _에 포함됩니다 ** 그러나 **, 정책 조각은 버킷 안의 객체를 지정하고 버킷 자체에는'ListBucket'이 필요합니다. [관련 문제에 대한 다른 링크 된 답변] (http://stackoverflow.com/a/9089457)에 자세히 설명되어 있습니다. - 필자는 여기에 인라인 스트레스에 대한 답변을 업데이트했습니다. –

관련 문제