tsumiki-media logo

tsumiki-media

Command Palette

Search for a command to run...

AWS設定比較
約15分
上級+
8/10
2025年7月4日

AWS SCS-C02 対策 IAM ABAC vs RBAC

AWS IAMにおける属性ベースアクセス制御(ABAC)とロールベースアクセス制御(RBAC)の違いを理解し、資格試験で問われるスケーラブルなアクセス制御戦略を選択するための完全ガイド。実践的な問題を通じて使い分けのポイントを解説します。

この記事のポイント

  • 1
    ABACとRBACの根本的な違いと適用場面を理解する
  • 2
    タグベースのアクセス制御の実装方法を把握する
  • 3
    資格試験での判断基準を身につける

目次

アクセス制御方式の根本的な違い

AWS IAMでは、RBAC(Role-Based Access Control)ABAC(Attribute-Based Access Control)の2つの主要なアクセス制御方式を提供しています。

RBACは固定的なロールに基づくアクセス制御で、ABACは動的な属性(タグ)に基づくアクセス制御です。資格試験では、環境の変化頻度とスケーラビリティ要件から適切な方式を選択することが重要です。

Role-Based Access Control (RBAC)

アクセス制御の基準
固定されたロール・グループ
新規プロジェクト追加時
新しいロール・ポリシーの作成が必要
管理の複雑さ
プロジェクト数に比例して増加
適用場面
安定した組織構造・明確な役割
実装例
DeveloperRole、AdminRole
スケーラビリティ
限定的

Attribute-Based Access Control (ABAC)

アクセス制御の基準
動的なタグ(属性)
新規プロジェクト追加時
タグの付与のみで自動対応
管理の複雑さ
一度設定すれば管理作業最小
適用場面
動的環境・頻繁な変更
実装例
${aws:PrincipalTag/Project}
スケーラビリティ
高い

資格試験での選択基準

AWS資格試験では、以下のキーワードから適切なアクセス制御方式を判断します。動的・スケーラブル・頻繁な変更・自動拡張などのキーワードが出てきた場合はABACを選択し、固定的・シンプル・明確な役割が強調されている場合はRBACを選択します。

一般的に、ABACとRBACを直接比較する場面では、現代的なクラウド環境の要件によりABACが選択されるケースが多くなっています。スケーラビリティと柔軟性が重視される環境では、ABACの動的な制御が適しているためです。

実践問題で確認

ABACとRBACの選択問題を3つのカテゴリに分けて解説します。各問題では、環境の特性から適切なアクセス制御方式を判断する思考プロセスを体験できます。

問題を解く際は、環境の変化頻度管理負荷の許容度スケーラビリティ要件の3つの観点から分析することを意識してください。

AWS認定セキュリティ - 専門知識

練習問題

ある企業は、複数の開発チームとプロジェクトがあるマルチアカウントAWS環境を運用しています。これらのチームは定期的に新しいプロジェクトを開始し、特定のプロジェクトに対して異なる環境(開発、テスト、本番)を使用しています。各チームのエンジニアには、自分たちが担当するプロジェクトとその環境に対する適切なアクセス権限が必要ですが、他のチームのプロジェクトや本番環境へのアクセスは制限されるべきです。 セキュリティチームは、以下の要件を満たすためのAWS IAMアクセス制御戦略を設計する必要があります: 1. 新しいプロジェクトが開始されるたびに、IAMポリシーの大幅な変更を必要とせずにアクセス制御を自動的に拡張できること 2. エンジニアは、所属するチームとプロジェクトに基づいて自動的に適切な権限を取得できること 3. エンジニアは、担当するプロジェクトのすべての環境にアクセスできるが、本番環境での変更は承認が必要であること 4. クロスチームのコラボレーションを可能にするために、個々のエンジニアに特定のプロジェクトへの一時的なアクセスを許可できること この要件を満たすための最も拡張性の高いアクセス制御戦略はどれですか?2つ選択してください。

AWS認定セキュリティ - 専門知識

練習問題

あるグローバル企業は、複数のクラウドベースのマイクロサービスを開発・運用するためのDevOpsチームを設立しました。各マイクロサービスは独自のCI/CDパイプラインを持ち、対応するAWSリソース(Lambda関数、DynamoDBテーブル、S3バケットなど)を使用します。将来的には、マイクロサービスの数が増加し、開発者はプロジェクト間で頻繁に移動することが予想されています。また、開発者は同時に複数のマイクロサービスに貢献することもあります。 セキュリティエンジニアは、以下の要件を満たす柔軟でスケーラブルなアクセス制御ソリューションを設計する必要があります: - 各開発者は、担当するマイクロサービスのリソースにのみアクセスできる - リソースとアクセス権限の管理が簡素化される - チームメンバーの移動やマイクロサービスの追加時に最小限の管理作業で対応できる この要件を満たすために、セキュリティエンジニアはどのようなアプローチを採用すべきでしょうか?

AWS認定セキュリティ - 専門知識

練習問題

ある企業は、複数のAWSアカウントにわたって数百のアプリケーションを運用しています。各アプリケーションは、開発チーム、環境タイプ(開発、テスト、本番)、コスト配分タグを含む複数のタグで識別されています。企業の成長に伴い、IAMポリシーとロールの管理が複雑化し、新しいアプリケーションが追加されるたびに新しいIAMロールを作成する必要があります。セキュリティチームは、より効率的でスケーラブルなアクセス制御戦略を実装し、以下の要件を満たす必要があります: - 同じチームの全メンバーが、チームが所有するすべてのアプリケーションリソースにアクセスできるようにする - 開発者は開発環境でのみフルアクセス権を持つが、本番環境では読み取り専用アクセス権を持つ - QAエンジニアはテスト環境でのみフルアクセス権を持つ - 新しいアプリケーションの追加に伴う管理オーバーヘッドを最小限に抑える - 権限拡大のリスクを最小限に抑える セキュリティチームが実装すべき最も効果的なアクセス制御戦略はどれですか?

まとめ

ABAC(属性ベースアクセス制御)は、タグを活用した動的なアクセス制御により、新規プロジェクト追加時にもポリシー変更なしで自動的にスケールします。頻繁な変更・動的環境・管理負荷最小化が求められる場合に最適です。

RBAC(ロールベースアクセス制御)は、固定的なロールによるシンプルなアクセス制御で、安定した組織構造・明確な役割分担がある環境に適しています。

資格試験では、環境の変化頻度とスケーラビリティ要件から判断することがポイントです。「スケーラブル」「自動拡張」「最小限の管理作業」などのキーワードが出てきた場合は、迷わずABACを選択しましょう。

実装時は、PrincipalTag(ユーザー・ロールのタグ)とResourceTag(リソースのタグ)の両方を活用し、条件キー「${aws:PrincipalTag/Project}」「${aws:ResourceTag/Environment}」を組み合わせることで、細粒度のアクセス制御を実現できます。

理解度チェック

ABACとRBACの根本的な違いと適用場面は?

PrincipalTagとResourceTagを使ったアクセス制御の仕組みは?

資格試験でABACを選択すべきキーワードを把握しているか?

他の問題も解いてみませんか?

tsumikiでは、AWS認定試験の合格に必要な知識を体系的に学習できます。実践的な問題を通じて、AWSスキルを身につけましょう。