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

ある多国籍企業では、以下の要件があります。 ・500人以上の開発者が複数のプロジェクトチームに所属し、チーム異動が頻繁に発生する ・各開発者は自分のチームが所有するEC2インスタンスやS3バケットのみにアクセスできる必要がある ・すべてのリソースには「Team」タグが付与されており、タグ値でチームを識別している ・IAMポリシー自体の変更なしにチーム異動に対応できる、スケーラブルなアクセス制御を実現したい この要件を満たす最も適切なIAMアクセス制御の設計はどれか?

A
チームごとにIAMグループを作成し、そのチームのリソースにのみアクセスを許可する個別のIAMポリシーを作成してアタッチする。開発者のチーム異動時は旧グループから削除して新グループに追加する
チームごとのグループ管理は、チーム数に比例してグループとポリシーが増加し、大規模環境ではスケールしない。
B
すべての開発者に共通のIAMポリシーを作成し、aws:ResourceTag条件キーを使ってリソースのTeamタグ値を静的な文字列(各チーム名のリスト)と比較する条件を設定する
静的なリスト比較のため、チームの追加・変更のたびにポリシーを手動更新する必要があり、スケーラビリティに欠ける。
C
すべての開発者に共通のIAMロールを割り当て、aws:PrincipalTag条件キーでプリンシパルのTeamタグとリソースのTeamタグを動的に照合するABAC(属性ベースアクセス制御)ポリシーを実装する
✓ 正解
ABAC(属性ベースアクセス制御)では、IAMポリシーのCondition要素でaws:PrincipalTag/${TagKey}とaws:ResourceTag/${TagKey}を照合することで、プリンシパルとリソースのタグが一致する場合のみアクセスを許可できる。チーム異動時はプリンシパルのTeamタグ値を更新するだけでポリシー自体の変更が不要となり、管理オーバーヘッドを最小化しながらスケールできる。
D
チームごとに専用のAWSアカウントを作成してリソースを分離し、AWS OrganizationsのSCP(サービスコントロールポリシー)でアカウント間の不正アクセスを制御する
AWSアカウント分離は管理コストとオーバーヘッドが過大であり、同一アカウント内でのきめ細かいアクセス制御という要件に合致しない。

解説

ABAC(属性ベースアクセス制御)では、IAMポリシーのCondition要素でaws:PrincipalTag/${TagKey}とaws:ResourceTag/${TagKey}を照合することで、プリンシパルとリソースのタグが一致する場合のみアクセスを許可できる。チーム異動時はプリンシパルのTeamタグ値を更新するだけでポリシー自体の変更が不要となり、管理オーバーヘッドを最小化しながらスケールできる。 選択肢Aのチームごとのグループ管理は、チーム数に比例してグループとポリシーが増加し、大規模環境ではスケールしない。 選択肢Bは静的なリスト比較のため、チームの追加・変更のたびにポリシーを手動更新する必要があり、スケーラビリティに欠ける。 選択肢DのAWSアカウント分離は管理コストとオーバーヘッドが過大であり、同一アカウント内でのきめ細かいアクセス制御という要件に合致しない。

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

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

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