メインコンテンツまでスキップ

組織テンプレート

Logto の 組織テンプレート は、SaaS 製品内のすべての組織(テナント)で利用可能な一貫したロールと権限のセットを定義します。これらの定義を一元化することで、セキュリティの強化、スケーラブルなオンボーディング、すべての組織における優れたユーザー体験を実現できます。

備考:

マルチテナントアプリケーションを構築していない場合や、組織固有のロール/権限が不要な場合は、このセクションをスキップできます。Logto のグローバルロールと権限は、シングルテナントまたは非組織ベースのアプリケーションに十分です。

組織テンプレートとは?

組織テンプレートは、各組織で利用可能なロールと権限を指定する設計図です。Logto テナントで作成されたすべての組織は自動的にこのテンプレートを継承し、すべてのテナントで一貫した認可 (Authorization) モデルが保証されます。

  • なぜテンプレートを使うのか?
    • すべての組織に対して統一されたアクセス制御ポリシーを強制できます。
    • 新しいテナントやチームメンバーのオンボーディングを簡素化します。
    • 製品の成長に伴うロールベースのアクセス制御 (RBAC) の更新や監査が容易になります。

コア概念

  • 組織ロール:組織内のユーザーや M2M(マシン間通信)クライアントに付与される権限の集合。ロールは各組織内で「誰が何をできるか」を定義します。
  • 組織権限:ロールに割り当て可能な細かな非 API アクション(例:UI 機能、ビジネスロジック)。
  • API リソース:権限によって保護される API エンドポイント/サービス。組織ロールは、組織スコープの API アクセスのために API リソースとリンクできます。
  • ロールと権限のマッピング:テンプレート内の各組織ロールは、1 つ以上の権限にマッピングできます。
  • テンプレートの伝播:テンプレートへの変更は、すべての組織で利用可能なロールと権限を更新します。
注記:

組織ロールと権限(API リソース権限を含む)は、グローバルロールとその権限とは異なります。ただし、API リソースとその権限は一元的に定義され、グローバルおよび組織の両方のコンテキストで参照できます。

グローバルロールと権限との比較

ロールタイプの比較

ロールタイプAPI リソース権限を持てるか?組織(非 API)権限を持てるか?
グローバルはいいいえ
組織はいはい

権限タイプの比較

権限タイプ定義場所グローバルロールに割り当て可能か?組織ロールに割り当て可能か?
API リソースAPI リソースエンティティはいはい
組織組織テンプレートいいえはい

組織テンプレートの構成

組織テンプレートは次の要素で構成されます:

  • ロール:例 AdminMemberViewerBilling
  • 組織権限:例 invite:membermanage:billingview:analytics
  • ロールと権限のマトリクス:各ロールが付与する権限(組織権限および API リソース権限を含む)のマッピング

ビジュアル概要

組織テンプレート概要

この図は、Logto の組織テンプレートにおける組織ロール、権限、API リソースの関係を示しています。

Logto で作成された各組織は、この同じロールと権限のセットを持ち、ユーザー/クライアントには必要に応じて組織ごとにロールを割り当てることができます。

製品で組織テンプレートを活用する

Logto の組織テンプレートは、次のような現代的なマルチテナント SaaS アプリケーション向けに設計されています:

  • 各組織がオンボーディング、コラボレーション、管理のために同じロールと権限オプションを持つ必要がある場合
  • 新しい組織ごとにロール/権限を手動で定義したくない場合
  • 一貫した RBAC がコンプライアンス、セキュリティ、顧客信頼のために重要な場合
  • 製品の変化に合わせてアクセス制御を進化させたいが、既存の組織を壊したくない場合

利用例

  • ワークスペース、チーム、企業(各テナント)を提供する SaaS 製品
  • 組織ごとに細かな管理者/メンバー/閲覧者ロールを持つプラットフォーム
  • API 権限と非 API 権限の両方を持つ製品

ベストプラクティスとバージョニング

  • ロールと権限はビジネス主導で設計:実際のアクションに対応する明確な名前を使いましょう(技術的なエンドポイント名だけにしない)。
  • ロール/権限の乱立を避ける:シンプルに始め、本当に必要になったときだけ新しいロール/権限を追加しましょう。
  • 変更は周知する:組織内のロールや権限オプションが変更される場合は、ユーザーや管理者に知らせましょう。
  • テンプレートを進化させる:製品の成長に合わせて、いつでもテンプレートを更新できます。すべての組織が自動的に新しいロール/権限にアクセスできます。
  • バージョニング(任意):大きな変更時はテンプレートのバージョン管理や移行計画の周知を検討しましょう。

組織テンプレートの管理

コンソール → 組織テンプレート または Logto Management API から組織テンプレートを管理できます。

  • ロールの作成:ユーザーロールや M2M ロールをテンプレートに追加します。各ロールは Logto テナント内のすべての組織で利用可能です。
  • 権限の作成:API リソースおよび非 API(アプリ内)アクションの権限を定義します。
  • ロールと権限のマトリクス編集:Logto コンソールまたは Management API を使ってロールに権限を割り当てます。
  • ロール/権限の更新・削除:テンプレートへの変更はすべての組織に自動的に適用されます(ユーザー/クライアントのロール割り当ては維持され、権限セットのみが変更されます)。

組織ロールと権限の管理手順については、ロールベースのアクセス制御 を参照してください。

よくある質問

組織権限は必須ですか?

いいえ、組織権限は任意です。ロールと API リソース権限の定義だけに組織テンプレートを使うこともできます。

組織テンプレートを変更した場合はどうなりますか?

ロールや権限の変更は、すべての組織に即時反映されます。ユーザーやクライアントのロール割り当ては維持され、ロールが許可する内容だけが変わります。

組織ごとにロールや権限をカスタマイズできますか?

直接はできません。組織テンプレートはすべてのテナントで一貫したモデルを強制します(ただし、各組織で異なるユーザー/クライアントに異なるロールを割り当てることは可能です)。

変更をロールバックや移行するには?

以前のロール/権限を復元するにはテンプレートを手動で更新します。複雑な移行の場合はバージョン管理戦略を検討してください。

ロールや権限を削除した場合は?

そのロールを持つユーザー/クライアントは、紐づく権限へのアクセスを失います。権限を削除すると、それを持っていたすべてのロールから削除されます。

制限事項はありますか?

カスタマイズはテンプレートレベルであり、組織ごとにはできません。高度なテナントごとの例外が必要な場合は お問い合わせ ください。

さらに読む

組織(非 API)権限の保護 組織レベルの API リソースの保護 トークンクレームのカスタマイズ