Skip to main content

利用可否は Auth0 のプランによって異なります

この機能は、B2B Professional、Enterprise、Enterprise Premium プランで利用できます。詳しくは、Pricing を参照してください。
Client Credentials Flow は、アプリケーションがユーザーのためではなく、自身のための を取得する際に使用されます。これは、ボット、CLI、バックエンドやデーモンプロセス、または API を自身の代理で利用するアプリケーションなど、マシンツーマシンのユースケースで役立ちます。エンドユーザーは関与しませんが、各組織のデータにアクセスできるアプリケーションを許可されたものだけに限定するため、Client Credentials Flow でも組織ごとにスコープを設定する必要があります。
各リクエストを特定の組織にスコープするには、対応する org_id クレームをマシンツーマシントークンに含めます。API サーバーは、API リソースとデータへのアクセスを認可する際に、このクレームを考慮して適用する必要があります。詳しくは、Work with Tokens and Organizations を参照してください。
組織向けマシンツーマシンアクセスでは、Client Credentials Flow を使用する各 API ごとに、特定のアプリケーションがアクセスできる組織を定義できます。詳しくは、以下を参照してください。 関連する 2 つのユースケースを示すために、架空の Travel0 company を例に見てみましょう。

API をサードパーティアプリケーションに開放する

Auth0 Organizations と を使用することで、Travel0 は、顧客が独自の組織を作成して管理できるセルフサービスポータルを提供しています。Travel0 は、エンドユーザーによるアドベンチャーの検索や購入を支援するボットを、顧客が簡単に構築できるようにしたいと考えています。そのため、このポータルの一部として、Travel0 は顧客が自社に代わってマシンツーマシンアクセスを使用して Travel0 API を利用できるよう、顧客のアプリケーション (たとえばボット) を登録できるようにしています。このユースケースでは、ある組織に属するアプリケーションが、Travel0 API を通じてその組織のデータにのみアクセスできるよう、組織間のアクセスを適切に制御する必要があります。 組織向けマシンツーマシンアクセスでは、各 API を特定の組織に関連付けることで、API ごとに Client Credentials アクセスを設定できます。次の図では、例の組織 org_X のアプリケーションは、org_X の範囲内でのみ Travel0 API にアクセスできます。アグリゲーターを使用する場合は、1 つのアプリケーションから複数の組織へのアクセスを設定することもできます。組織向け M2M Access を使用すると、API ごとに、どのアプリケーションがマシンツーマシンアクセスを使用して特定の組織にアクセスできるかを制御できます。

内部アプリケーション向けの組織の分離

Travel0 には、Client Credentials Flow を使用して Travel0 API にアクセスする必要がある内部プロセスや CLI ツールもあります。API に対して統一されたアクセス制御戦略を適用するため、Travel0 は、自社アプリケーションからのリクエストを特定の組織にスコープし、どのケースでも適切なデータだけにアクセスできるようにしたいと考えています。
組織へのマシンツーマシンアクセスを使用すると、Client Credentials Flow を使って、テナント内の各 API ごとに、任意の組織へアクセスできるようアプリケーションを設定できます。