SOAセキュリティとコンプライアンス

ある企業では、開発者が自分たちのアプリケーション用 IAM ロールを自律的に作成できるよう iam:CreateRole・iam:AttachRolePolicy 権限を付与したいと考えています。しかし、開発者が自身の権限を超える IAM ロール(例:AdministratorAccess 付き)を作成して権限昇格を行うリスクを防ぐ必要があります。最も適切な実装方法はどれですか?

A
開発者の IAM ポリシーで iam:AttachRolePolicy の Resource を特定のマネージドポリシー ARN のみに限定する
特定ポリシーARNへのResource制限だけでは、開発者が管理するカスタムポリシーでの権限昇格を防げません。より強力な制限メカニズムが必要です。
B
開発者が作成する IAM ロールに必ず適用されるパーミッションバウンダリーポリシーを定義し、iam:CreateRole の Condition で iam:PermissionsBoundary の指定を強制する
✓ 正解
パーミッションバウンダリーはIAMエンティティの最大権限上限を定義し、Condition で指定バウンダリーARN付与を強制することで、作成ロールの実効権限を確実に制限できます。
C
SCP(サービスコントロールポリシー)で開発者 OU(組織単位)の iam:CreateRole アクションを完全に拒否し、必要時は管理者が代理作成する
SCPで iam:CreateRole を完全に拒否すると開発者の自律性を完全に失わせ、最小権限の原則に反します。管理者代理作成は運用負荷も高い。
D
AWS IAM Access Analyzer を有効化し、権限昇格リスクのある IAM ロールを検出した際に EventBridge で管理者に通知する
AWS IAM Access Analyzer は権限昇格リスクを検出するのみで、予防的な防御手段ではありません。事後対応のため根本的な解決策になりません。

解説

パーミッションバウンダリー(Permission Boundary)は IAM エンティティが持てる最大権限の上限を定義します。開発者の iam:CreateRole 権限に Condition として指定バウンダリー ARN の付与を強制することで、作成されたロールにどのポリシーを付与しても、バウンダリーで定義した範囲を超える実効権限は付与されません。特定ポリシー ARN への Resource 制限だけでは、開発者が管理するカスタムポリシーでの権限昇格を防げません。Access Analyzer は検出のみで予防はできず、SCP は開発者の自律性を完全に失わせます。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでSOAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
SOA の問題一覧に戻る