Skip to main content

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

この機能は、B2B Professional、Enterprise、および Enterprise Premium プランで利用できます。詳しくは、Pricing をご覧ください。
クライアント認証情報フロー は、アプリケーションがユーザーのためではなく、自身のために を取得する際に使用されます。これは、ボット、CLI、バックエンドやデーモンプロセス、または自身の代わりに API を利用するあらゆるアプリケーションなど、machine-to-machine のユースケースで役立ちます。エンドユーザーは関与しませんが、許可されたアプリケーションだけが各組織のデータにアクセスできるようにするため、クライアント認証情報フローでも組織ごとにスコープを設定する必要があります。
各リクエストを特定の組織にスコープするには、対応する org_id claim を machine-to-machine token に含めてください。API server は、API リソースやデータへのアクセスを認可する際に、この claim を考慮し、適用する必要があります。詳しくは、Work with Tokens and Organizations をご覧ください。
Machine-to-Machine Access for 組織 を使用すると、クライアント認証情報フローを使う各 API について、特定のアプリケーションがアクセスできる組織を定義できます。詳しくは、以下をご覧ください。 関連する 2 つのユースケース例を示すために、架空の Travel0 company を見てみましょう。

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

Auth0 Organizations と を使用して、Travel0 は顧客が自身の 組織 を作成・管理できるセルフサービスポータルを提供しています。Travel0 は、エンドユーザーがアドベンチャーを見つけて購入するのを支援するボットを、顧客が簡単に構築できるようにしたいと考えています。そのため、このポータルの一環として、Travel0 は顧客が自身に代わって machine-to-machine アクセスを使用して Travel0 API を利用できるよう、アプリケーション (たとえばボット) を登録できるようにしています。このユースケースでは、ある 組織 に属するアプリケーションが、Travel0 API を介してその 組織 のデータにのみアクセスできるよう、組織 間のアクセスを適切に制御する必要があります。
サードパーティアプリケーションでは、allow_any_organization は利用できません。各 組織 は organization_client_grant を通じて明示的に認可する必要があります。詳細については、Machine-to-Machine Access を設定するをお読みください。
Machine-to-Machine Access for Organizations を使用すると、特定の 組織 に関連付けることで、API ごとに Client Credentials アクセスを設定できます。次の図では、例として示す 組織 である org_X のアプリケーションは、org_X の範囲内でのみ Travel0 API にアクセスできます。アグリゲーターを使用するケースでは、1 つのアプリケーションから複数の 組織 へのアクセスを設定することもできます。M2M Access for Organizations を使用すると、machine-to-machine アクセスを使って特定の 組織 にアクセスできるアプリケーションを、API ごとに制御できます。
サードパーティアプリは M2M アクセスを使用して org_x に接続し、次に Travel0 API に接続する

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

Travel0 には、クライアント認証情報フローを使用して Travel0 API にアクセスする必要がある内部プロセスや CLI ツールもあります。API 全体で一貫したアクセス制御戦略を適用するため、Travel0 は、自社のアプリケーションからのリクエストを特定の 組織 にスコープ設定し、各ケースで適切なデータのみにアクセスできるようにしたいと考えています。
Travel0 アプリケーションは、machine-to-machine アクセスを使用して特定の組織にスコープ設定された Travel0 API にアクセスします
Machine-to-Machine Access for Organizations を使用すると、クライアント認証情報フローを使って、テナント内の各 API に対し、任意の 組織 へアクセスできるようアプリケーションを設定できます。