はじめに

みなさんはIAM Policy Simulatorをご存じでしょうか?
IAM Access AnalyzerはきいたことがあるけどIAM Policy Simulatorは知らない。
なにができるの?どう便利なの?について触れていこうと思います。

説明

IAM Policy Simulatorは既存IAMユーザーまたは既存IAMロールでどのAWSサービスのどのようなアクションが許可/拒否されているかを確認することができます。
このとき調査したいAWSアカウントにログインしていれば、実際の環境のIAMリソースをそのまま調査できます。
Simulatorですので環境に影響を与えることなく確認することができます。

以下のようにドキュメントにもしっかりと記載されておりました。

IAM Policy Simulator を使用すると、アイデンティティベースのポリシーおよび IAM アクセス許可の境界をテストして、トラブルシューティングが行えます。
IAM Policy Simulator では、選択されたアクションの実行はシミュレートされません。つまり、シミュレートされたリクエストに対するレスポンスをレポートしません。返される結果は、リクエストされたアクションが許可されるか拒否されるかだけです。

https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/access_policies_testing-policies.html

IAM Access Analyzerとの違い

主な違い
・IAM Policy Simulator は、設定したポリシーの動作をシミュレートして確認するツールで、主に「内部のアクセス権限」の確認に使用されます。
・IAM Access Analyzer は、リソースへの外部アクセスのリスクを評価するツールで、主に「外部アクセス」「公開設定」の確認に使用されます。

実際の確認画面

今回はPowerUserAccessで許可されているIAMアクションを確認していきたいと思います。

1.AWSマネジメントコンソールにログインします
2.IAM Policy Simulator コンソールの https://policysim.aws.amazon.com/ にアクセスします
 このとき調査したいIAMリソースを選択すると実際のリソース一覧が表示されます

3.調査したいIAMリソースを選択、調査したいアタッチされたポリシーを選択します

4.select serviceからIAMを選択します

5.select actionsはselect Allを選択します
 するとアクション一覧が表示されます。

6.Run simulationを実行します
 結果が表示されます。
 PowerUserAccessには権限がないことがわかります。

7.個別のアクションを確認したい場合
 select actionsから確認したいアクションを選択します

 Run simulationを実行します
 User Listも権限がないことが確認できますね

まとめ

アクション名が一覧化されておりそこから確認できるのがすごく便利だと感じました。
発行しているIAMユーザーまたはIAMロールで「ほげほげができないんだけど」という申告があった場合とかに活用されてみてはいかがでしょうか?