2016-07-15 3 views
0

'데이터 1'이라는 Amazon S3에 버킷이 있습니다.Amazon S3 버킷 정책을 사용하면 버킷에만 쓸 수 있지만 버킷에만 쓸 수 있습니다.

S3에 Cyberduck를 사용하여 연결하면 사용자가 'data1'버킷에만 액세스하고 다른 사용자에게는 액세스하지 못하도록하고 싶습니다.

또한 data1이라는 새로운 IAM 사용자를 설정하고 'AmazonS3FullAccess'정책을 해당 사용자의 권한에 첨부했습니다.하지만 모든 버킷에 액세스 할 수 있습니다. 이는 예상했던 것입니다.

다른 정책을 설정해야합니다. 그러나 어떤 정책을 취해야합니까?

+1

[S3 버킷 용 기본 AWS IAM 권한] (http : // stackoverflow. com/questions/9073755/basic-aws-iam-s3-bucket 용 권한) –

답변

2

먼저 사용자 원칙을 찾습니다. 이러한 예를

그런 다음 S3 버킷 정책을 설정
{ 
    "Users": [ 
     { 
      "UserName": "eric", 
      "Path": "/", 
      "CreateDate": "2016-07-12T09:08:21Z", 
      "UserId": "AIDAJXPI4SWK7X7PY4RX2", 
      "Arn": "arn:aws:iam::930517348925:user/eric" 
     }, 
     { 
      "UserName": "bambi", 
      "Path": "/", 
      "CreateDate": "2015-07-15T11:07:16Z", 
      "UserId": "AIDAJ2LEXFRXJI5AKUU7W", 
      "Arn": "arn:aws:iam::930517348725:user/bambi" 
     } 
] 
} 

를 들어이 명령

aws iam list-users 

하여 ARN 필드의 출력을 조사하여 찾을 수 있습니다. 이 값은 버킷에 적용되며 버킷마다 설정됩니다. 일반 IAM 정책은 IAM 엔터티마다 설정되며 IAM 엔터티 (예 : 사용자)에 연결됩니다. 이미 IAM 정책이 있습니다. 이 요구 사항에는 S3 정책이 필요합니다.

S3 정책은 버킷에 적용되며 S3에 첨부됩니다. IAM 정책은 IAM에 적용되며 IAM 개체와 연결됩니다. IAM 엔터티가 S3 버킷을 사용하려고 시도하면 S3 정책과 IAM 정책이 모두 적용될 수 있습니다. 이 원칙의 ARN은 그때 그 그러나 이것은 일반적인 생각이다 테스트하지 않았습니다이

{ 
    "Version":"2012-10-17", 
    "Statement":[ 
    { 
     "Sid":"AddPerm", 
     "Effect":"Allow", 
     "Principal": "arn:aws:iam::930517348725:user/bambi", 
     "Action":["s3:GetObject"], 
     "Resource":["arn:aws:s3:::examplebucket/*"] 
    }, 
    { 
     "Sid":"block", 
     "Effect":"Deny", 
     "Principal": "arn:aws:iam::930517348725:user/bambi", 
     "Action":["s3:*"], 
     "Resource":["arn:aws:s3:::*"] 
    } 
    ] 
} 

같은 S3 정책을 추가 알게되면 http://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html

를 참조하십시오. 죄송합니다 나는 예제에서 원칙과 버킷 이름 "데이터 1"을 사용하지 않았지만 너무 혼란 스럽습니다. :)

관련 문제