IAMの権限設定をしたあと、「本当にこの設定で合ってる?」と不安になることありませんか?そんなときに使えるのが IAM Policy Simulator です。実際のAWSリソースに触らずに、権限のテストができます。
Policy Simulatorってなに?小学生でもわかる説明
イメージは避難訓練です。
本番の火事(実際のAWS操作)が起きる前に「この経路で逃げられるか?」をリハーサルするのが避難訓練。Policy Simulatorも同じで、「この権限でS3にアクセスできる?」を本番環境に触らずにテストできます。
今回やったこと
EC2-S3-Backup-Role に設定した charakatsu-s3-policy が正しく動くか確認しました。
Policy Simulatorの開き方
以下のURLで直接開けます:
https://policysim.aws.amazon.com/
左側の「Users」ドロップダウンを「Roles」に変更して EC2-S3-Backup-Role を選択します。
テストの手順
① サービスとアクションを選ぶ
右側の「Select service」で「Amazon S3」を選択。
「Select actions」で以下の4つを選びます:
- GetObject
- PutObject
- DeleteObject
- ListBucket
② リソースを指定する
各アクションの左の「▶」をクリックして展開→「Add Resource」をクリック。
以下を入力します:
arn:aws:s3:::charakatsu-media/*
③ Run Simulationを押す
結果
| Action | Permission |
|---|---|
| PutObject | ✅ allowed |
| GetObject | ✅ allowed |
| DeleteObject | ✅ allowed |
| ListBucket | ✅ allowed |
全部 allowed になりました!設定した権限が正しく機能していることが確認できました。
ハマったポイント
リソースの入力欄がわかりにくかったです。
「▶」をクリックして行を展開しても、入力欄が消えてしまうことがありました。そのときは「Add Resource」ボタンをクリックすると入力欄が再表示されます。
用語解説
ARN(Amazon Resource Name)
arn:aws:s3:::charakatsu-media/* の読み方:
arn : AWSリソースの住所という意味
aws : AWSのサービス
s3 : S3バケット
::: : リージョンとアカウントID(S3は省略)
charakatsu-media : バケット名
/* : バケットの中の全ファイル
イメージは<strong>郵便の宛先</strong>です。「日本・東京都・渋谷区・○○ビル・全室」みたいな感じで、AWSリソースの場所を正確に指定しています。
Resource *(アスタリスク)
* は「<strong>全部</strong>」という意味のワイルドカードです。
| 書き方 | 意味 |
|---|---|
* | 全バケット・全ファイル |
arn:aws:s3:::charakatsu-media | charakatsu-mediaバケットだけ |
arn:aws:s3:::charakatsu-media/* | charakatsu-mediaの中の全ファイル |
Policy Simulatorで最初に * のままテストしたら denied になったのは、「全バケットへのアクセス」はポリシーで許可していないからです。
allowed / denied / Implicitly denied の違い
| 結果 | 意味 |
|---|---|
| allowed | ポリシーで明示的に「許可」されている |
| Implicitly denied | 何も書いていないので暗黙的に拒否 |
| Explicitly denied | Deny と明示的に書いて拒否 |
AWSはデフォルトで<strong>全部拒否</strong>。「許可」と書いてあるものだけが使えます。
イメージは<strong>マンションのオートロック</strong>です。登録されたSuicaだけ入れる。登録していないカードは何も言わなくても弾かれる(Implicitly denied)。「このカードは絶対ダメ」とブラックリストに入れるのがExplicitly deniedです。
まとめ
- Policy Simulatorは
https://policysim.aws.amazon.com/で開く - ロールを選んでサービス・アクション・リソースを指定してRun
charakatsu-media/*に対して4つのアクションすべてが allowed を確認- 本番環境に触らずに権限テストができる便利ツール

