IAMポリシーがユーザーに直接接続されている

共通の権限をグループで管理できるか確認してください。

説明

同じ権限を複数の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

参考資料