ロールベースのアクセスコントロール(RBAC)と属性ベースのアクセスコントロール(RBAC)の違いとは?

RBAC vs. ABAC:定義と使用方法

RBAC vs. ABAC:定義と使用方法

大切なデジタル資産を守るには、アイデンティティ管理の手法を活用する必要があります。しかし、その保護はどのような形で行われるべきでしょうか。

ロールベースのアクセスコントロール(ロールベースのアクセス制御 / Role-Based Access Control / RBACと属性ベースのアクセスコントロール(属性ベースのアクセス制御 /  Attribute-Based Access Control  / ABAC)の違いを知ることで、スマートな意思決定が可能になります。

RBACとABACの主な違いは、アクセスを許可する方法です。RBACは、ロール別、つまり役割別にアクセスを許可する手法です。ABACは、ユーザーの属性、オブジェクトの属性、アクションタイプなどによってアクセスを決定する手法です。

以下に詳しく説明します。

ロールベースのアクセスコントロールとは?

RBACを使用する場合、コンピュータシステムにログインした人に許可される操作は、その人の役割によって異なります。

RBACで「ロール」という用語は、通常は、以下のような特性を共有する人々のグループを指します。

  • 部署
  • 場所
  • 組織内の階級
  • 職務
【図解】ロールベースのアクセスコントロール

ロールを定義すると、以下のようなアクセス許可を割り当てることができます。

  • アクセス:その人に何が表示されるか?
  • 操作:その人は何を読みとることができるか?その人は何を書き込むことができるか?その人はファイルの作成や削除を実行できるか?
  • セッション:その人はどのくらいの期間システムにとどまることができるか?いつからログインできるか?ログインの有効期限はいつか?

すべてのRBACシステムはこのように動作します。しかし、米国標準技術研究所(National Institute of Standards and Technology)は、さらに柔軟性が必要な場合に備えて、RBACの4つのサブタイプを定義しています。

  • フラット:すべての従業員は、アクセス許可を定義する少なくとも1つのロールを持ちますが、中には複数のロールを持つ人もいます。
  • 階層:階級によって、役割の連携が定義されます。上級幹部は自身のアクセス許可を持つとともに、部下に付与されるアクセス許可も持ちます。
  • 制約付き:職務の分離が加わり、複数の人が連携して1つのタスクに取り組みます。これは、セキュリティの確保と不正行為の防止に役立ちます。
  • 対称:役割のアクセス許可は頻繁に見直され、その結果としてアクセス許可が変更されます。

これらの役割は相互に関連し、セキュリティレベルごとに編成できます。

  • レベル1、フラット:RBACの中でも最も単純な形態です。従業員はロールを使ってアクセス許可を獲得します。
  • レベル2、階層:フラットRBACルールをベースとして、ロールの階層を追加します。
  • レベル3、制約付き:階層RBACをベースとして、職務の分離を追加します。
  • レベル4、対称:制約付きRBACモデルをベースとして、アクセス許可レビューを追加します。

属性ベースのアクセスコントロール(ABAC)とは?

コンピュータシステムにログインした人が実行できる操作を決定するときに、ABACプロトコルを使うことで、ユーザー、リソースの属性、環境に応じた設定を実現できます。

ABACを使用するシステムの管理者は、以下の方法でアクセス許可を設定できます。

  • ユーザー:その人の職位、典型的なタスク、または階級によって、実行できる作業が決まることがあります。
  • リソース属性:ファイルの種類、その作成者、ドキュメントの機密性によってアクセスが決まることがあります。
  • 環境:その人がファイルにアクセスする場所、時間帯、または日付によって、アクセスが決定することがあります。
属性ベースのアクセスコントロールの解説図

このようなシステムでは、管理者は細かな区別を使用して制御を実行できます。さまざまな属性に基づいてアクセス許可を設定でき、それらが連携してドキュメントを安全に保ちます。理論的には、ログインした場所や、曜日によって、同じ人に対してアクセス許可を変化させることも可能です。

ABACでは、各要素が連携して動作します。

  • 主体:誰が作業しようとしているのか?
  • 対象:ユーザーはネットワーク内のどのファイルを操作しようとしているのか?
  • 操作:その人は、そのファイルで何をしようとしているのか?

関係性は、以下のようにif/then文で定義されます。

  • ユーザーが会計部門に所属している場合、その人は会計ファイルにアクセスできます。
  • その人がマネージャーである場合、ファイルの読み書きを実行できます。
  • 会社の方針で「土曜日は作業しない」と定められており、今日が土曜日である場合、今日は誰もファイルにアクセスできません。

RBACとABACの比較:長所と短所

RBACとABACは、どちらも制御とアクセスに関係しています。どちらのアプローチもシステムを保護しますが、それぞれに明確な長所と短所があります。

ABACの長所

ABACの短所

明確に定義された制御
管理者は多くの変数を定義、強化、管理でき、高度な制御を確保できます。資産を守るための、非常に具体的で細かなルールを作成できます。

時間の制約
変数を定義し、ルールを設定することは、特にプロジェクトのキックオフ時には大変な労力を必要とします。

専門知識
研究者が指摘するように、適切なABACルールを実現するには、正確な実装が求められます。最初にシステムの設定を間違えると、修正に時間がかかります。

 

RBACの長所

RBACの短所

シンプルさ:
RBACシステム内のルールは、シンプルで実行が簡単です。作業が早く終わるので、処理能力も少なくて済みます。

ロールの爆発的増加
システムに粒度を加えるために、ロールを増やす管理者もいます。これは、ロールの爆発的増加と呼ばれる状態につながり、そうなると何百、何千ものルールを管理しなければなりません。

5つのアイデンティティ管理シナリオ

以下の例は、どのような場合にRBACシステムが最適で、どのような場合にABACシステムがよりよく機能するかを理解するのに役立ちます。また、両者を併用した例も紹介します。

以下を参考に、RBACとABACを比較・検討してください。

1. 少人数の作業グループ:RBACが最適です。会社の規模が小さく、ファイルの数が少ない場合は、ロールごとに作業を定義することがシンプルです。

たとえば、15人が従業員しかいない建設会社であれば、RBACシステムを効率的かつ簡単にセットアップできます。

2. 地理的に分散した作業グループ:ABACが適しています。従業員のタイプ別、場所別、業務時間別にアクセスを定義できます。たとえば、支店のタイムゾーンにおける業務時間中のみアクセスを許可できます。

3. 時間で定義される作業グループ:ABACの使用が望ましいと言えます。機密文書やシステムの中には、営業時間外にアクセスできないように指定すべきものもあり、そのような場合にABACシステムによって時間ベースのルールを設定できます。

4. 単純に構造化された作業グループ:RBACが最適です。大規模な組織で、職務に応じてアクセスを定義できます。

たとえば、医院では受付担当者にスケジュールの読み書きを許可していますが、その従業員は医療検査結果や請求情報を見る必要はありません。このような場合には、RBACシステムが有用です。

5. クリエイティブな企業:クリエイティブな企業では、ファイルを独自の方法で使用することが多いため、ABACが理想的です。ドキュメントによって、全員が見る必要がある場合もあれば、一部の人だけが見る必要がある場合もあります。アクセスのニーズは、役割ではなくドキュメントに応じて変わります。

たとえば、社内のアーティストやライターなどのクリエイティブスタッフは、他の従業員が配布しやすいようにファイルを作成します。しかし、請求部門やアカウントエグゼクティブなどの従業員も、それらのファイルを見る必要があるかもしれません。また、マーケティングチームが共有する場合もあるでしょう。

これらのドキュメントを誰が見るべきか、どのように扱うべきかという複雑なアクセスは、ABACで管理するのが最善です。

多くの場合、RBACもABACも、必要なすべてのユースケースに対応する完璧なソリューションではありません。そのため、一般的には、大局的なアクセスにRBACを使用し、その構造の中で細かい制御にABACを使用するというハイブリッドシステムが採用されます。

たとえば、RBACシステムを使って、機密性の高いサーバーを新入社員から隠すことができます。さらに、アクセス権を持つ人がどのようにドキュメントを操作できるかを、ABACシステムを使って管理できます。

RBACとABACを組み合わせることで、管理者は両方のシステムの長所を活かすことができることが、研究で示されています。RBACは機密ファイルを緊密に保護し、ABACは動的な動作を可能にします。組み合わせによって、両者のメリットを生かすことができます

賢い選択をするために

どのアイデンティティ管理モデルが自社に最適か、わからなくても心配無用です。

Oktaが、きめ細かなアクセス許可とユーザーのアクセス要素を使用して、アクセスと認可のための安全なパスを作成します。Oktaの活用法をご確認ください。

参考文献

The NIST Model for Role-Based Access Control: Towards a Unified Standard. (July 2007). National Institute of Standards and Technology.

Policy Engineering in RBAC and ABAC. (November 2018). From Database to Cyber Security.

Adding Attributes to Role-Based Access Control. (June 2010). IEEE Computer.

Role-Based ABAC Model for Implementing Least Privileges. (February 2019).ICSCA '19: Proceedings of the 2019 8th International Conference on Software and Computer Applications.