2017-10-25 3 views
0

내 버킷 권한 -> 액세스 제어 -> 공용 액세스를 수행 할 때 '모두'옵션을 선택할 수 있습니다.AWS s3 "공용 액세스"

즉, 모두은 URL (주어진 URL)을이 버킷 파일에 액세스 할 수 있습니까?

소유자가 아니거나 파일이 아니어도 내 사용자 풀을 통해 연결된 모든 사용자에게 액세스 권한을 부여하려면 어떻게해야합니까?

답변

1

예 액세스 제어를 공개하면 전 세계가 액세스 할 수 있어야합니다. 할 수있는 일은 양동이 정책을 설정하여 양동이에 대한 액세스를 제한하는 것입니다. 버킷 정책에서는 연결할 사용자를 지정할 수 있습니다.

{ 
 
\t "Version": "2012-10-17", 
 
\t "Id": "Policy12345", 
 
\t "Statement": [ 
 
\t \t { 
 
\t \t \t "Sid": "Stmt12345", 
 
\t \t \t "Effect": "Allow", 
 
\t \t \t "Principal": "*", //* means public . Specify your users here 
 
\t \t \t "Action": "s3:GetObject", 
 
\t \t \t "Resource": "arn:aws:s3:::BUCKETNAME/*" 
 
\t \t } 
 
\t ] 
 
}
'교장'섹션에서

연결하려는 사용자를 언급

은 (쉼표로 구분), 아래 샘플 버킷 정책을 찾아주세요. 당신이 다음 주에 추가 ARN을해야하는 경우, 예를 들어

"Principal" : {"AWS": ["arn:aws:iam::111122223333:root","arn:aws:iam::444455556666‌​:root"]} 

말해 단 하나는,

"Principal" : {"AWS" : "arn:aws:iam::111122223333:root"} 

당신이 원하는 경우 버킷 정책 here

에 대한 자세한 내용은이 참조하십시오 버킷 레벨 권한 대신 오브젝트 레벨 권한을 부여한 다음 액세스 제어 목록으로 이동하십시오. 자세한 내용을 찾아주세요 here

+0

고마워요! 사용자 풀에 대한 액세스를 제한하려면 '풀 ARN'을 사용해야하지만 내 사용자 풀 그룹에 더 많이 제한하려면 어떻게해야할까요? (그들은 어떤 역할도 가지고 있지 않다.) – Niavart

+1

그 그룹은 ARN을 가지고 있으므로 그룹 ARN을 지정할 수있다. 그룹 ARN의 예는 'arn : aws : iam :: 123456789012 : group/Developers' –

+0

과 같습니다. 내 그룹에 ARN 역할을 추가했습니다 (List, s3에 쓰기). 그러나 위의 코드를 추가하고 groupe 역할 ARN 및 BUCKETNAME에 의해 '*'를 버킷 이름으로 바꾸려고 시도했지만 Principal에서 오는 "Invalid bucket policy Syntax"가 나타났습니다 ...? – Niavart