IAM ポリシーが全権限を許可

IAM ポリシーの操作とリソースを必要な範囲に限定します。

説明

IAM ポリシーで Allow とともに Action: "*"、Resource: "*" を指定すると、すべての操作とリソースに対する広範な権限を付与します。実際の権限には条件や他の制限ポリシーも適用されます。

想定される影響

このポリシーを持つアカウントやワークロードが侵害されると、データやサービス設定に広く影響が及ぶおそれがあります。

対処方法

必要な操作とリソース ARN を指定してください。リソースレベルの権限に対応しない操作は別のステートメントに分け、適切な条件を設定してください。

例

この例は特定の S3 バケット内のオブジェクト操作に範囲を絞っています。バケット名とポリシーを付けるグループを実際の値に置き換え、オブジェクト ACL の変更権限も必要な場合だけ残してください。

変更前

yaml
AWSTemplateFormatVersion: "2010-09-09"
Description: A sample template
Resources:
  mypolicy:
    Type: AWS::IAM::Policy
    Properties:
      PolicyName: mygrouppolicy
      PolicyDocument:
        Version: "2012-10-17"
        Statement:
          - Effect: Allow
            Action: ["*"]
            Resource: "*"
      Groups:
        - myexistinggroup1
        - !Ref mygroup

変更後

yaml
AWSTemplateFormatVersion: "2010-09-09"
Description: A sample template
Resources:
  MyPolicy:
    Type: AWS::IAM::Policy
    Properties:
      PolicyName: mygrouppolicy
      PolicyDocument:
        Version: "2012-10-17"
        Statement:
          - Effect: Allow
            Action:
              - s3:GetObject
              - s3:PutObject
              - s3:PutObjectAcl
            Resource: arn:aws:s3:::myAWSBucket/*
      Groups:
        - myexistinggroup1
        - !Ref mygroup

参考資料