SCSアイデンティティとアクセス管理
大規模な企業では100名の開発者が共有AWSアカウントでEC2インスタンスとS3バケットを使用しています。
以下の要件があります:
・各開発者は自分が所有するリソース(Ownerタグに自身のIAMユーザー名が付与されたもの)のみ起動・停止・削除できる
・開発者の追加・削除に伴うIAMポリシーの管理コストを最小化する
・新規開発者が加わっても既存のポリシーを変更せずに対応する
この要件を満たす最も管理効率が高い実装はどれですか?
A開発者ごとにIAMポリシーを作成し、各自のリソースARNをConditionで指定する。新規開発者加入時はポリシーを新規作成して割り当てる
個別ポリシー作成は開発者数に比例した管理コストが増加します。新規追加・退職時にポリシー作成・削除が必要で、スケーラビリティに欠け、多数の開発者環境では運用負荷が急速に増加します。
Bすべての開発者に同一のIAMポリシーを割り当て、Conditionブロックで aws:ResourceTag/Owner と ${aws:username} を照合するABAC(属性ベースアクセス制御)を実装する
✓ 正解
ABAC(属性ベースアクセス制御)では、リソースのタグ(aws:ResourceTag/Owner)とプリンシパル属性(${aws:username})を組み合わせた条件で動的にアクセス制御します。単一の共通ポリシーで全開発者に対応でき、人員変更時の修正が不要でスケーラブルです。
CAWS Organizationsのタグポリシーを使ってOwnerタグの値を強制し、SCPで不正タグのリソース操作を拒否する
タグポリシーとSCPはOwnerタグ値の強制に有効ですが、同一アカウント内での所有者ベースの操作権限制御には直接的に使用できません。ABAC的な動的制御は実現しません。
DAWS RAM(Resource Access Manager)でリソースを共有し、所有者以外のアクセスをリソースポリシーで明示的に拒否する
RAMはクロスアカウント間のリソース共有に用いるサービスで、単一アカウント内での所有者ベースの制御には不適切です。本要件の解決には向きません。
解説
ABAC(Attribute-Based Access Control:属性ベースアクセス制御)では、リソースのタグ(aws:ResourceTag/Owner)とIAMプリンシパルの属性(${aws:username})を組み合わせた条件で動的にアクセス制御します。単一の共通ポリシーで全開発者に対応でき、人員変更時のポリシー変更が不要なためスケールに優れています。
選択肢A は個別ポリシーを作成するため管理コストが開発者数に比例して増大します。
選択肢C はタグポリシーとSCPによりタグ値の強制には有効ですが、同一アカウント内での所有者ベースの操作権限制御には直接使用できません。
選択肢D はRAMがクロスアカウントのリソース共有に用いるサービスであり、単一アカウント内の所有者制御には不適切です。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでSCSを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →