2013-02-03 3 views
2

는 최근 설정 다음과 같은 정책을 양동이에 액세스 할 수있는 IAM 역할은 : 잘 버킷의 내용을 나열 할 수 있지만 내가 특정 키에 get_contents_to_filename를 호출 할 때get_contents_to_filename을 사용하려면 어떤 역할 권한이 필요합니까?

{ 
    "Statement": [ 
    { 
     "Sid": "Stmt1359923112752", 
     "Action": [ 
     "s3:*" 
     ], 
     "Effect": "Allow", 
     "Resource": [ 
     "arn:aws:s3:::<BUCKET_NAME>" 
     ] 
    } 
    ] 
} 

, 나는 boto.exception.S3ResponseError: S3ResponseError: 403 Forbidden 예외가 발생합니다.

S3에서 키를 가져 오기 위해 추가해야하는 역할 권한이 있습니까? 개별 키에 대한 사용 권한을 확인한 결과, 다른 사용자의 액세스를 명시 적으로 금지하지 않는 것으로 보입니다. 소유자에게 전체 사용 권한을 부여하는 단일 사용 권한 만 있습니다.

완전성을 위해 위의 역할 정책을 제거하면 버킷에 대한 액세스가 완전히 차단되므로 정책 적용에 문제가없는 것으로 확인되었습니다.

감사합니다.

답변

2

양동이뿐만 아니라 양동이의 개체에 권한을 부여해야합니다. 따라서 리소스는 arn:aws:s3:::<bucketname>/*이어야합니다. 그것은 모든 대상과 일치합니다.

불행히도 버킷 자체와 일치하지 않습니다. 따라서 버킷 관련 권한을 arn:aws:s3:::<bucketname>에 부여하고 개체 사용 권한을 arn:aws:s3:::<bucketname>/*으로 지정하거나 arn:aws:s3:::<bucketname>*에게만 권한을 부여해야합니다. 후자의 경우 fred이라는 버킷에 권한을 부여하면 freddy이라는 동일한 권한이 부여됩니다.

+0

감사! 방금 같은 시간에 관련 질문을 보았습니다. http://stackoverflow.com/questions/8203598/i-need-an-amazon-s3-user-with-full-access-to-a-single-bucket – bboe

관련 문제