MENU
オンライン講座開催中

IAM Policy Simulatorで権限をテストする方法【AWSの設定確認に使える】

IAM Policy Simulatorで権限をテストする方法【AWSの設定確認に使える】

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を押す


結果

ActionPermission
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-mediacharakatsu-mediaバケットだけ
arn:aws:s3:::charakatsu-media/*charakatsu-mediaの中の全ファイル

Policy Simulatorで最初に * のままテストしたら denied になったのは、「全バケットへのアクセス」はポリシーで許可していないからです。


allowed / denied / Implicitly denied の違い

結果意味
allowedポリシーで明示的に「許可」されている
Implicitly denied何も書いていないので暗黙的に拒否
Explicitly deniedDeny と明示的に書いて拒否

AWSはデフォルトで<strong>全部拒否</strong>。「許可」と書いてあるものだけが使えます。

イメージは<strong>マンションのオートロック</strong>です。登録されたSuicaだけ入れる。登録していないカードは何も言わなくても弾かれる(Implicitly denied)。「このカードは絶対ダメ」とブラックリストに入れるのがExplicitly deniedです。

まとめ

  • Policy Simulatorは https://policysim.aws.amazon.com/ で開く
  • ロールを選んでサービス・アクション・リソースを指定してRun
  • charakatsu-media/* に対して4つのアクションすべてが allowed を確認
  • 本番環境に触らずに権限テストができる便利ツール
目次