IAM Policy Simulator が IAM コンソールにお引っ越し!SCP もテストできるようになったよ!
やっほー、しぃちゃんだよ!今日は権限まわりのテストがぐっと楽になるアップデートを見つけたから紹介するね!
AWS What's Newなにが発表されたの?
AWS What's New によると、IAM のポリシーの効果を事前に検証できるツール「IAM Policy Simulator」が大型アップデートされたよ。今回の変更は大きく 3 つ。
- 独立していたシミュレーターのサイトが廃止されて、IAM コンソールの中に統合された
- SCP(サービスコントロールポリシー)をシミュレーションに含められるようになった
- セキュリティ・プラットフォームチームが実際によく試したいシナリオに合わせて、モデル化の柔軟性が広がった
今までどうだったの?
これまで IAM Policy Simulator は、IAM コンソールとは別の「独立したシミュレーターサイト」として存在していたの。ポリシーやアイデンティティを管理する画面と、実際に権限をテストする画面が分かれていたから、行ったり来たりする手間があったんだよね。
しかもシミュレーションできるのは ID ベースポリシーやリソースベースポリシーが中心で、組織の SCP 階層がどう影響するかまではその場で確認できなかったの。ガードレール(SCP)と個々のポリシーの組み合わせで実際どんな権限になるのかは、頭の中で組み立てて予想するしかなかったんだ。
これで何が変わるの?
まず一番わかりやすいのは、ポリシーを管理しているのと同じ IAM コンソールの中でそのままテストできるようになったこと。ツールを行き来する必要がなくなるよ。
中身の変更点はこんな感じ。
- SCP を含めたシミュレーション: 組織の SCP 階層と ID ポリシー・リソースポリシーがどう組み合わさって最終的な権限になるかを確認できる
- ポリシーの除外シミュレーション: 特定のポリシーを除外して「これを外したらどうなる?」を検証できる。過剰な権限を与えているポリシーの特定に使える
- クロスアカウントのポリシー別判定: クロスアカウントのシミュレーションで、ID ポリシー・リソースポリシーそれぞれについてポリシー単位の判定結果が返るようになった
セキュリティチームやプラットフォームチームがやりたかった「ポリシーの単体テストを自動化する」「過剰な権限を検知する」「ガードレールが意図通り効いているか検証する」といった作業が、より自信を持ってできるようになるのが今回のアップデートの狙いだよ。
深く潜ってみよう
API 経由ではさらに細かいテストもできるみたい。原文によると、Region 制限やタグ要件といった条件キー(condition keys)が結果にどう影響するかを API から検証できると書かれているよ。コンソールの UI だけじゃなくて、SimulatePrincipalPolicy や SimulateCustomPolicy といった API 経由で自動テストに組み込むこともできそうだね。
もう一つ注目したいのが、拒否(Deny)判定になったときの挙動。クロスアカウントのシミュレーションで拒否と判定された場合、マッチしたステートメントとして返ってくるのは、実際にその判定を左右したポリシーだけに絞られるようになったの。関係ないポリシーのステートメントまでズラッと出てくることがなくなるから、「結局どのポリシーが原因で拒否されたのか」を追いかけやすくなるはず。
このアップデートは、IAM Policy Simulator が利用できる全ての AWS リージョンで使えるようになっているよ。使い方は IAM コンソールのナビゲーションペインから「Policy simulator」を選ぶだけ。
まとめ
- 独立サイトだった IAM Policy Simulator が IAM コンソールに統合された
- SCP をシミュレーションに含められるようになり、組織のガードレールとポリシーの組み合わせを検証できる
- ポリシーを除外した「もし外したら」シナリオを試せる
- クロスアカウントのシミュレーションでポリシー単位の判定結果が見られ、拒否理由の特定がしやすくなった
- API 経由では Region 制限やタグ条件などの条件キーの影響もテストできる
組織で複数の SCP や ID ポリシーを組み合わせて運用しているセキュリティ・プラットフォームチームには、特に嬉しいアップデートだよ!