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

ある企業には200名の開発者が10チームに分かれており、各チームが自チームのEC2インスタンスを管理しています。セキュリティチームは、開発者によるEC2の起動・停止・終了操作を自チームのリソースのみに制限したいと考えています。チーム数や人員が増えてもポリシーの追加変更なしに自動的に適切なアクセス権が付与される、最もスケーラブルな実装方法はどれですか?

A
IAMグループをチームごとに10個作成し、`aws:ResourceTag/Team`条件でチームタグを指定したポリシーを各グループにアタッチする。新メンバーは入社ごとに該当グループへ手動で追加してアクセス権を付与する。
IAMグループに条件付きポリシーをアタッチする方法は、新しいチームが増えるたびにグループとポリシーを手動で作成する必要がある。新メンバーの追加も個別にグループへの手動登録が必要でオペレーション負荷が高く、スケーラブルな要件を満たさない。
B
IAM Identity Centerでアイデンティティソースのチーム属性をプリンシパルタグとして渡し、`aws:PrincipalTag/Team`と`aws:ResourceTag/Team`を照合する単一のABAC許可セットポリシーを作成する。
✓ 正解
ABACの正しい実装方法。IAM Identity Centerがアイデンティティソースのチーム属性をプリンシパルタグとして自動で引き継ぎ、単一ポリシーで`aws:PrincipalTag/Team`と`aws:ResourceTag/Team`を照合することで全チームをカバーできる。新メンバー追加はIDプロバイダー側の操作のみで完結する。
C
AWS Organizations SCPsにタグ条件を設定し、EC2インスタンスのリソースタグとリクエスト元のIAMエンティティのプリンシパルタグが不一致のアクションを組織レベルで拒否する。
SCPsはアカウントまたはOUに適用されるDenyベースのガードレールであり、ユーザーへのアクセス許可を付与する機能を持たない。開発者のEC2操作を自チームリソースに限定するABACアクセス許可の実装手段としてSCPsのみでは完結しない。
D
チームごとに専用IAMロールを10個作成し、各ロールのポリシーに対応チームのEC2リソースARNを列挙する。新メンバーが加わるたびにロールの信頼ポリシーまたはIAMポリシーを手動で更新する。
チームごとに個別IAMロールを作成しEC2のARNを列挙するアプローチは、インスタンスが追加されるたびにポリシーの更新が必要で管理コストが高い。新メンバー追加時にも信頼ポリシーやアタッチポリシーの手動変更が必要となりスケーラブルではない。

解説

ABAC(Attribute-Based Access Control)は、IAMプリンシパルに付与されたタグ(プリンシパルタグ)とAWSリソースのタグ(リソースタグ)を動的に照合してアクセスを制御する手法です。IAM Identity Centerを使用すると、外部IDプロバイダー(Active Directory、Okta等)のユーザー属性(所属チーム等)を自動的にIAMセッションのプリンシパルタグとして引き継ぐことができます。 `"StringEquals": {"aws:ResourceTag/Team": "${aws:PrincipalTag/Team}"}`という条件を含む単一の許可セットを作成するだけで、チーム数が増えてもポリシー変更は不要です。新メンバーがIDプロバイダーのチームグループに追加されれば、自動的に正しいプリンシパルタグが付与されアクセス権が有効になります。 選択肢AのIAMグループは、チームや人員が増えるたびに手動でのグループ追加と管理が必要となりスケーラビリティに欠ける。 選択肢CのAWS Organizations SCPsはDenyベースのガードレールとして機能するが、開発者へのアクセスを許可する機能はなく、IAMポリシーとの組み合わせが必要な上に管理者にも影響するため、主要なABAC手段としては適切でない。 選択肢Dの個別IAMロールは、EC2インスタンスが増えるたびにポリシーのARN列挙を更新する必要があり、新メンバー追加にも手動対応が必要でスケーラブルではない。

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

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

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