IAMポリシーシミュレーター
IAMポリシーのJSONを入力して、許可・拒否されるアクションやリソースを確認できます。テスト機能で特定のアクション/リソースの評価結果もシミュレートできます。
テンプレートから選択
このツールについて
IAMポリシーの評価ルール
AWS IAMは、リクエストに対するAllow/Denyを以下のルールで評価します。
- デフォルトはすべてDeny(何も許可されていない)
- いずれかのポリシーでAllowがあれば許可される
- ただし、いずれかのポリシーで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はオブジェクト配下を指します。 - 信頼ポリシーとアクセスポリシーは別物: ロール引き受けの可否は信頼ポリシーで決まります。本ツールはアクセスポリシーのシミュレーションのみです。