全リソースへの全操作を許可する IAM ポリシー

全操作・全リソースへの許可を必要な権限に絞り、適用中のポリシーバージョンを確認してください。

説明

IAM の Allow ステートメントに Action: "*" と Resource: "*" を指定すると、全操作と全リソースを対象とする広範な権限を表します。実際の権限は、ポリシーの関連付け、デフォルトバージョン、条件、明示的な拒否、アクセス許可の境界などによって変わります。

業務に不要な権限を削除してください。ポリシーを複数のステートメントに分けるだけでは、権限範囲は縮小されません。

想定される影響

  • 広い権限が実際に適用されると、認証情報の窃取や悪用によるデータ変更・削除、リソース管理への影響が大きくなるおそれがあります。
  • デフォルト以外のバージョンだけを変更すると、既存の権限が残ります。デフォルトの変更は関連付けたすべての主体に影響します。

対処方法

  1. 関連付けたユーザー、グループ、ロールとデフォルトバージョンを確認してください。必要な操作だけを指定し、対応する場合はリソース ARN と条件で範囲を制限してください。
  2. 権限の利用履歴と他のポリシーを確認し、不要な読み取り、書き込み、管理操作を削除してください。
  3. 確認済みのバージョンを意図したデフォルトとして適用し、必要な操作が成功し、不要な操作が拒否されることを試験してください。

例

ポリシーの関連付けは省略しています。Version: "2012-10-17" はポリシー言語のバージョンです。既存ポリシーで make_default: false により作成したバージョンは自動でデフォルトになりませんが、新規ポリシーの最初のバージョンはデフォルトになります。

変更前

yaml
- name: IAM Managed Policy 생성
  community.aws.iam_managed_policy:
    policy_name: ManagedPolicy
    policy:
      Version: "2012-10-17"
      Statement:
        - Effect: Allow
          Action:
            - "*"
          Resource: "*"
    make_default: false
    state: present

全リソースへの全操作を許可するステートメントです。実際に適用されるポリシーと権限制限も確認してください。

変更後

yaml
- name: IAM Managed Policy 생성
  community.aws.iam_managed_policy:
    policy_name: ManagedPolicy
    policy:
      Version: "2012-10-17"
      Statement:
        - Effect: Allow
          Action: logs:CreateLogGroup
          Resource: "*"
    make_default: false
    state: present

このステートメントの操作はロググループ作成に絞られていますが、リソース範囲は依然として広い状態です。必要なロググループ ARN に制限し、確認済みのポリシーバージョンを適用してください。

参考資料