無限ノック › SAP 練習問題一覧 › 問題
SAP組織の複雑さに対応する設計複数選択

グローバル展開する製造企業が AWS Organizations を使用して以下の構造でアカウントを管理しています。Root → 本番 OU(30 アカウント)、開発 OU(20 アカウント)、共有サービス OU(5 アカウント)。同社のセキュリティチームは以下の問題を発見しました。 ①開発者が本番アカウントで意図せず高額なリソース(例:p3.16xlarge インスタンス)を起動している。 ②一部のアカウントで us-east-1 以外のリージョンにリソースが作成されている(コンプライアンス違反)。 ③開発 OU のアカウントが本番データベースに直接アクセスしている。 ④ルートユーザーが MFA なしで使用されているアカウントが存在する。これらすべての問題を解決するために SCP を設計する場合、最も効率的なアプローチはどれですか?(2つ選択)

A
Root レベルに「DenyWithoutMFA」SCP を適用し、aws:MultiFactorAuthPresent 条件を使用して MFA なしの全 API 呼び出しを一律拒否する。さらに「DenyExpensiveInstances」SCP を Root に適用し、ec2:InstanceType 条件で p3・p4 などの高額インスタンスタイプの RunInstances を拒否する。管理アカウント自体は SCP の適用対象外であり、Root 全体への一律適用は共有サービス OU など管理不要なアカウントにも制限が及ぶ過剰適用リスクがある。
Root 全体への一律適用は共有サービス OU など管理不要なアカウントにも影響が及び過剰制限になりやすい。また aws:MultiFactorAuthPresent 条件は管理アカウントの root ユーザーには適用されません。
B
本番 OU に「AllowOnlyApprovedRegions」SCP を適用し、aws:RequestedRegion 条件で us-east-1 のみを許可する(ただし STS、IAM などグローバルサービスは除外する)。開発 OU に「DenyProductionDBAccess」SCP を適用し、aws:ResourceAccount 条件を使用して本番アカウントの RDS・Secrets Manager などへのクロスアカウント API 呼び出しを拒否する。
✓ 正解
本番 OU への AllowOnlyApprovedRegions SCP(aws:RequestedRegion 条件)でリージョンを us-east-1 に限定し、開発 OU への DenyProductionDBAccess SCP(aws:ResourceAccount 条件)で本番アカウントへのクロスアカウント RDS・Secrets Manager API 呼び出しを拒否します。問題②と問題③を効率的に解決します。
C
すべての OU に適用される Root レベル SCP で「DenyRootWithoutMFA」を実装する。これは aws:PrincipalType が Root かつ aws:MultiFactorAuthPresent が false の場合に全 API アクションを拒否するポリシーを設定する。問題④のルートユーザー MFA には一定効果があるが、問題①②③(高額インスタンス起動・非承認リージョンの使用・開発から本番 DB へのアクセス)は未解決のままである。
aws:PrincipalType が Root かつ aws:MultiFactorAuthPresent が false の場合に拒否する構成はメンバーアカウントの root ユーザーには技術的に機能しますが、問題①②③の解決策にはなりません。問題④(ルートユーザーMFA)の恒久対策は AWS Organizations の「Centralized root access」機能や IAM Identity Center の利用が推奨されます。
D
本番 OU に「DenyExpensiveInstancesInProd」SCP を適用し、StringNotEquals 条件と ec2:InstanceType を使用して許可されたインスタンスタイプのリスト以外を拒否する。同時に「DenyNonApprovedRegions」SCP を本番・開発両 OU に適用し、NotAction でグローバルサービスを除外した上で us-east-1 以外を拒否する。
✓ 正解
本番 OU への DenyExpensiveInstancesInProd SCP(ec2:InstanceType の StringNotEquals 条件)で許可リスト外の高額インスタンス起動を防止し、DenyNonApprovedRegions SCP(NotAction でグローバルサービスを除外)を本番・開発両 OU に適用して us-east-1 以外を拒否します。問題①と問題②を予防的に解決します。
E
AWS Config マネージドルールで高額インスタンスと非承認リージョンのリソースを検出し、SSM Automation や Lambda 自動修復アクションでリソースを削除する。SCP は Management アカウントレベルでのみ設定し、各 OU の SCP は使用しない。この方式はリソース作成後の事後対応であり予防的制御として不十分で、自動削除による意図しない業務影響リスクも伴う。
Config + Lambda による事後検出・自動削除は、リソース作成後の対応であるため予防的制御として不十分です。また SCP を Management アカウントレベルのみに設定すると各 OU への予防的ガードレールが機能せず、自動削除による意図しない業務影響リスクも伴います。

解説

SCP(サービスコントロールポリシー)は OU 単位で対象を絞って適用することが効率的です。SCPはIAM APIレベルで権限の上限を定義するものであり、ネットワーク層のCIDRベース接続制御(DBへのTCP接続拒否など)はSCPの対象外です。クロスアカウントアクセスの制御には aws:ResourceAccount 条件でAPI呼び出し先アカウントを限定します。 正解②の解説:本番 OU のリージョン制限は AllowOnlyApprovedRegions SCP で実装し、IAM・STS・CloudFront などグローバルサービスを NotAction または StringNotEquals + aws:RequestedRegion で除外します。開発 OU から本番 DB への不正アクセス(問題③)は、aws:ResourceAccount 条件で本番アカウント ID 宛の RDS・Secrets Manager API 呼び出しを拒否することで防止します。 正解④の解説:問題①の本番アカウントでの高額インスタンス起動防止には、本番 OU に DenyExpensiveInstancesInProd SCP を適用し、ec2:RunInstances に StringNotEquals + ec2:InstanceType 条件で許可リスト外のインスタンスタイプを拒否します。問題②のリージョン制限は本番・開発両 OU に適用します。 選択肢Aは Root 全体への一律適用は共有サービス OU など管理不要なアカウントにも影響が及び過剰制限になりやすい。また aws:MultiFactorAuthPresent 条件は管理アカウントの root ユーザーには適用されません。 選択肢Cはaws:PrincipalType が Root かつ aws:MultiFactorAuthPresent が false の場合に拒否する構成はメンバーアカウントの root ユーザーには技術的に機能しますが、問題①② ③の解決策にはなりません。問題④(ルートユーザーMFA)の恒久対策は AWS Organizations の「Centralized root access」機能や IAM Identity Center の利用が推奨されます。 選択肢Eは Config + Lambda による事後検出・自動削除は、リソース作成後の対応であるため予防的制御として不十分であり、意図しない削除による業務影響リスクも伴います。

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

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

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