2017-12-15 16 views
0

S3 버킷 정책을 사용하여 일부 역할을 제외하고 모든 역할로 S3 버킷에 대한 액세스를 제한하고 싶습니다.하지만 여기에서 작성자 및 독자 역할로 전환합니다. 거절 당했다.S3 버킷 정책 특정 역할에 대한 액세스를 허용하고 모두 제한

버킷 정책

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "arn:aws:iam::581262627839:role/Rk-S3-Reader-I-Role" 
      }, 
      "Action": "s3:ListBucket", 
      "Resource": "arn:aws:s3:::rkimpdocs" 
     }, 
     { 
      "Effect": "Allow", 
      "Principal": { 
       "AWS": "arn:aws:iam::581262627839:role/Rk-S3-Writer-I-Role" 
      }, 
      "Action": [ 
       "s3:GetObject", 
       "s3:PutObject" 
      ], 
      "Resource": "arn:aws:s3:::rkimpdocs/*" 
     }, 
     { 
      "Effect": "Deny", 
      "Principal": { 
       "AWS": "*" 
      }, 
      "Action": "s3:*", 
      "Resource": [ 
       "arn:aws:s3:::rkimpdocs", 
       "arn:aws:s3:::rkimpdocs/*" 
      ], 
      "Condition": { 
       "ForAllValues:StringEquals": { 
        "aws:TagKeys": [ 
         "JD", 
         "devops" 
        ] 
       } 
      } 
     } 
    ] 
} 

작가의 역할에 대한 IAM 역할 권한 (RK-S3-작가-I-역할)

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "s3:GetBucketLocation", 
       "s3:ListAllMyBuckets" 
      ], 
      "Resource": "arn:aws:s3:::*" 
     }, 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "s3:ListBucket" 
      ], 
      "Resource": [ 
       "arn:aws:s3:::rkimpdocs" 
      ] 
     }, 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "s3:GetObject", 
       "s3:PutObject" 
      ], 
      "Resource": [ 
       "arn:aws:s3:::rkimpdocs", 
       "arn:aws:s3:::rkimpdocs/*" 
      ] 
     } 
    ] 
} 

는 출력 :

액세스에 대한 거부 양동이 정책과 언급 역할로 전환. 어떤 도움이나 제안이 도움이 될 것입니다.

답변

0

명시 적 거부는 허용을 무시합니다. 귀하의 정책에서 양동이 거부 정책으로 인해 액세스가 거부되었습니다. 특정 IAM 역할에 액세스하고 다른 역할을 거부하려면 "NotPrincipal"요소를 사용해야합니다. 정확한 사용 사례를 설명하는 blog을 참조하십시오. 또한 S3의 "aws : Tagkeys"조건은 not supported이므로이를 생략해야합니다.

+0

귀중한 의견을 보내 주셔서 감사합니다 형제는 "NotPrincipal"요소의 개념을 잘 이해하는 데 도움이되며 또한 "aws : TagKeys"를 가리켜 주셔서 감사합니다. s3 : ExistingObjectTag 키를 사용 중입니다. :) –