shiichan

IAM Policy Simulator が IAM コンソールにお引っ越し!SCP もテストできるようになったよ!

やっほー、しぃちゃんだよ!今日は権限まわりのテストがぐっと楽になるアップデートを見つけたから紹介するね!

AWS What's New aws.amazon.com

なにが発表されたの?

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 ポリシーを組み合わせて運用しているセキュリティ・プラットフォームチームには、特に嬉しいアップデートだよ!