Skip to main content
アプリケーション向け API アクセスポリシーを使用すると、アプリケーションが Auth0 に登録された API にどのようにアクセスするかを制御できます。これらのポリシーでは、アプリケーションが API とどのようにやり取りするかを定義します。たとえば、API リソースにアクセスするためのアクセストークンを正常に取得できるかどうかなどです。 Auth0 Dashboard では、登録されている各 API ごとにアプリケーションの API アクセスポリシーを設定できます。詳しくは、API のアプリケーションアクセス ポリシーを設定するを参照してください。

ユーザー委任アクセスとクライアントアクセス

ユーザー委任アクセス用とクライアント (マシンツーマシン) アクセス用に、それぞれ個別のアプリケーションAPIアクセスポリシーを設定できます。
  • クライアントアクセス: マシンツーマシンアクセスに使用され、Client Credentials Flowに対応します。
  • ユーザー委任アクセス: エンドユーザーに関連付けられたアクセストークンを生成する、すべてのアクセスフローで使用されます。これにより、アプリケーションはユーザーに代わってAPIにアクセスできます。ユーザー委任アクセスフローには、Client Credentials Flowは含まれません。ユーザー委任アクセスフローの詳細については、Authentication and Authorization Flowsをご覧ください。

アプリケーションの API アクセスポリシー

アプリケーションの API アクセスポリシーは次のとおりです。 API のアプリケーションアクセス ポリシーを設定する場合、Auth0 では最小権限の原則に沿った Per-app authorization の使用を推奨しています。詳しくは、Application Access to APIs: Client Grants を参照してください。 API のアプリケーションアクセス ポリシーを Per-app authorization に設定した場合は、トークンリクエストに必要なスコープを明示的に指定する必要があります。これはリフレッシュトークンのリクエストには当てはまりません。リフレッシュトークンのリクエストでスコープを省略すると、認可サーバーは、アプリケーションが元のアクセストークンで付与されたすべてのスコープを求めているものと見なします。その結果、認可サーバーは、リソース所有者によって元のアクセストークンに付与されたものと同じスコープを持つアクセストークンを返します。

APIのアプリケーションアクセスポリシーを設定する

Auth0 Dashboard または Management API を使用して、APIのアプリケーションアクセスポリシーを設定できます。
APIのアプリケーションアクセスポリシーを設定するには、次の手順に従います。
  1. Dashboard > Applications > APIs に移動し、対象のAPIを選択します。
  2. Settings タブを選択し、Application Access Policy までスクロールして、User-Delegated AccessClient Access のポリシーを設定します。
    • User-Delegated Access ポリシーを All apps allowedPer-app authorization、または No apps allowed に設定します。
      • All apps allowed: アプリケーションは、ユーザーに代わってAPIにアクセスできます。
      • Per-app authorization: アプリケーションがユーザーに代わってAPIにアクセスするには、クライアントグラントが必要です。
      • No apps allowed: アプリケーションは、ユーザーに代わってAPIにアクセスできません。
    • Client Access ポリシーを Per-app authorization または No apps allowed に設定します。
      • Per-app authorization: マシンツーマシンアプリケーションは、対応するクライアントグラントを持っていれば、このAPIにアクセスできます。
      • No apps allowed: このAPIへのマシンツーマシンアクセスを制限します。
  3. Save を選択して、Application Access Policy を保存します。
APIに Per-app authorization ポリシーが設定されている場合は、Application Access タブを選択してから Edit を選択し、各アプリケーションに対して User-Delegated AccessClient Access、またはその両方を認可します。
  • User-Delegated Access の場合は、Grant Access を選択してから必要な権限を選択します。Always grant all permissions を選択することもできます。
  • Client Access の場合は、Grant Access を選択してから必要な権限を選択します。Always grant all permissions を選択することもできます。Organization Support では、次のいずれかを選択します。
    • None: マシンツーマシンアクセスを組織にスコープ指定することはできません。
    • Optional: マシンツーマシンアクセスは組織にスコープ指定できます。
    • Required: マシンツーマシンアクセスは組織にスコープ指定する必要があります。

API アクセスポリシーとサードパーティアプリケーション

サードパーティアプリケーションが API にアクセスするには、API に設定されているアクセスポリシーにかかわらず、常に明示的なクライアントグラントが必要です。 すべてのサードパーティアプリケーションのデフォルト権限を設定することもできます。
  1. Applications > APIs に移動し、API を選択します。
  2. Settings タブで Default Permissions for Third Party Applications に移動します。
  3. User-delegated Access または Client AccessAuthorized を選択し、付与するスコープを選択します。
  4. Save を選択します。
詳細については、サードパーティアプリケーションの API アクセスポリシーを設定するを参照してください。
既存の一部のテナントでは、サードパーティアプリケーションのアクセスポリシーの動作が異なる場合があります。詳細については、サードパーティアプリケーションの Permissive Modeを参照してください。

詳細はこちら