無限ノック › SCS 練習問題一覧 › 問題
SCSアイデンティティとアクセス管理

ある企業では、数百名の開発者が共有AWSアカウントでEC2インスタンスを日常的に作成・管理しています。セキュリティ要件として「各開発者は自分が作成したEC2インスタンスのみを停止・再起動できる(他の開発者のインスタンスは操作不可)」を実装する必要があります。IAMポリシーの管理オーバーヘッドを最小限にする最も効率的な方法はどれですか?

A
各開発者ごとに個別のIAMポリシーを作成し、その開発者が所有するEC2インスタンスIDをリソースARNに直接列挙する
個別IAMポリシーによるインスタンスIDの直接列挙は、インスタンスが作成・削除されるたびに更新が必要となり、数百名の環境ではスケールしません。
B
IAMポリシーのConditionブロックでaws:PrincipalTagとaws:ResourceTagの条件キーを使用し、開発者のIAMユーザーとEC2インスタンスの両方に同一の「Owner」タグを付与するABAC(属性ベースのアクセス制御)を実装する
✓ 正解
ABAC(Attribute-Based Access Control:属性ベースのアクセス制御)は、IAMプリンシパル(ユーザー/ロール)のタグとリソースのタグを条件で照合してアクセスを制御します。aws:PrincipalTag/Ownerで要求者のIAMユーザーに付いたOwnerタグの値を参照し、aws:ResourceTag/OwnerでEC2インスタンスのOwnerタグと一致する場合のみ操作を許可するポリシー1つで数百名分のアクセス制御を実現できます。新しいEC2インスタンスが追加されてもポリシーの変更は不要で、高いスケーラビリティを持ちます。
C
各開発者に個別のIAMロールを作成し、そのロールの信頼ポリシーに担当EC2インスタンスのIDを指定してインスタンスへのアクセスを制御する
IAMロールの信頼ポリシーは「誰がそのロールを引き受けられるか」を定義するものであり、特定のEC2インスタンスへのアクセス権限制御には使用できません。
D
AWS OrganizationsのSCP(サービスコントロールポリシー)でec2:StopInstancesとec2:RebootInstancesアクションを制限し、例外リソースはセキュリティチームが個別に管理する
SCPは組織全体のアカウントレベルで許可範囲を設定するものであり、個別開発者とEC2インスタンスの所有関係という粒度の制御には使用できません。

解説

ABAC(Attribute-Based Access Control:属性ベースのアクセス制御)は、IAMプリンシパル(ユーザー/ロール)のタグとリソースのタグを条件で照合してアクセスを制御します。aws:PrincipalTag/Ownerで要求者のIAMユーザーに付いたOwnerタグの値を参照し、aws:ResourceTag/Ownerで対象EC2インスタンスのOwnerタグと一致する場合のみ操作を許可するポリシー1つで数百名分のアクセス制御を実現できます。新しいEC2インスタンスが追加されてもポリシーの変更は不要で、高いスケーラビリティを持ちます。 選択肢Aは、インスタンスが作成・削除されるたびにポリシーを更新しなければならず、数百名の環境ではスケールしません。 選択肢Cは、IAMロールの信頼ポリシーは「誰がそのロールを引き受けられるか」を定義するものであり、特定のEC2インスタンスへのアクセス権限制御には使用できません。 選択肢Dは、SCPは組織全体のアカウントレベルで許可範囲を設定するものであり、個別開発者とEC2インスタンスの所有関係という粒度の制御には使用できません。

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

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

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