Auth0 では、ロールベースのアクセス制御 (RBAC) を実装するための 2 つの方法が提供されており、API 独自の内部アクセス制御システムの代わりに使用することも、組み合わせて使用することもできます。Authorization Core の機能セットは Authorization Extension と同等の機能を備えており、パフォーマンスとスケーラビリティが向上しているほか、Authorization Extension よりも柔軟な RBAC システムを提供します。現在、どちらも RBAC の主要な機能を実装しており、API に対して定義されたカスタムスコープを、権限としてユーザーに割り当てられたものだけに制限できます。
事前準備
Authorization Extension をインストールする拡張機能を設定する
- Auth0 Dashboard > Extensions に移動し、Auth0 Authorization を選択します。
-
Authorization Dashboard の右上にある Configuration を選択します。

-
Configuration ページの Rule Configuration セクションが開きます。Token Contents 配下の各セクションで行った変更 (グループ、ロール、権限に関するものなど) はすべて、この手順の完了時にエクスポートするルールに反映されます。

ApiKey
このルールは、Authorization Extension API と通信してポリシーを取得するために、ApiKey を使用します。ApiKey はルールの設定として保存され、ルールの公開時に自動的に作成されます。ApiKey をローテーションするには、Rotate ボタンをクリックします。ApiKey がローテーションされると、ルールの設定も自動的に更新されます。発行されるトークンに認可情報を追加する
Auth0 が発行するトークンには、グループ、ロール、権限などの認可データを格納できます。アプリケーションは、トークンを確認してこの情報を利用し、ユーザーの現在の認可コンテキストに応じた適切なアクションを実行できます。 発行されるトークンにグループ、ロール、権限の情報を追加するには、含める項目の横にあるスライダーを有効にします。IdP から認可データをマージする
Active Directory など、現在使用している (IdP) からグループ、ロール、または権限を受け取るユーザーがいる場合があります。これらの項目を Authorization Extension で定義した項目とマージして保持したい場合は、該当する Passthrough オプションを有効にしてください。有効にしたいマージ項目の横にあるスライダーをオンにします。ユーザープロファイルに認可情報を保存する
認可コンテキストが大きい場合 (たとえば、ユーザーが多数のグループに属している、または多くの権限を付与されている場合) 、認可情報の一部をユーザーのプロファイルに保存すると便利です。これにより、トークンに保存する情報量を減らせるため、パフォーマンスに関する問題や、トークン発行に関する問題が発生しにくくなります。永続化 とは、グループ、ロール、権限の情報をユーザーのプロファイルに保存する処理のことです。 データはユーザーのapp_metadata フィールドに保存され、ユーザーのログイン後に または Auth0 Dashboard を使用してこの情報を取得できます。
