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

# エージェントとクライアントを関連付ける

> 1つ以上のクライアントをエージェントに関連付けると、それらのクライアントに発行されるトークンにエージェントのアイデンティティが含まれ、帰属の特定とトレーサビリティを確保できます。

> [!WARNING]
>
> **Agent as Principal機能は現在、です。**

[Auth0でファーストクラスのアイデンティティとして登録](https://auth0.com/docs/ja-jp/ai-agents-mcp/agent-as-principal/register-an-agent.md)すれば、エージェントを任意のOAuthクライアントに関連付けることができます。1つのエージェントを複数のクライアントに関連付けることも可能です。これは、環境別やリージョン別に分けたクライアントなど、複数のクライアントをまたいでトークンやログに単一の`agent_id`が表示される、1つの論理的なエージェントアイデンティティを持たせたい場合に便利です。

`agent_id`はクライアントオブジェクトに保存され、関連付けは動的に管理されます。

エージェントをクライアントに関連付けると、そのクライアントに発行されるトークンには、クライアントクレデンシャルグラントの場合はサブジェクト (`sub`) として、トークン交換や標準のログインフローの場合はアクター (`act`) として、エージェントのアイデンティティが含まれます。詳しくは、[トークン内のエージェントアイデンティティ](https://auth0.com/docs/ja-jp/ai-agents-mcp/agent-as-principal/agent-identity-in-tokens.md)をお読みください。

`external_agent_id`を設定しているかどうかにかかわらず、Management APIを通じてエージェントを管理する際に使用される識別子は、内部の`agent_id`のままです。

## 作成時にクライアントを関連付ける

`POST /api/v2/clients` でクライアントを作成するときに `agent_id` を設定します。

> [tab] Auth0 CLI
>
> Auth0 CLIをお使いですか？まだの場合は、このコマンドを実行する前に[CLIセッションのセットアップと認証](https://auth0.com/docs/ja-jp/deploy-monitor/auth0-cli.md)を行ってください。
>
> ```bash theme={null}
> auth0 api post "clients" \
>   --data '{
>     "name": "My AI Client",
>     "agent_id": "YOUR_AGENT_ID"
>   }'
> ```

> [tab] cURL
>
> ```bash theme={null}
> curl --request POST \
>   --url 'https://YOUR_AUTH0_DOMAIN/api/v2/clients' \
>   --header 'Content-Type: application/json' \
>   --header 'Authorization: Bearer YOUR_MGMT_API_TOKEN' \
>   --data '{
>     "name": "My AI Client",
>     "agent_id": "YOUR_AGENT_ID"
>   }'
> ```

成功すると、設定した `agent_id` を含むクライアントオブジェクトがAuth0から返されます。

## エージェントに関連付けられたクライアントを取得する

`agent_id`をクライアントに関連付けたら、`/api/v2/clients/{id}`に`GET`リクエストを送信してクライアントオブジェクトを取得します。

> [tab] Auth0 CLI
>
> ```bash theme={null}
> auth0 api get "clients/YOUR_CLIENT_ID"
> ```

> [tab] cURL
>
> ```bash theme={null}
> curl --request GET \
>   --url 'https://YOUR_AUTH0_DOMAIN/api/v2/clients/YOUR_CLIENT_ID' \
>   --header 'Authorization: Bearer YOUR_MGMT_API_TOKEN'
> ```

成功すると、Auth0は設定した`agent_id`を含むクライアントオブジェクトを返します。

## 既存のクライアントを関連付ける

既存のクライアントは、Auth0 DashboardまたはManagement APIを使って関連付けられます。

> [tab] Auth0 Dashboard
>
> 1. **Dashboard > Agents**に移動してエージェントを選択し、エージェントの**Applications**タブを開きます。
> 2. **Add Application**を選択し、モーダルでエージェントに関連付けるアプリケーションを選択します。複数のアプリケーションを選択できます。
> 3. **Add Applications**を選択します。
>
> 追加に成功すると、そのエージェントの**Applications**タブにアプリケーションが表示されます。

> [tab] Management API
>
> `PATCH /api/v2/clients/{id}`を使って、既存のクライアントをエージェントに関連付けます。
>
> > [tab] Auth0 CLI
> >
> > ```bash theme={null}
> > auth0 api patch "clients/YOUR_CLIENT_ID" \
> >   --data '{
> >     "agent_id": "YOUR_AGENT_ID"
> >   }'
> > ```
>
> > [tab] cURL
> >
> > ```bash theme={null}
> > curl --request PATCH \
> >   --url 'https://YOUR_AUTH0_DOMAIN/api/v2/clients/YOUR_CLIENT_ID' \
> >   --header 'Content-Type: application/json' \
> >   --header 'Authorization: Bearer YOUR_MGMT_API_TOKEN' \
> >   --data '{
> >     "agent_id": "YOUR_AGENT_ID"
> >   }'
> > ```
>
> 成功すると、Auth0は設定した`agent_id`を含む更新後のクライアントオブジェクトを返します。

## エージェントの関連付けを解除する

クライアントとエージェントの関連付けを解除するには、`PATCH /api/v2/clients/{id}` で `agent_id` を `null` に設定します。

> [tab] Auth0 CLI
>
> ```bash theme={null}
> auth0 api patch "clients/YOUR_CLIENT_ID" \
>   --data '{
>     "agent_id": null
>   }'
> ```

> [tab] cURL
>
> ```bash theme={null}
> curl --request PATCH \
>   --url 'https://YOUR_AUTH0_DOMAIN/api/v2/clients/YOUR_CLIENT_ID' \
>   --header 'Content-Type: application/json' \
>   --header 'Authorization: Bearer YOUR_MGMT_API_TOKEN' \
>   --data '{
>     "agent_id": null
>   }'
> ```

関連付けを解除すると、以降そのクライアントに発行されるトークンにはエージェントのアイデンティティが含まれなくなります。既存のトークンは有効期限が切れるまで有効です。

## 次のステップ

* Auth0 が[エージェントアイデンティティ をトークンに埋め込む仕組み](https://auth0.com/docs/ja-jp/ai-agents-mcp/agent-as-principal/agent-identity-in-tokens.md)について学ぶ
