説明
IAM グループのインラインポリシーはグループに埋め込まれ、グループと一緒に削除されます。同じ権限をグループごとに定義すると、再利用や集中管理が難しくなります。インラインポリシー自体が過剰な権限を意味するわけではありません。
想定される影響
重複したポリシーの内容に差が生じたり、古い権限が残ったりするおそれがあります。グループの削除でポリシーも失われるため、復旧や変更の追跡が複雑になる場合があります。
対処方法
再利用する共通権限は AWS::IAM::ManagedPolicy に分離する方法を優先してください。既存の権限と条件を比較し、管理ポリシーを関連付けてからインラインポリシーを削除してください。必要なアクセスが維持されることも確認してください。
例
myqueue の宣言は省略しています。変更後はインラインポリシーのないグループだけを示しており、代わりの管理ポリシーは別途関連付ける必要があります。
変更前
yaml
AWSTemplateFormatVersion: "2010-09-09"
Description: A sample template
Resources:
myuser:
Type: AWS::IAM::Group
Properties:
Path: "/"
Policies:
- PolicyName: giveaccesstoqueueonly
PolicyDocument:
Version: "2012-10-17"
Statement:
- Effect: Allow
Action:
- sqs:*
Resource:
- !GetAtt myqueue.Arn
- Effect: Deny
Action:
- sqs:*
NotResource:
- !GetAtt myqueue.Arn
キューの権限をグループのインラインポリシーに直接定義しています。
変更後
yaml
AWSTemplateFormatVersion: "2010-09-09"
Description: A sample template
Resources:
myuser:
Type: AWS::IAM::Group
グループにインラインポリシーはありません。この例だけでは、元のキューアクセスは維持されません。