説明
同じ権限を複数のIAMユーザーに直接接続すると、変更や取り消しの際に個別の接続を見落としやすくなります。グループポリシーは、同じ業務を行うユーザーの権限をまとめて管理するために役立ちます。
想定される影響
担当業務が変わってもユーザー固有の権限が残ったり、権限の確認が複雑になったりする場合があります。
対処方法
共通の権限はAWS::IAM::PolicyのGroupsで接続し、ユーザーのグループ所属を管理してください。ユーザー固有の例外は必要性を確認し、移行済みの直接接続は削除してください。
例
同じキューポリシーをUsersからGroupsへの接続に変更する抜粋です。既存ユーザー、グループ、myqueueは別途用意してください。
変更前
yaml
AWSTemplateFormatVersion: "2010-09-09"
Description: ポリシーの接続先の比較例
Resources:
myuser:
Type: AWS::IAM::Policy
Properties:
PolicyName: giveaccesstoqueueonly
PolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Action:
- sqs:*
Resource:
- !GetAtt myqueue.Arn
- Effect: Deny
Action:
- sqs:*
NotResource:
- !GetAtt myqueue.Arn
Users:
- existinguser1
- existinguser2
変更後
yaml
AWSTemplateFormatVersion: "2010-09-09"
Description: ポリシーの接続先の比較例
Resources:
myuser:
Type: AWS::IAM::Policy
Properties:
PolicyName: giveaccesstoqueueonly
PolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Action:
- sqs:*
Resource:
- !GetAtt myqueue.Arn
- Effect: Deny
Action:
- sqs:*
NotResource:
- !GetAtt myqueue.Arn
Groups:
- myexistinggroup1