0Pricing
Cyber Security Academy · レッスン

RBACとABAC

アクセス制御モデルを理解します

「RBACとABAC」はCoddyKit上の無料Cyber Security Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCyber Security Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cyber Security Academyコースには全4レッスンが含まれています。

アクセス制御モデル

アクセス制御モデルは、権限をどのように決定するかを定義します。最も広く使われているモデルのうち、2つがRBACとABACです。

適切なモデルを選ぶことは、権限の拡張性と柔軟性を左右します。

RBACの基本

ロールベースアクセス制御(RBAC)は、ロールに権限を付与し、その後ユーザーをロールに割り当てます。

ユーザーは、自分に割り当てられたロールのすべての権限を継承します。ロールのメンバーシップを管理することで、アクセスを管理します。

RBACの例

editorやviewerのようなロールを考えてみます。

  • editor:ドキュメントの読み取りと書き込み
  • viewer:読み取り専用

Aliceにeditorロールを割り当てると、両方の権限が自動的に付与されます。

role: editor
  permissions: [doc.read, doc.write]
user: alice -> role: editor

RBACの長所

RBACが広く使われている理由は、次の特長があるためです。

  • 理解と監査が容易です。
  • 似たニーズを持つ多数のユーザーに対して拡張可能です。
  • 確認しやすい(誰がどのロールを持っているか)。

RBACの短所:ロール爆発

アクセスが細かな条件に数多く依存すると、editor_finance_emea_tempのようなロールを無数に作ることになります。

このロール爆発により、大規模環境でのRBACの管理が難しくなります。

ABACの基本

属性ベースアクセス制御(ABAC)は、ポリシールールによって評価される属性を使ってアクセスを決定します。

属性は、ユーザー、リソース、アクション、環境を表します。

ABACの例

ABACポリシーでは、専用のロールを作成せずに、複雑で豊かなルールを表現できます。

ALLOW read IF user.department == resource.department
  AND user.clearance >= resource.sensitivity
  AND env.time BETWEEN 09:00 AND 18:00

ABACの長所

ABACには次の特長があります。

  • きめ細かく
  • ロール爆発が起きず、1つのポリシーで多くのケースに対応できます。
  • 時間、場所、デバイスなどの動的な要素を利用できます。

ABACの短所

ABACは、強力である代わりに単純さを失います。

  • ポリシーが複雑になり、監査が難しくなることがあります。
  • クリーンで信頼できる属性データが必要です。
  • 「誰がXにアクセスできるか」を一目で確認するのが難しくなります。

両方の組み合わせ

多くのシステムでは、広い範囲の制御にRBACを使い、細かな条件にはABACを使うハイブリッド方式を採用しています。

たとえば、ロールで基本的なアクセスを許可し、属性ルールで地域や時間帯に応じてさらに制限します。

モデルの選択

目安は次のとおりです。

  • アクセスが職務に明確に対応する場合は、RBACを使用します。
  • 判断がコンテキストに依存する場合や、頻繁に変わる場合は、ABACを使用します。
  • 両方の長所を生かすには、組み合わせて使用します。

簡単な確認

ある組織では、あらゆる組み合わせに対応するために、editor_finance_emea_contractorのようなロールを作り続けています。この問題を軽減できるのは、どのモデルでしょうか。

まとめ

RBACとABACを比較しました。

  • RBAC:シンプルでロールを中心に制御できますが、ロールが爆発的に増えやすくなります。
  • ABAC:柔軟で属性を中心に制御できますが、監査がより複雑になります。
  • ハイブリッド方式では、両者の長所を組み合わせます。

次は、シングルサインオンとフェデレーションについて説明します。

よくある質問

「RBACとABAC」レッスンは無料ですか?

はい。「RBACとABAC」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cyber Security Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cyber Security Academyコースには全4レッスンが含まれています。

「RBACとABAC」で何を学びますか?

アクセス制御モデルを理解します ブラウザで直接実行するハンズオンコードでCyber Security Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Cyber Security Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCyber Security Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「RBACとABAC」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCyber Security Academyレッスンでコードを書いて実行できますか?

はい。すべてのCyber Security Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. IAMの基礎
  2. RBACとABAC
  3. SSOとフェデレーション
  4. 最小権限
← Cyber Security Academyに戻る