メインコンテンツへスキップ
またはManagement使用して、APIにロールベースのアクセス制御(RBAC)を有効化することができます。これにより、APIの認可コア機能セットが有効になります。 RBACを有効にすると、アクセストークンに権限が含まれているかにかかわらず、要求された権限とユーザーに割り当てられた権限の共通部分がアクセストークンのscopeクレームに含まれます。RBACを無効にすると、アプリケーションがAPIに定義された任意の権限を要求できるようになり、scopeクレームには要求されたすべての権限が含まれます。
アクセストークンのスコープを変更するActions

Dashboard

  1. [Dashboard]>[Applications (アプリケーション)]>[API]に移動し、表示するAPI名をクリックします。
    Dashboard - アプリケーション - APIリスト
  2. [RBAC Settings(RBACの設定)] までスクロールして、[Enable RBAC(RBACを有効にする)] トグルを有効にします。
    Auth0 Dashboard - APIの設定 - RBACトグル
  3. ユーザーに割り当てられたすべての権限をアクセストークンのpermissionsクレームに含めるには、[Add Permissions in the Access Token(アクセストークンに権限を追加する)] トグルを有効にして、[Save(保存)] をクリックします。アクセストークンに権限を含めると、最小限の呼び出しで権限を取得できますが、トークンのサイズは大きくなります。[Add Permissions in the Access Token(アクセストークンに権限を追加する)] トグルを有効にすると、Auth0はAPIに設定されたアクセストークンプロファイルを基に、トークンのダイアレクトも更新します。
    • トークンのダイアレクトがaccess_tokenの場合、Auth0はこれをaccess_token_authzに更新します。これは、permissionsクレームを含むaccess_tokenプロファイルと同等です。
    • トークンのダイアレクトがrfc9068_profileの場合、Auth0はこれをrfc9068_profile_authzに更新します。これは、permissionsクレームを含むrfc9068_profileと同等です。
    使用可能なトークンのダイアレクトについては、「トークンのダイアレクトオプション」をお読みください。

Mangement API

を使用してRBACを有効にするには、リソースサーバー更新エンドポイントにPATCH要求を行います。PATCH要求で、enforce_policiestrueに設定します。
curl --request PATCH \
  --url 'https://{yourDomain}/api/v2/resource-servers/API_ID' \
  --header 'authorization: Bearer MGMT_API_ACCESS_TOKEN' \
  --header 'cache-control: no-cache' \
  --header 'content-type: application/json' \
  --data '{ "enforce_policies": "true", "token_dialect": "TOKEN_DIALECT" }'
以下の表が示すように、API_IDMGMT_API_ACCESS_TOKENTOKEN_DIALECTをそれぞれの値に置き換えます。
パラメーター説明
API_IDRBACを有効にしたいAPIのID。
MGMT_API_ACCESS_TOKENスコープupdate:resource_serversを持つManagement APIのアクセストークン
TOKEN_DIALECT指定されたAPIのアクセストークンのダイアレクト。詳しくは、「トークンのダイアレクトオプション」をご覧ください。

トークンのダイアレクトオプション

Auth0は以下のトークンダイアレクトに対応しています。
説明
access_tokenデフォルトのAuth0トークンプロファイルはJSON Web Token(JWT)形式のアクセストークンを生成します。アクセストークンのscopeクレームには、要求された権限とユーザーに割り当てられた権限の共通部分が含まれます。permissionsクレームは渡されません。詳細については、「アクセストークンのプロファイル」をお読みください。
access_token_authzpermissionsクレームのあるデフォルトのAuth0トークンプロファイル(access_token)です。アクセストークンのscopeクレームには、要求された権限とユーザーに割り当てられた権限の共通部分が含まれます。アクセストークンのpermissionsクレームには、ユーザーに割り当てられたすべての許可が含まれます。アクセストークンに許可を含めると、最小限の呼び出しで許可を取得できますが、トークンサイズは大きくなります。
rfc9068_profileIETF JWT Profile for OAuth 2.0 Access Tokens(RFC 9068)に準拠したJWT形式のアクセストークンを生成します。アクセストークンのscopeクレームには、要求された権限とユーザーに割り当てられた権限の共通部分が含まれます。permissionsクレームは渡されません。詳細については、「アクセストークンのプロファイル」をお読みください。
rfc9068_profile_authzpermissionsのあるRFC 9068トークンプロファイル(rfc9068_profile)。アクセストークンのscopeクレームには、要求された権限とユーザーに割り当てられた権限の共通部分が含まれます。アクセストークンのpermissionsクレームには、ユーザーに割り当てられたすべての許可が含まれます。アクセストークンに許可を含めると、最小限の呼び出しで許可を取得できますが、トークンサイズは大きくなります。

もっと詳しく

I