> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Delegated Administration Extension (DAE) を使用して、Auth0 Dashboard の他の部分へのアクセスを許可せずに、選ばれたユーザーグループに Auth0 Dashboard の Users セクションを公開する方法について説明します。

# Delegated Administration Extension v3

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Auth0 では、組織内の他のユーザーや管理者にテナントの利用権限を割り当てるには、Tenant Members の設定を使用することを推奨しています。詳しくは、[Dashboard Access](/docs/ja-jp/get-started/manage-dashboard-access) をご覧ください。
</Callout>

Delegated Administration Extension (DAE) を使用すると、他の領域へのアクセスを許可することなく、限られたユーザーグループに管理権限を付与できます。

<div id="configure-the-dae">
  ## DAE を設定する
</div>

DAE を設定するには、以下の手順を実行する必要があります。

1. [Auth0 にアプリケーションを登録する](#register-the-application-with-auth0)
2. [データベース接続を作成する](#create-a-database-connection)
3. [Auth0 アプリケーションの他のすべての接続を無効にする](#disable-all-other-connections-for-the-auth0-application)
4. [データベース接続用のユーザーを作成する](#create-user-for-the-database-connection)
5. [ユーザーにロールを割り当てる](#assign-roles-to-users)
6. [拡張機能をインストールして設定する](#install-and-configure-the-extension)
7. [拡張機能を使用する](#use-the-extension)

<div id="register-the-application-with-auth0">
  ### Auth0 にアプリケーションを登録する
</div>

Users ページの管理者権限を付与するユーザー向けに Delegated Administration Extension が公開する Application を作成します。これを行うには、Auth0 で[delegated admin application を作成](/docs/ja-jp/customize/extensions/delegated-administration-extension/create-delegated-admin-applications)します。

完了したら、そのアプリケーションの **<Tooltip tip="Client ID: Auth0 から登録済みリソースに付与される識別値。" cta="用語集を見る" href="/docs/ja-jp/glossary?term=Client+ID">Client ID</Tooltip>** を控えておきます。

<div id="create-a-database-connection">
  ### データベース接続を作成する
</div>

この例では、Users エリアへのアクセスを許可するユーザー ソースとしてデータベース接続を使用します。設定するには、[データベース接続を作成](/docs/ja-jp/get-started/applications/set-up-database-connections)します。

接続を設定する際は、次の点に注意してください。

* `HelpDesk` のような適切な接続名を使用します。
* **Disable Sign Ups** トグルを有効にします。これにより、セキュリティ上、データベース接続へのリンクを知っているユーザーであっても、自分でサインアップできないようにできます。

<div id="disable-all-other-connections-for-the-auth0-application">
  ### Auth0アプリケーションの他のすべての接続を無効にする
</div>

デフォルトでは、新しいアプリケーションを作成すると、Auth0 はテナントに関連付けられているすべての接続を有効にします。この例では、新しく作成したデータベース接続以外の接続をすべて無効にしてください。こうすることで、既存の接続のいずれかを使って第三者が自分を追加するのを防ぎ、アプリケーションの安全性を保つことができます。

設定方法については、[アプリケーション接続の更新](/docs/ja-jp/get-started/applications/update-application-connections)を参照してください。

<div id="create-users-for-the-database-connection">
  ### データベース接続用のユーザーを作成する
</div>

続行するには、[少なくとも1人のユーザーを作成し](/docs/ja-jp/manage-users/user-accounts/create-users)、そのユーザーを接続に割り当てる必要があります。

<div id="assign-roles-to-users">
  ### ユーザーにロールを割り当てる
</div>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  [Delegated Administration Extension (DAE)](/docs/ja-jp/customize/extensions/delegated-administration-extension) と [Authorization Core](/docs/ja-jp/manage-users/access-control/rbac) は完全に別の機能ですが、Actions を使うことで、Authorization Core の機能セットを利用して DAE 用のロールを作成および管理できます。詳しくは、[サンプルユースケース: Authorization と Actions](/docs/ja-jp/manage-users/access-control/sample-use-cases-actions-with-authorization) を参照してください。
</Callout>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Organizations で Delegated Administration Extension (DAE) を使用してユーザーとしてログインした場合、ユーザーロールは利用できません。`event.authorization.roles.` で利用できるのは、Organization メンバーのロールのみです。Organization メンバーにロールを追加するには、[Organization メンバーにロールを追加する](/docs/ja-jp/manage-users/organizations/configure-organizations/add-member-roles) を参照してください。
</Callout>

Auth0 は、コネクションに関連付けられたユーザーに対し、そのロールに基づいて Delegated Administration Extension (DAE) へのアクセスを付与します。以下は DAE 固有のロールです。

| このロール...                          | 付与される権限...                                                               |
| --------------------------------- | ------------------------------------------------------------------------ |
| `Delegated Admin - User`          | ユーザーの検索、作成、ユーザー詳細の表示、およびユーザーに対するアクションの実行 (削除やブロックなど) 。                   |
| `Delegated Admin - Administrator` | Delegated Admin - User にできることをすべて実行できるほか、テナント内のすべてのログを表示し、Hooks を設定できます。 |
| `Delegated Admin - Auditor`       | ユーザーの検索とユーザー情報の表示はできますが、変更はできません。アクションベースのボタンはこのロールには表示されません。            |
| `Delegated Admin - Operator`      | ユーザー管理とログにはアクセスできますが、拡張機能の設定セクションにはアクセスできません。                            |

ロールを扱う場合は、[Authorization Core](/docs/ja-jp/manage-users/access-control/rbac) 機能セットの使用を推奨します。

1. [DAE ロールを作成する](/docs/ja-jp/manage-users/access-control/configure-core-rbac/roles/create-roles)。作成するロール名は、上記の事前定義済み DAE ロール名と一致している必要があります。
2. [DAE ロールを手動でユーザーに割り当てる](/docs/ja-jp/manage-users/access-control/configure-core-rbac/rbac-users/assign-roles-to-users)。
3. [Actions](/docs/ja-jp/customize/actions) を使用して、ID Token の DAE 名前空間にユーザーロールを追加します\*\*:\*\*

   ```text lines theme={null}
   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 を作成する](/docs/ja-jp/customize/actions/write-your-first-action) を参照してください。

<Warning>
  Auth0 は、[OpenID Connect (OIDC) specification](https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims) で定義されている構造化されたクレーム形式でプロフィール情報を返します。つまり、ID トークンまたはアクセストークンに追加するカスタムクレームは、衝突の可能性を避けるため、[ガイドラインと制限に従う](/docs/ja-jp/secure/tokens/json-web-tokens/create-custom-claims)必要があります。
</Warning>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Authorization Core を使用すると、ロールは `context.authorization` オブジェクト内で定義されます。

  Authorization Core を使用しない場合は、ユーザープロフィールの次のいずれかのフィールドで DAE ロールを定義する必要があります。

  * `user.app_metadata.roles`
  * `user.app_metadata.authorization.roles`
</Callout>

<div id="install-and-configure-the-extension">
  ## 拡張機能をインストールして設定する
</div>

アプリケーション、接続、ユーザーの作成と設定が完了したので、次は[Delegated Admin Extension をインストールして設定します](/docs/ja-jp/customize/extensions/delegated-administration-extension/install-delegated-admin-extension)。

<div id="use-the-extension">
  ## 拡張機能を使う
</div>

インストールが完了したら、Delegated Admin Extension を使用できます。

お使いのリージョンとテナントの Extensibility Runtime に対応するログインリンクから、拡張機能にアクセスします。

| 場所      | 名前   | ログインリンク                                                     |
| ------- | ---- | ----------------------------------------------------------- |
| オーストラリア | AU   | `https://{yourTenant}.au.webtask.io/auth0-delegated-admin`  |
| ヨーロッパ   | EU   | `https://{yourTenant}.eu.webtask.io/auth0-delegated-admin`  |
| ヨーロッパ   | EU-2 | `https://{yourTenant}.eu.webtask.run/auth0-delegated-admin` |
| 日本      | JP-1 | `https://{yourTenant}.jp.webtask.run/auth0-delegated-admin` |
| 英国      | UK   | `https://{yourTenant}.uk.webtask.run/auth0-delegated-admin` |
| 米国      | US-1 | `https://{yourTenant}.us.webtask.io/auth0-delegated-admin`  |
| 米国      | US-3 | `https://{yourTenant}.us.webtask.run/auth0-delegated-admin` |

新しいタブが開き、ログイン画面が表示されます。

(この例では) 設定時にデータベース接続のサインアップを無効にしているため、ログイン画面には **Sign Up** オプションは表示されません。
有効な認証情報を入力すると、Auth0 によってカスタムの **Delegated Administration Dashboard** ページに移動します。このページには、上部に指定した **Title** と、 (カスタム CSS ファイルを指定している場合は) そのデザインが表示されます。

<Card title="Delegated Administration セッションのタイムアウト">
  デフォルトでは、トークンの有効期限は 10 時間です。ただし、セキュリティ上の理由から、Delegated Administration の使用時に Auth0 がトークンを Cookie や `sessionStorage` に保存することはありません。ページを再読み込みするたびに、新しいセッションを開始する必要があります。
</Card>

<div id="learn-more">
  ## 詳しく見る
</div>

* [Delegated Administration: 拡張フック](/docs/ja-jp/customize/extensions/delegated-administration-extension/delegated-administration-hooks)
* [Delegated Administration: ユーザー管理](/docs/ja-jp/customize/extensions/delegated-administration-extension/delegated-administration-manage-users)
