説明
管理 IAM ポリシーをユーザーに直接関連付けると、ユーザーごとの関連付けを追跡する必要があります。共通権限をグループにまとめると、メンバー変更やアクセス権限の確認を簡素化できます。直接の関連付け自体が権限を広げるわけではありません。
想定される影響
ユーザーごとの例外が増えると、業務変更後も不要な権限が残ったり、アクセス権限の取り消しが漏れたりするおそれがあります。
対処方法
共通権限は管理ポリシーをグループに関連付け、承認済みのユーザーを追加して管理してください。直接の関連付けを削除する前に必要なアクセスを確認し、個別の例外には目的と見直し時期を記録してください。
例
TestUser と TestGroup は既存のユーザーとグループの名前です。バケットとオブジェクトの範囲を実際の要件に合わせ、ユーザーをグループに関連付けてください。
変更前
yaml
Resources:
CreateTestDBPolicy:
Type: "AWS::IAM::ManagedPolicy"
Properties:
Description: Read approved S3 objects
Path: /
PolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Action: s3:GetObject
Resource: arn:aws:s3:::example-bucket/*
Users:
- TestUser
管理ポリシーをユーザーに直接関連付けています。
変更後
yaml
Resources:
CreateTestDBPolicy:
Type: "AWS::IAM::ManagedPolicy"
Properties:
Description: Read approved S3 objects
Path: /
PolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Action: s3:GetObject
Resource: arn:aws:s3:::example-bucket/*
Groups:
- TestGroup
同じポリシーをグループに関連付けています。グループのメンバーは別途管理する必要があります。