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

認証 (Authentication) と認可 (Authorization)

認証 (Authentication)認可 (Authorization) の違いは次のように要約できます:

  • 認証 (Authentication) は「どのアイデンティティを所有していますか?」という質問に答えます。
  • 認可 (Authorization) は「何ができますか?」という質問に答えます。

完全な顧客アイデンティティとアクセス管理 (CIAM) の紹介については、CIAM シリーズを参照できます:

認証 (Authentication)

Logto は、さまざまなインタラクティブおよび非インタラクティブな認証 (Authentication) 方法をサポートしています。例えば:

  • サインイン体験:エンドユーザーのための認証 (Authentication) プロセス。
  • マシン間通信 (M2M) 認証 (Authentication):サービスまたはアプリケーションのための認証 (Authentication) プロセス。

認証 (Authentication) の究極の目標は非常にシンプルです:エンティティ(Logto ではユーザーまたはアプリケーション)の一意の識別子を確認し取得することです。

認可 (Authorization)

Logto では、認可 (Authorization) はロールベースのアクセス制御 (RBAC) を通じて行われます。これにより、次のアクセスを管理するための完全なコントロールが可能になります:

  • API リソース:絶対 URI で表されるグローバルエンティティ。
  • 組織 (Organizations):ユーザーまたはアプリケーションのグループ。
  • 組織 API リソース:組織に属する API リソース。

これらの概念について詳しく知るには、次のリソースを参照してください:

これらの概念間の関係を視覚的に表現したものがこちらです:

要するに、認可 (Authorization) は「Identities」グループのエンティティが「Resources」グループのエンティティにアクセスできるかどうかを決定するルールを定義することです。

よくある質問

アプリケーションにサインインできるユーザーを指定する必要があります

シングルサインオン (SSO) の性質上、Logto は現在、アプリケーションをリソースとして使用することをサポートしていません。代わりに、API リソースと権限を定義してリソースへのアクセスを制御できます。

ユーザーが組織にサインインする必要があります

前述のように、認証 (Authentication) はエンティティのアイデンティティを確認することであり、アクセス制御は認可 (Authorization) によって処理されます。したがって:

  • ユーザーがどの組織に属しているかを決定することは、認可 (Authorization) の問題です。
  • サインインプロセスは、認証 (Authentication) の問題です。

これは、Logto には「組織にサインインする」という概念がないことを意味します。ユーザーが認証 (Authentication) されると、定義された権限に基づいてすべてのリソース(組織リソースを含む)にアクセスする権限が与えられます。

このモデルは、認証 (Authentication) と認可 (Authorization) の問題を分離するため、効率的で明確です。GitHub や Notion などのすべての最新の SaaS アプリケーションは、このモデルに従っています。

ただし、ユーザーソースと組織の間に 1 対 1 のマッピングを確立する必要がある場合もあります。この場合、エンタープライズシングルサインオン (SSO)組織のジャストインタイム (JIT) プロビジョニング が役立ちます。

顧客はサインインページにカスタムブランディングを必要としています

関連する設定については、アプリ固有のブランディング組織固有のブランディング を確認してください。