日本語
  • organization
  • B2B
  • RBAC
  • auth
  • authentication

組織と役割ベースのアクセス制御:製品の認可モデルを設計する方法

この記事は、組織と役割ベースのアクセス制御のための認可モデルを設計する方法についての詳細なガイドを提供し、Logtoプラットフォームにおけるさまざまな認可モデルのベストプラクティスを紹介します。

Guamian
Guamian
Product & Design

組織とは

組織の定義

組織とは、ユーザー(アイデンティティ)のグループであり、あなたのアプリケーションにアクセスできるチーム、ビジネス顧客、パートナー企業を表すことができます。

Organization

組織は、特にB2B(企業間取引)環境で効果的です。個々の消費者とは異なり、企業のクライアントはしばしばチーム、組織、または企業全体で構成されており、1人の個人ではありません。組織がエンティティとして導入されることは重要であり、これはユーザーをグループ化するだけでなく、多テナントアプリでのテナント分離のコンテキストを提供します。

組織のユースケース

この基本的な要素があれば、B2B製品に必要な機能を構築することができます:

  • クライアントのデータとリソースを分離するマルチテナントアーキテクチャを構築します。
  • アプリケーションのアクセスレベルは、組織メンバーに割り当てられた役割によって定義されます。
  • メンバーを招待ベースと即時でプロビジョニングします。
  • 組織ごとにシングルサインオン(SSO)認証体験が提供されます。

役割ベースのアクセス制御とは?

役割ベースのアクセス制御の定義

役割ベースのアクセス制御(RBAC)は、ユーザーの役割に基づいて権限を割り当てる方法です。役割ベースのアクセス制御は、役割と特権の周りに定義されたポリシーに中立なアクセスコントロールメカニズムです。RBACのコンポーネントである役割の許可、ユーザー-役割、および役割間の関係は、ユーザーの割り当てを簡単に行うことができます。NISTの研究により、RBACは多くの商業および政府組織のニーズに対応していることが示されています。

役割ベースのアクセス制御のユースケース

これまでに、役割ベースのアクセス制御(RBAC)を使用してビジネス要件を満たすためのいくつかのガイドを開発しました。すぐに始められる簡単なチュートリアルをご覧ください。

🔐 ロールベースのアクセス制御(RBAC) | Logto Docs

Logtoでの異なる認可モデルの使用についてのベストプラクティス

役割ベースのアクセス制御と組織は、Logtoの認可機能の主要なコンポーネントです。包括的なアイデンティティ管理プラットフォームであるLogtoは、さまざまなシナリオとレイヤーに対応するカスタマイズされたソリューションを提供し、開発者と企業に多様な製品アーキテクチャを提供します。

API役割ベースのアクセス制御

特定の組織に依存せず、コンテキスト制限を必要としない一般的なAPIリソースを保護するために、API RBAC機能が理想的です。

APIを登録し、各リソースに権限を割り当てるだけです。そして、役割とユーザー間の関係を通じてアクセスを制御します。

Manage permissions

ここでのAPIリソース、役割、および許可は、統一されたアイデンティティシステムの下で「民主化」されています。これは階層が少なく、データの深い分離を必要としないB2C製品で非常に一般的です。

組織役割ベースのアクセス制御

B2Bおよびマルチテナント環境では、テナント分離が必要です。これを実現するために、組織が分離のコンテキストとして使用され、ユーザーが特定の組織に属しているときのみRBACが有効になります。

Organization onboarding

組織RBACは、APIレベルではなく組織レベルでのアクセス制御に焦点を当てています。これは、組織レベルでの自己管理に対する大きな柔軟性を提供しますが、統一されたアイデンティティシステム内にあります。

組織RBACの重要な機能は、デフォルトですべての組織において役割と権限が同じであることが一般的であり、Logtoの「組織テンプレート」が開発効率を向上させるために非常に重要です。

Organization template

これは、すべてのテナント(アプリテナント)で共通のインフラストラクチャコンポーネントであるアクセス制御ポリシーとアイデンティティが共通であるというマルチテナントアプリの共有哲学と一致しています。これはSaaS製品で一般的なプラクティスです。

適切な認可モデルを選択し設計する

適切な認可モデルを選択する際には、次の質問を考慮してください:

  1. あなたはB2C、B2B、またはその両方の種類の製品を開発していますか? アイデンティティはビジネスアイデンティティとして考えられますか?
  2. アプリはマルチテナントアーキテクチャを必要としますか?
  3. ビジネスユニットによって決定される一定レベルの分離がアプリに必要ですか?
  4. 組織のコンテキストで定義する必要がある権限と役割は何ですか、それ以外に必要ないものは何ですか?

B2Cアプリ

ウェブアプリケーションの例を使用しましょう:BookHarber、オンライン書店です。BookHarberは幅広い機能を提供し、顧客とスタッフにシームレスで安全なショッピング体験を提供します。

BookHarberの主な機能は次のとおりです:

  1. 書籍の閲覧と購入:ユーザーはさまざまなジャンルと著者のコレクションから簡単に検索して本を購入できます。
  2. 注文管理と物流追跡:登録済みの顧客は、自分の注文を管理し、発送を追跡し、購入品の更新を受け取ることができます。
  3. 特別オファーとホリデーイベント:BookHarberは特別イベントや休日に専用のディスカウントとプロモーションを提供し、顧客基盤を引き付け、報いるために使用します。
  4. カスタマーサポート:顧客はサポートチケットを開いて、遭遇した問題や問題を解決し、BookHarberスタッフから迅速な支援を受けることができます。
  5. 顧客管理:異なる役割を持つスタッフメンバーが、顧客アカウント、注文処理、問題解決など、プラットフォームのさまざまな側面を管理する能力を持っています。

役割

BookHarberエコシステムでは、いくつかの主要なユーザー役割を特定できます:

  1. ゲスト:ウェブサイトのブラウジング、本の検索、特別オファーの閲覧ができる未登録ユーザー。
  2. 顧客:本を購入し、注文を管理し、物流を追跡し、サポートチケットを開くことができる登録ユーザー。
  3. ストア管理者:プラットフォームの全体的な管理と運営の監督を担当するスタッフメンバー。フルアクセスを持っています。
  4. 書籍管理者:書籍とカテゴリの管理を担当するスタッフメンバー。
  5. カスタマーサービスエージェント:サポートチケットに応答することを任務とするスタッフメンバー。
  6. 第三者物流プロバイダー:注文の配送と追跡を管理する外部パートナー。
  7. マーケティングスタッフ:BookHarberを宣伝する責任を持ち、特別オファーとイベントの管理を担当するスタッフメンバー。

これまでに、RBACを使用してビジネス要件を満たすためのいくつかのガイドを開発しました。すぐに始められる簡単なチュートリアルをご覧ください。

LogtoでのRBACの習得:実践的なリアルワールドの例

B2Bアプリ

マルチテナントアプリは、プロダクティビティツール、ERPシステム、その他のSaaS製品など、B2Bソリューションでよく利用されます。この文脈では、各「テナント」は通常、複数のユーザー(その従業員)を持つビジネス顧客を表します。さらに、ビジネス顧客は異なる組織や事業部門を表す複数のテナントを持つことがあります。

B2B

いくつかの組織を作成する

Create organizations

組織レベルのアクセス制御のための組織テンプレートを定義する

Define organization template

ハイブリッドB2B & B2Cアプリ

B2BアプリケーションはSaaS製品を超えて、しばしばマルチテナントアプリの使用を含みます。B2Bコンテキストでは、これらのアプリはさまざまなチーム、ビジネスクライアント、パートナー企業があなたのアプリケーションにアクセスするための共通プラットフォームとして機能します。

たとえば、B2CおよびB2Bアプリを提供するライドシェアリング企業を考えてみましょう。B2Bアプリは複数のビジネスクライアントにサービスを提供し、マルチテナントアーキテクチャを採用することで、従業員とリソースの管理を助けることができます。例として、会社が統一されたユーザーアイデンティティシステムを維持したい場合、次のようなアーキテクチャを設計することができます:

サラを例に使ってみましょう。サラは個人とビジネスの両方のアイデンティティを持っています。彼女は乗客としてライドシェアリングサービスを使用し、また、余暇にドライバーとして働いています。彼女は職業上の役割で自分の個人事業を管理し、このビジネスアイデンティティを使用してビジネス1とのパートナーになります。

Entities set up in Logto

Logtoに設定されたエンティティ

A user’s identity and role map

ユーザーのアイデンティティおよび役割マップ

APIリソース、ユーザー役割を定義する

Create API resources

Role riderRole driver

組織を設定する

Create business organizationsBusiness organization details

サラのプロフィール

Sarah’s profile - organizations

Sarah’s profile - roles

今日、認可を構築しよう。

Logtoは、役割ベースのアクセス制御(RBAC)と組織機能の両方を提供し、認可要件を満たすことができます。これらの機能は、製品のさまざまな部分に簡単に統合できるように設計されています。詳細については、組織およびRBACのセクションをご覧になるか、今すぐLogtoを試してみることができます。