メインコンテンツへスキップ
Auth0 では、ロールベースのアクセス制御 (RBAC) を実装する方法として 2 つの選択肢を提供しています。これらは、API 独自の内部アクセス制御システムの代替として、または併用して使用できます。Authorization Core の機能セットは Authorization Extension と同等の機能を備えており、パフォーマンスとスケーラビリティを向上させるとともに、Authorization Extension よりも柔軟な RBAC システムを提供します。現在、どちらも RBAC の主要機能を実装しており、API で定義したカスタムスコープを、ユーザーに権限として割り当てられているもののみに制限できます。
拡張機能で認可ロジックを適用できるようにするには、まずログイン トランザクション中の動作を設定する必要があります。設定内容は、実行時に動作する ルール に反映されます。

前提条件

Authorization Extensionをインストールする

拡張機能を設定する

  1. Auth0 Dashboard > Extensions に移動し、Auth0 Authorization を選択します。
  2. Authorization Dashboard の右上にある Configuration を選択します。
    Dashboard - Authorization Extension Dashboard - Configuration
  3. Configuration ページの Rule Configuration セクションが表示されます。グループ、ロール、権限に関する設定など、Token Contents 配下の各セクションで加えた変更はすべて、この手順の最後にエクスポートするルールに反映されます。
    Authorization Extension Configuration

ApiKey

このルールは、Authorization Extension API と通信してポリシーを取得するために ApiKey を使用します。ApiKey はルールの設定として保存され、ルールの公開時に自動的に作成されます。ApiKey をローテーションするには、Rotate ボタンをクリックします。ApiKey がローテーションされると、ルールの設定も自動的に更新されます。

発行されるトークンに認可情報を追加する

Auth0 が発行するトークンには、グループ、ロール、権限などの認可データを格納できます。アプリケーションはその後、トークンを確認してこの情報を利用し、ユーザーの現在の認可コンテキストに応じた適切な処理を実行できます。 発行されるトークンにグループ、ロール、権限の情報を追加するには、含める項目の横にあるスライダーを有効にします。
トークンに格納するデータが多すぎると、パフォーマンスの問題が発生したり、トークンを発行できなくなったりする可能性があります。必要なものだけを格納してください。すぐに利用できる大量のユーザーデータが必要な場合は、データをトークンに追加する代わりに永続化の使用を検討してください。

IdP から認可データをマージ

Active Directory など、使用している (IdP) からグループ、ロール、または権限を受け取るユーザーがいる場合があります。これらの項目を保持するために Authorization Extension で定義された項目とマージする場合は、該当する Passthrough オプションを必ず有効にしてください。有効にしたいマージに対応するスライダーをオンにします。

認可情報をユーザープロファイルに保存する

認可コンテキストが大きい場合 (たとえば、ユーザーが多数のグループに属していたり、多数の権限を付与されていたりする場合) は、認可情報の一部をユーザーのプロファイルに保存すると便利です。これにより、トークンに格納する情報量を減らせるため、パフォーマンスに関する問題や、トークン発行時の問題が発生しにくくなります。永続化とは、グループ、ロール、権限に関する情報をユーザーのプロファイルに保存することです。 データはユーザーの app_metadata フィールドに保存され、ユーザーがログインした後で、 または Dashboard を使用してこの情報を取得できます。
Authorization Extension - Configuration - Persistence

ルールの変更を保存する

ルールの設定が完了したら、Publish Rule をクリックします。これにより、ユーザーがログインするたびに実行されるルールがテナントに作成されます。

ルール を表示する

作成した ルール を確認するには、Auth0 Dashboard > Auth Pipeline > Rules に移動します。 ルール を開くと、設定内容を確認できます。

関連情報