Agent Registry では、バインディングは、ソース エージェントとターゲット リソース(別のエージェント、MCP サーバー、エンドポイントなど)間の接続を表します。バインディングを作成すると、オーケストレーター エージェントがダウンストリーム機能とやり取りできる明示的な関係が確立されます。
バインディングは、次の 2 つのシナリオを処理するために使用します。
- リソース接続: ソース エージェントをターゲット リソース(別のエージェント、MCP サーバー、エンドポイントなど)にリンクできます。このシナリオでは、プライマリ オーケストレーターがタスクを専門のサブエージェントまたはツールに委任するマルチエージェント ワークフローをマッピングできます。
- 委任された権限: エージェントを認証プロバイダに関連付けて、エージェントが独自の認証情報を使用して、または個々のユーザーに代わって外部ターゲットやカスタムツールに接続できるようにします。このバインディングは、エージェントが OAuth トークンまたは API キーを使用してリモート MCP サーバーまたはツールに対して認証を行う必要がある場合に必要です。バインディングを使用すると、コードで認証プロバイダを手動で定義する必要がなくなります。詳細な手順については、このドキュメントの認証プロバイダ バインディングを作成するをご覧ください。
このドキュメントでは、エージェント レジストリでバインディングを作成、表示、更新、削除する方法について説明します。
始める前に
バインディングを管理する前に、次の操作を行います。
- エージェント レジストリを設定する。
- 移行元コンポーネントと移行先コンポーネントを登録します。詳細については、エージェント コンポーネントを登録するをご覧ください。
- 委任された権限のバインディングを構成する場合は、エージェント ID 認証マネージャーを使用して認証プロバイダを作成します。詳細については、ツールとリソースに対して認証するをご覧ください。
- このドキュメントの Google Cloud CLI コマンドを使用するには、gcloud CLI 環境を設定していることを確認してください。
必要なロール
Agent Registry でバインディングを管理するために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
-
バインディングの作成、更新、削除: Agent Registry API 管理者 (
roles/agentregistry.admin) -
バインディングを表示する: Agent Registry API 閲覧者 (
roles/agentregistry.viewer)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
バインディングを作成する
移行元エージェントを移行先リソースに接続するバインディングを作成します。
gcloud
gcloud agent-registry bindings create BINDING_NAME \
--project=PROJECT_ID \
--location=REGION \
--display-name="DISPLAY_NAME" \
--source-identifier="SOURCE_ID" \
--target-identifier="TARGET_ID"
次のように置き換えます。
BINDING_NAME: バインディングに付ける名前(例:my-custom-binding)。PROJECT_ID: プロジェクト ID。REGION: レジストリ リージョン。DISPLAY_NAME: バインディングに付ける人が読める名前(例:My Custom Binding)。SOURCE_ID: Uniform Resource Name(URN)形式の送信元エージェントの識別子。TARGET_ID: ターゲット リソースの識別子(URN 形式)。MCP サーバー識別子など。
Terraform
ソース エージェントとターゲット リソース間のバインディングを作成するには、google_agent_registry_binding リソースを構成します。バインディングには target ブロックが必要です。
resource "google_agent_registry_binding" "agent_binding" {
location = "REGION"
binding_id = "BINDING_NAME"
display_name = "DISPLAY_NAME"
description = "Connects a source agent to a target resource."
source {
identifier = "urn:agent:my-publisher:my-namespace:SOURCE_AGENT_NAME"
}
target {
identifier = "urn:mcp:my-publisher:my-namespace:TARGET_RESOURCE_NAME"
}
}
次のように置き換えます。
REGION: レジストリ リージョン。BINDING_NAME: バインディングに付ける一意の名前。DISPLAY_NAME: 人が読める形式のバインディング名。SOURCE_AGENT_NAME: ソース エージェントの名前。TARGET_RESOURCE_NAME: ターゲット リソースの名前(MCP サーバーやエンドポイントなど)。
認証プロバイダ バインディングを作成する
委任された権限に対して、エージェントを認証プロバイダに関連付けることができます。このバインディングを作成する前に、エージェント ID 認証マネージャーを使用して認証プロバイダを作成する必要があります。詳細については、ツールとリソースに対して認証するをご覧ください。
--auth-provider リソース名を指定する場合は、プロジェクト ID を使用する必要があります。
gcloud
gcloud agent-registry bindings create BINDING_NAME \
--project=PROJECT_ID \
--location=REGION \
--display-name="DISPLAY_NAME" \
--source-identifier="SOURCE_ID" \
--auth-provider="projects/PROJECT_ID/locations/REGION/connectors/AUTH_PROVIDER_ID"
AUTH_PROVIDER_ID は、認証プロバイダの ID に置き換えます。
Terraform
Terraform で認証プロバイダ バインディングを構成するには、コネクタ認証プロバイダの完全なリソースパス、スコープ、継続 URI を指定して auth_provider_binding ブロックを指定します。
resource "google_agent_registry_binding" "auth_binding" {
location = "REGION"
binding_id = "BINDING_NAME"
display_name = "DISPLAY_NAME"
source {
identifier = "urn:agent:my-publisher:my-namespace:SOURCE_AGENT_NAME"
}
target {
identifier = "urn:mcp:my-publisher:my-namespace:TARGET_RESOURCE_NAME"
}
auth_provider_binding {
auth_provider = "projects/PROJECT_ID/locations/REGION/connectors/AUTH_PROVIDER_ID"
scopes = [SCOPES]
continue_uri = "CONTINUE_URI"
}
}
次のように置き換えます。
REGION: レジストリ リージョン。BINDING_NAME: バインディングに付ける一意の名前。DISPLAY_NAME: 人が読める形式のバインディング名。SOURCE_AGENT_NAME: ソース エージェントの名前。TARGET_RESOURCE_NAME: ターゲット リソースの名前(MCP サーバーやエンドポイントなど)。PROJECT_ID: プロジェクト ID。AUTH_PROVIDER_ID: コネクタ認証プロバイダの ID。SCOPES: OAuth2 スコープのカンマ区切りのリスト(例:"https://www.googleapis.com/auth/cloud-platform")。CONTINUE_URI: 認証プロバイダの継続 URI(https://example.com/continueなど)。
エージェント コードでこれらのバインディングを使用する方法の例については、Agent Development Kit(ADK)コードでバインディングを解決するをご覧ください。
バインディングの一覧表示
特定のロケーションのすべてのバインディングを一覧表示します。
gcloud agent-registry bindings list \
--project=PROJECT_ID \
--location=REGION
バインディングの詳細を表示する
単一のバインディングの詳細を取得します。
gcloud agent-registry bindings describe BINDING_NAME \
--project=PROJECT_ID \
--location=REGION
バインディングを更新する
gcloud CLI フラグを使用して、既存のバインディングのパラメータ(表示名や説明など)を更新します。
gcloud
gcloud agent-registry bindings update BINDING_NAME \
--project=PROJECT_ID \
--location=REGION \
--display-name="NEW_DISPLAY_NAME"
Terraform
Terraform を使用してバインディングの表示名または説明を更新するには、構成内の既存の google_agent_registry_binding リソースを変更して terraform apply を実行します。
バインディングを削除する
リソース間の接続を削除するには、バインディング レコードを削除します。
gcloud
gcloud agent-registry bindings delete BINDING_NAME \
--project=PROJECT_ID \
--location=REGION
Terraform
バインディングを表す google_agent_registry_binding リソースを Terraform 構成から削除し、terraform apply を実行します。
次のステップ
- 認証プロバイダ バインディングを使用してツールとリソースに対して認証する方法を学習する。
- ADK を使用してエンドポイントを解決し、オーケストレーターを構築する方法を学習します。