メインコンテンツへスキップ
Auth0 では、組織内の他のユーザーや管理者にテナントの利用権限を設定するには、Tenant Members の設定を使用することを推奨しています。詳しくは、Dashboard Access をご覧ください。
Delegated Administration Extension (DAE) を使用すると、他の領域へのアクセスを許可することなく、限られたユーザーグループに管理権限を付与できます。

DAE を設定する

DAE を設定するには、次の手順を実行します。
  1. アプリケーションを Auth0 に登録する
  2. データベース接続を作成する
  3. Auth0 アプリケーションの他のすべての接続を無効にする
  4. データベース接続用のユーザーを作成する
  5. ユーザーにロールを割り当てる
  6. 拡張機能をインストールして設定する
  7. 拡張機能を使用する

アプリケーションをAuth0に登録する

Users ページの管理者権限を持つユーザー向けに Delegated Administration Extension が公開する Application を作成します。これを行うには、Auth0 で委任管理アプリケーションを作成します。 完了したら、そのアプリケーションの を控えておいてください。

データベース接続を作成する

この例では、Users エリアへのアクセスを許可されたユーザーのソースとして、データベース接続を使用します。これを設定するには、データベース接続を作成します 接続の設定時には、次の点に注意してください。
  • HelpDesk など、適切な接続名を使用します。
  • Disable Sign Ups トグルを有効にします。セキュリティ上の理由から、これにより、データベース接続へのリンクを知っているユーザーでも、自分でサインアップできないようにします。

Auth0 アプリケーションの他のすべての接続を無効にする

デフォルトでは、新しい Application を作成すると、Auth0 はそのテナントに関連付けられているすべての接続を有効にします。この例では、新しく作成したデータベース接続以外の接続はすべて無効にしてください。こうすることで、既存の接続を使って第三者が自分で追加されることを防ぎ、アプリケーションのセキュリティ向上につながります。 設定方法については、アプリケーション接続を更新する を参照してください。

データベース接続用のユーザーを作成する

続行するには、少なくとも1人のユーザーを作成し、そのユーザーを接続に追加する必要があります。

ユーザーにロールを割り当てる

Delegated Administration Extension (DAE)Authorization Core は完全に別の機能ですが、Authorization Core の機能セットを使うことで、Actions によって DAE 用のロールを作成および管理できます。詳しくは、サンプルユースケース: Authorization と Actions をご覧ください。
Organizations と Delegated Administration Extension (DAE) を使用してユーザーとしてログインした場合、ユーザーロールは利用できません。event.authorization.roles. 内で利用できるのは、Organization メンバーロールのみです。Organization メンバーにロールを追加する方法については、Organization メンバーにロールを追加する をご覧ください。
Auth0 は、接続に関連付けられたユーザーに対し、そのロールに基づいて Delegated Administration Extension (DAE) へのアクセスを付与します。以下は DAE 固有のロールです。
このロール…付与される権限…
Delegated Admin - Userユーザーの検索、作成、表示、およびユーザーに対するアクション (削除やブロックなど) の実行。
Delegated Admin - AdministratorDelegated Admin - User ができることをすべて実行でき、さらにテナント内のすべてのログの閲覧と Hooks の設定が可能。
Delegated Admin - Auditorユーザーの検索とユーザー情報の閲覧は可能ですが、変更はできません。アクションベースのボタンはこのロールには表示されません。
Delegated Admin - Operatorユーザー管理とログにはアクセスできますが、拡張機能の設定セクションにはアクセスできません。
ロールを扱う際は、Authorization Core の機能セットを使用することをおすすめします。
  1. DAE ロールを作成する。作成するロール名は、上記の事前定義された DAE ロール名と一致している必要があります。
  2. DAE ロールを手動でユーザーに割り当てる
  3. Actions を使用して、ID トークン内の DAE 名前空間にユーザーロールを追加します**:**
    exports.onExecutePostLogin = async (event, api) => {
      const namespace = `https://{yourTenant}/auth0-delegated-admin`;
      if (event.client.client_id === 'CLIENT_ID' && event.authorization) {
        api.idToken.setCustomClaim(namespace, { "roles": event.authorization.roles });
      }
    };
    
CLIENT_ID プレースホルダーは delegated admin アプリケーションの Client ID に、{yourTenant} はテナント名に置き換えてください。たとえば、テナント名が “tenant_name_example” の場合、名前空間は次のようになります: https://tenant_name_example/auth0-delegated-admin Actions の作成方法について詳しくは、初めての Action を作成する をご覧ください。
Auth0 は、OpenID Connect (OIDC) specification で定義されている構造化クレーム形式でプロフィール情報を返します。つまり、衝突の可能性を避けるため、ID トークンまたはアクセストークンに追加するカスタムクレームは、ガイドラインと制限事項 に準拠している必要があります。
Authorization Core を使用すると、context.authorization オブジェクトにロールが定義されます。Authorization Core を使用しない場合は、ユーザープロフィールの次のいずれかのフィールドに DAE ロールを定義する必要があります。
  • user.app_metadata.roles
  • user.app_metadata.authorization.roles

拡張機能をインストールして設定する

アプリケーション、接続、ユーザーの作成と設定が完了したので、次は Delegated Admin Extension 自体をインストールして設定 します。

拡張機能を使用する

インストールが完了したら、Delegated Admin Extension を使用できます。 お使いのリージョンと、テナントの extensibility runtime に対応するログインリンクを使用して、拡張機能にアクセスします。
場所名前ログインリンク
AustraliaAUhttps://{yourTenant}.au.webtask.io/auth0-delegated-admin
EuropeEUhttps://{yourTenant}.eu.webtask.io/auth0-delegated-admin
EuropeEU-2https://{yourTenant}.eu.webtask.run/auth0-delegated-admin
JapanJP-1https://{yourTenant}.jp.webtask.run/auth0-delegated-admin
UKUKhttps://{yourTenant}.uk.webtask.run/auth0-delegated-admin
USAUS-1https://{yourTenant}.us.webtask.io/auth0-delegated-admin
USAUS-3https://{yourTenant}.us.webtask.run/auth0-delegated-admin
新しいタブが開き、ログイン画面が表示されます。 (この例では) 設定時にデータベース接続のサインアップを無効にしているため、ログイン画面には Sign Up オプションは表示されません。 有効な認証情報を入力すると、Auth0 によってカスタムの Delegated Administration Dashboard ページが表示されます。このページの上部には指定した Title が表示され、 (カスタム CSS ファイルを指定している場合は) そのデザインが反映されます。

Delegated Administration のセッションタイムアウト

デフォルトでは、トークンの有効期限は 10 時間です。ただし、セキュリティ上の理由から、Delegated Administration を使用する場合、Auth0 はトークンを Cookie や sessionStorage に保存しません。そのため、ページを再読み込みするたびに新しいセッションを開始する必要があります。

詳しく見る