SOAセキュリティとコンプライアンス
企業がAWS Organizationsを利用したマルチアカウント環境を運用しています。開発チームにIAMロールの作成権限を委任したいですが、開発者が作成するロールに管理者権限(AdministratorAccess)を付与できないよう制限する必要があります。最も適切なアクセス制御の方法はどれですか?
ASCPs(Service Control Policies)でAdministratorAccessポリシーのアタッチをOU全体で禁止し、アカウント全体のIAM操作を一律に制限する
SCPsはOU・アカウント全体に一律に適用されるため、管理者を含む全プリンシパルのAdministratorAccess付与を禁止してしまいます。特定の開発チームへのロール作成権限委任と権限上限制限を細粒度で両立する用途には適していません。
B開発者のIAMユーザーにIAMReadOnlyAccessポリシーのみを付与し、IAMロールの作成・変更操作を全て制限する
IAMReadOnlyAccessポリシーのみを付与すると、開発者はIAMリソースを参照するだけでロールの作成や変更ができません。「開発チームにIAMロール作成権限を委任する」という本来の要件自体が満たせなくなります。
CIAMパーミッションバウンダリーを定義して開発者が作成するロールの最大権限を制限し、バウンダリー付与を必須条件とするポリシーを開発者に付与する
✓ 正解
iam:CreateRoleのConditionとしてバウンダリーポリシーの付与を必須にすることで、開発者が作成するロールの権限上限をAdministratorAccess未満に制御できます。権限委任と上限制限を細粒度で両立できる最適な方法です。
DAWS Control TowerのGuardrailsでIAMポリシー変更を検出し、EventBridge経由でSNSから管理者へアラートを通知する
Control TowerのGuardrailsによる検出コントロールは違反後に検知・通知するだけで、不適切な権限付与を事前に防ぐことはできません。インシデント後の事後対応にとどまり、予防的コントロールとして機能しません。
解説
IAMパーミッションバウンダリーはIAMエンティティが持てる最大権限を定義する管理ポリシーです。iam:CreateRoleのConditionとしてバウンダリーポリシーの付与を必須にすることで、開発者が作成するロールの権限上限をAdministratorAccess未満に制御できます。
選択肢AのSCPsはOU・アカウント全体への一律制限であり、管理者を含む全プリンシパルに影響するため、開発チームへの権限委任と上限制限を両立する細粒度の制御には適しません。
選択肢BのIAMReadOnlyAccessポリシーのみでは開発者がIAMロールを作成すること自体が不可能となり、権限委任という要件を満たしません。
選択肢DのControl Tower Guardrailsは検出(Detective)コントロールであり、SNS通知は事後検知にとどまります。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでSOAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →