2014-11-11 3 views
0

나는 예를 들어 그 안에 파일의 부하와 함께 S3 버킷 "mybucket"가 :S3 버킷의 특정 파일에 대한 정책을 설정할 수 있습니까?

upload1/123.jpg 
public/353.jpg 
public/123.jpg 
upload2/33.jpg 
upload3/423.jpg 

내가 그것을 폴더를 알고있는 것처럼 그냥 편리하고 단지 어쨌든 개체입니다. 그래서 모든 public/* 객체를 public으로 만들 수 있나요? 어떻게해야합니까?

편집 : 나는 더 많은 독서를했으며,이 작품과 비슷한 것을 원했을뿐 다른 것에 영향을 미치지 않았습니까?

{ 
    "Id": "Policy1415732583092", 
    "Statement": [ 
    { 
     "Sid": "Stmt1415732573054", 
     "Action": [ 
     "s3:GetObject" 
     ], 
     "Effect": "Allow", 
     "Resource": "arn:aws:s3:::mybucket/public/*", 
     "Principal": { 
     "AWS": [ 
      "*" 
     ] 
     } 
    } 
    ] 
} 

답변

0

네, 정상적으로 작동합니다. 당신은 당신의 버킷 권한이 정책을 추가 할 수 있습니다

{ 
    "Version": "2012-10-17", 
    "Id": "123", 
    "Statement": [ 
     { 
      "Sid": "", 
      "Effect": "Allow", 
      "Principal": "*", 
      "Action": "s3:**", 
      "Resource": "arn:aws:s3:::mybucket/public/*" 
     } 
    ] 
} 

그런 다음 공용 폴더에 test.html를라는 파일을 추가하고 개인 폴더 중 하나를

<html> 
    <body> 
    test 
    </body> 
</html> 

그런 다음에 호스팅 정적 웹을 가능하게 s3 버킷을 실행 한 다음 웹 브라우저에서 S3 엔드 포인트로 이동하십시오 (US Standard의 경우이 값은 http://s3.amazonaws.com/mybucket/public/test.html). 웹 페이지가 표시되지만 개인 양동이를 통해이 페이지에 액세스하려고하면 실패합니다.