組織と役割ベースのアクセス制御:製品の認可モデルを設計する方法
この記事は、組織と役割ベースのアクセス制御のための認可モデルを設計する方法についての詳細なガイドを提供し、Logtoプラットフォームにおけるさまざまな認可モデルのベストプラクティスを紹介します。
この記事は、組織と役割ベースのアクセス制御のための認可モデルを設計する方法についての詳細なガイドを提供し、Logtoプラットフォームにおけるさまざまな認可モデルのベストプラクティスを紹介します。
組織とは、ユーザー(アイデンティティ)のグループであり、あなたのアプリケーションにアクセスできるチーム、ビジネス顧客、パートナー企業を表すことができます。

組織は、特にB2B(企業間取引)環境で効果的です。個々の消費者とは異なり、企業のクライアントはしばしばチーム、組織、または企業全体で構成されており、1人の個人ではありません。組織がエンティティとして導入されることは重要であり、これはユーザーをグループ化するだけでなく、多テナントアプリでのテナント分離のコンテキストを提供します。
この基本的な要素があれば、B2B製品に必要な機能を構築することができます:
役割ベースのアクセス制御(RBAC)は、ユーザーの役割に基づいて権限を割り当てる方法です。役割ベースのアクセス制御は、役割と特権の周りに定義されたポリシーに中立なアクセスコントロールメカニズムです。RBACのコンポーネントである役割の許可、ユーザー-役割、および役割間の関係は、ユーザーの割り当てを簡単に行うことができます。NISTの研究により、RBACは多くの商業および政府組織のニーズに対応していることが示されています。
これまでに、役割ベースのアクセス制御(RBAC)を使用してビジネス要件を満たすためのいくつかのガイドを開発しました。すぐに始められる簡単なチュートリアルをご覧ください。
🔐 ロールベースのアクセス制御(RBAC) | Logto Docs
役割ベースのアクセス制御と組織は、Logtoの認可機能の主要なコンポーネントです。包括的なアイデンティティ管理プラットフォームであるLogtoは、さまざまなシナリオとレイヤーに対応するカスタマイズされたソリューションを提供し、開発者と企業に多様な製品アーキテクチャを提供します。
特定の組織に依存せず、コンテキスト制限を必要としない一般的なAPIリソースを保護するために、API RBAC機能が理想的です。
APIを登録し、各リソースに権限を割り当てるだけです。そして、役割とユーザー間の関係を通じてアクセスを制御します。

ここでのAPIリソース、役割、および許可は、統一されたアイデンティティシステムの下で「民主化」されています。これは階層が少なく、データの深い分離を必要としないB2C製品で非常に一般的です。
B2Bおよびマルチテナント環境では、テナント分離が必要です。これを実現するために、組織が分離のコンテキストとして使用され、ユーザーが特定の組織に属しているときのみRBACが有効になります。

組織RBACは、APIレベルではなく組織レベルでのアクセス制御に焦点を当てています。これは、組織レベルでの自己管理に対する大きな柔軟性を提供しますが、統一されたアイデンティティシステム内にあります。
組織RBACの重要な機能は、デフォルトですべての組織において役割と権限が同じであることが一般的であり、Logtoの「組織テンプレート」が開発効率を向上させるために非常に重要です。

これは、すべてのテナント(アプリテナント)で共通のインフラストラクチャコンポーネントであるアクセス制御ポリシーとアイデンティティが共通であるというマルチテナントアプリの共有哲学と一致しています。これはSaaS製品で一般的なプラクティスです。
適切な認可モデルを選択する際には、次の質問を考慮してください:
ウェブアプリケーションの例を使用しましょう:BookHarber、オンライン書店です。BookHarberは幅広い機能を提供し、顧客とスタッフにシームレスで安全なショッピング体験を提供します。
BookHarberの主な機能は次のとおりです:
BookHarberエコシステムでは、いくつかの主要なユーザー役割を特定できます:
これまでに、RBACを使用してビジネス要件を満たすためのいくつかのガイドを開発しました。すぐに始められる簡単なチュートリアルをご覧ください。
マルチテナントアプリは、プロダクティビティツール、ERPシステム、その他のSaaS製品など、B2Bソリューションでよく利用されます。この文脈では、各「テナント」は通常、複数のユーザー(その従業員)を持つビジネス顧客を表します。さらに、ビジネス顧客は異なる組織や事業部門を表す複数のテナントを持つことがあります。



B2BアプリケーションはSaaS製品を超えて、しばしばマルチテナントアプリの使用を含みます。B2Bコンテキストでは、これらのアプリはさまざまなチーム、ビジネスクライアント、パートナー企業があなたのアプリケーションにアクセスするための共通プラットフォームとして機能します。
たとえば、B2CおよびB2Bアプリを提供するライドシェアリング企業を考えてみましょう。B2Bアプリは複数のビジネスクライアントにサービスを提供し、マルチテナントアーキテクチャを採用することで、従業員とリソースの管理を助けることができます。例として、会社が統一されたユーザーアイデンティティシステムを維持したい場合、次のようなアーキテクチャを設計することができます:
サラを例に使ってみましょう。サラは個人とビジネスの両方のアイデンティティを持っています。彼女は乗客としてライドシェアリングサービスを使用し、また、余暇にドライバーとして働いています。彼女は職業上の役割で自分の個人事業を管理し、このビジネスアイデンティティを使用してビジネス1とのパートナーになります。

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

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







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