0

このトピックに関する同様の質問はすでにhereと尋ねられましたが、そのポストのソリューションはどれも私のために働いていませんでした。新しい質問をすることを正当化するAWSで何かが変更された可能性があると考えてください。特定のS3バケットにしかアクセスできないIAMグループのAWS CloudFormationテンプレート

基本的に、私はCloudFormationテンプレートを使用して、インラインポリシーでIAMグループを定義しているため、ユーザーは1つのS3バケットにしかアクセスできません。

BucketAccessGroup: 
    Type: AWS::IAM::Group 
    Properties: 
     GroupName: my-bucket-admins 
     Path: /my-bucket-admins/ 
     Policies: 
     - PolicyName: MyBucketAccess 
     PolicyDocument: 
      Version: 2012-10-17 
      Statement: 
      - 
      Effect: Allow 
      Action: s3:* 
      Resource: 
      - arn:aws:s3:::my-bucket-name 
      - arn:aws:s3:::my-bucket-name/* 
      - 
      Effect: Allow 
      Action: s3:ListAllMyBuckets 
      Resource: "*" 

残念ながら、このグループのIAMユーザーがいないだけで、他のすべてのバケットを一覧表示することが許可されている:リンク質問に基づいて、私は次のテンプレート(元記事はJSONを使用するが、私はYAMLを使用しています)に到着しました(コンソールへのアクセスに必要)だけでなく、それらを開いたり、変更したり、削除したりすることもできます。明らかに、これは望ましい動作ではありません!このポリシーが無効になるAWSで何か変更されましたか?ポリシーはCloudFormationテンプレートと同じように機能しませんか?どんな助けもありがとう!

EDIT:@のwjordanの答えで述べたように

、それは別のポリシーがすでにグループにフルS3の権限を与えていたことが判明しました。私はAWSLambdaFullAccess管理ポリシーを追加していましたが、意外にもs3:*行が許可されていました(上記のコードから除外されました。そのポリシーと共存する必要性を考えると、ここでは意図したとおりに働いている私の更新CFテンプレートであり、また少しより安全です:提供

BucketAccessGroup: 
    Type: AWS::IAM::Group 
    Properties: 
     GroupName: my-bucket-admins 
     ManagedPolicyArns: [ "arn:aws:iam::aws:policy/AWSLambdaFullAccess" ] 
     Policies: 
     - PolicyName: MyBucketAccess 
     PolicyDocument: 
      Version: 2012-10-17 
      Statement: 
      - # Prevent changing permissions in any way on the desired bucket 
      Effect: Deny 
      Action: 
      - s3:DeleteBucket 
      - s3:DeleteBucketPolicy 
      - s3:PutBucketPolicy 
      - s3:PutBucketAcl 
      Resource: 
      - arn:aws:s3:::my-bucket-name 
      - arn:aws:s3:::my-bucket-name 
      - # Prevent all S3 actions except listing buckets, on everything except the desired bucket (AWSLambdaFullAccess already allows s3:*) 
      Effect: Deny 
      NotAction: s3:ListAllMyBuckets 
      NotResource: 
      - arn:aws:s3:::my-bucket-name 
      - arn:aws:s3:::my-bucket-name 

答えて

1

政策が正しいといない私には時代遅れに見えます。問題のIAMユーザーに、予期しないアクセス許可を与える指定されたAWS::IAM::Group以外に追加のグループ/ポリシーが適用されていないことを確認してください。

これを確認する1つの方法は、新しいIAMユーザーをゼロから作成し、そこで問題を再現することです。

+0

あなたは正しいです!また、AWSLambdaFullAccess管理ポリシーをグループに追加していましたが、そのポリシーが完全なS3権限を追加していたことに気付きませんでした。改訂されたポリシーを質問に追加します。 – Rabadash8820

関連する問題