大切なデジタル資産を守るには、アイデンティティ管理の手法を活用する必要があります。しかし、その保護はどのような形で行われるべきでしょうか。
ロールベースのアクセスコントロール(ロールベースのアクセス制御 / 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の短所 |
明確に定義された制御 | 時間の制約 |
専門知識 |
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.
以上の内容は、原文(英語)の機械翻訳であり、原文と内容に差異がある場合は、原文が優先されます。