ユーザー委任アクセスとクライアントアクセス
- クライアントアクセス: マシンツーマシンアクセスに使用され、Client Credentials Flowに対応します。
- ユーザー委任アクセス: エンドユーザーに関連付けられたアクセストークンを生成する、すべてのアクセスフローで使用されます。これにより、アプリケーションはユーザーに代わってAPIにアクセスできます。ユーザー委任アクセスフローには、Client Credentials Flowは含まれません。ユーザー委任アクセスフローの詳細については、Authentication and Authorization Flowsをご覧ください。
アプリケーションの API アクセスポリシー
API のアプリケーションアクセス ポリシーを設定する場合、Auth0 では最小権限の原則に沿った
Per-app authorization の使用を推奨しています。詳しくは、Application Access to APIs: Client Grants を参照してください。
API のアプリケーションアクセス ポリシーを Per-app authorization に設定した場合は、トークンリクエストに必要なスコープを明示的に指定する必要があります。これはリフレッシュトークンのリクエストには当てはまりません。リフレッシュトークンのリクエストでスコープを省略すると、認可サーバーは、アプリケーションが元のアクセストークンで付与されたすべてのスコープを求めているものと見なします。その結果、認可サーバーは、リソース所有者によって元のアクセストークンに付与されたものと同じスコープを持つアクセストークンを返します。
APIのアプリケーションアクセスポリシーを設定する
- Auth0 Dashboard
- Management API
APIのアプリケーションアクセスポリシーを設定するには、次の手順に従います。
- Dashboard > Applications > APIs に移動し、対象のAPIを選択します。
- Settings タブを選択し、Application Access Policy までスクロールして、User-Delegated Access と Client Access のポリシーを設定します。
- User-Delegated Access ポリシーを All apps allowed、Per-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へのマシンツーマシンアクセスを制限します。
- User-Delegated Access ポリシーを All apps allowed、Per-app authorization、または No apps allowed に設定します。
- Save を選択して、Application Access Policy を保存します。
- User-Delegated Access の場合は、Grant Access を選択してから必要な権限を選択します。Always grant all permissions を選択することもできます。
- Client Access の場合は、Grant Access を選択してから必要な権限を選択します。Always grant all permissions を選択することもできます。Organization Support では、次のいずれかを選択します。
- None: マシンツーマシンアクセスを組織にスコープ指定することはできません。
- Optional: マシンツーマシンアクセスは組織にスコープ指定できます。
- Required: マシンツーマシンアクセスは組織にスコープ指定する必要があります。
API アクセスポリシーとサードパーティアプリケーション
すべてのサードパーティアプリケーションのデフォルト権限を設定することもできます。
- Applications > APIs に移動し、API を選択します。
- Settings タブで Default Permissions for Third Party Applications に移動します。
- User-delegated Access または Client Access で Authorized を選択し、付与するスコープを選択します。
- Save を選択します。
既存の一部のテナントでは、サードパーティアプリケーションのアクセスポリシーの動作が異なる場合があります。詳細については、サードパーティアプリケーションの Permissive Modeを参照してください。