IAMポリシーシミュレーター

IAMポリシーのJSONを入力して、許可・拒否されるアクションやリソースを確認できます。テスト機能で特定のアクション/リソースの評価結果もシミュレートできます。

テンプレートから選択

このツールについて

IAMポリシーの評価ルール

AWS IAMは、リクエストに対するAllow/Denyを以下のルールで評価します。

  1. デフォルトはすべてDeny(何も許可されていない)
  2. いずれかのポリシーでAllowがあれば許可される
  3. ただし、いずれかのポリシーでDenyがあれば Denyが優先 される(Explicit Deny)

つまり「Allow vs Deny」では必ずDenyが勝ちます。この「Deny優先」のルールはIAM設計の基本であり、ガードレール(SCPやパーミッションバウンダリー)の設計にも影響します。

使い方

IAMポリシーJSONを入力し、評価対象のActionとResourceを指定すると、そのリクエストがAllow/Denyのどちらになるかをシミュレーションできます。一致したステートメントも確認できるため、ポリシーの挙動確認やトラブルシューティングに使えます。

テンプレートポリシーを選択すると、代表的なパターン(読み取り専用、特定バケットのみ許可など)を試せます。

ハマりやすいポイント

  • ワイルドカードの扱い: s3:Get* のようなワイルドカードは特定のサービス内でのみ有効です。*単独は全サービス全アクションを意味します。
  • Conditionブロックは本ツールでは簡易評価: 実環境では時刻、IPアドレス、MFAなどの条件が複雑に絡むため、Production適用前にIAM Access Analyzerやポリシーシミュレーター(AWSコンソール)でも検証してください。
  • ResourceのARN表記: 末尾の /* の有無で「バケット自体」「バケット内のオブジェクト」が区別されます。S3のListBucketはバケット、GetObjectはオブジェクト配下を指します。
  • 信頼ポリシーとアクセスポリシーは別物: ロール引き受けの可否は信頼ポリシーで決まります。本ツールはアクセスポリシーのシミュレーションのみです。