説明
グループに所属しないIAMユーザーでは、権限をユーザーごとに管理する必要が生じる場合があります。グループがないというだけで、権限が付与されたり、アカウントが公開されたりするわけではありません。
想定される影響
個別の例外が増えると、確認や取り消しの際に権限を見落とすおそれがあります。
対処方法
共通の権限が必要なユーザーを適切なGroupsに所属させ、グループのポリシーとメンバーを合わせて確認してください。不要なグループ権限を付与しないでください。
例
グループ所属を追加する抜粋です。QAGroup、myqueue、ConsolePasswordシークレットのpassword値は別途用意してください。例に残る直接ポリシーについても、移行の必要性を確認してください。
変更前
yaml
AWSTemplateFormatVersion: "2010-09-09"
Description: グループ所属の比較例
Resources:
MyUser:
Type: AWS::IAM::User
Properties:
Path: "/"
LoginProfile:
Password: '{{resolve:secretsmanager:ConsolePassword:SecretString:password}}'
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
Tags:
- Key: Name
Value: QAUser
UserName: TestUser
変更後
yaml
AWSTemplateFormatVersion: "2010-09-09"
Description: グループ所属の比較例
Resources:
addUserToGroup2:
Type: AWS::IAM::User
Properties:
Groups:
- QAGroup
LoginProfile:
Password: '{{resolve:secretsmanager:ConsolePassword:SecretString:password}}'
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
Tags:
- Key: Name
Value: QAUser
UserName: TestUser