Agent Registry のバインディングを使用すると、オーケストレーター エージェントは、コードに接続や認証の詳細をハードコードすることなく、ダウンストリーム エージェント、MCP サーバー、エンドポイントに接続できます。Agent Registry でバインディングを作成、表示、更新、削除して、リソース接続と委任された権限を管理できます。
始める前に
- Agent Registry を設定する。
単一プロジェクトの設定の場合は、Agent Registry が有効になっているガバナンス プロジェクトのプロジェクト ID を取得します。複数のプロジェクトに管理境界を構成した場合は、境界全体の検出と登録に管理プロジェクトの ID を使用するか、単一プロジェクトのオペレーションにメンバー プロジェクト ID を指定します。
ソース コンポーネントとターゲット コンポーネントを登録します。詳細については、登録モデルをご覧ください。
委任された権限のバインディングを構成する場合は、Agent Identity Auth Manager を使用して認証プロバイダを作成します。詳細については、ツールとリソースに対して認証するをご覧ください。
このドキュメントの Google Cloud CLI コマンドを使用するには、gcloud CLI 環境を設定します。
必要なロール
Agent Registry でバインディングを管理するために必要な権限を取得するには、Agent Registry が有効になっているガバナンス プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
-
バインディングの作成、更新、削除: Agent Registry API 管理者(
roles/agentregistry.admin) -
バインディングを表示する: Agent Registry API 閲覧者(
roles/agentregistry.viewer)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
バインディングのシナリオ
バインディングを使用してリソースを接続し、権限を委任できます。たとえば、次のシナリオでバインディングを使用できます。
- リソース接続: ソース エージェントをターゲット リソース(別のエージェント、MCP サーバー、エンドポイントなど)にリンクします。このシナリオでは、プライマリ オーケストレーターがタスクを専門のサブエージェントまたはツールに委任するマルチエージェント ワークフローをマッピングできます。
- 委任された権限: エージェントを認証プロバイダに関連付けて、エージェントが独自の認証情報を使用して、または個々のユーザーに代わって、外部ターゲットまたはカスタムツールに接続できるようにします。このバインディングは、エージェントが OAuth トークンまたは API キーを使用してリモート MCP サーバーまたはツールを認証する必要がある場合に必要です。バインディングを使用すると、コード内で認証プロバイダを手動で定義する必要がなくなります。詳細な手順については、このドキュメントの認証プロバイダ バインディングを作成するをご覧ください。
バインディングは、サポート対象の地域ロケーション、サポートされているマルチリージョン、または global ロケーションで作成して管理できます。サポートされているロケーションの詳細については、Agent Registry のロケーションをご覧ください。
バインディングを作成する
ソース エージェントをターゲット リソースに接続するバインディングを作成します。
gcloud
gcloud agent-registry bindings create コマンドを実行します。
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 = "SOURCE_ID"
}
target {
identifier = "TARGET_ID"
}
}
次のように置き換えます。
認証プロバイダ バインディングを作成する
委任された権限の認証プロバイダにエージェントを関連付けることができます。このバインディングを作成する前に、認証マネージャーで認証プロバイダを作成する必要があります。詳細については、ツールとリソースに対して認証するをご覧ください。
--auth-provider-binding リソース名を指定する場合は、プロジェクト ID を使用する必要があります。
gcloud
--auth-provider-binding フラグを指定して gcloud agent-registry bindings create コマンドを実行します。
gcloud agent-registry bindings create BINDING_NAME \
--project=PROJECT_ID \
--location=REGION \
--display-name="DISPLAY_NAME" \
--source-identifier="SOURCE_ID" \
--target-identifier="TARGET_ID" \
--auth-provider-binding="projects/PROJECT_ID/locations/REGION/authProviders/AUTH_PROVIDER_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 = "SOURCE_ID"
}
target {
identifier = "TARGET_ID"
}
auth_provider_binding {
auth_provider = "projects/PROJECT_ID/locations/REGION/authProviders/AUTH_PROVIDER_ID"
scopes = [SCOPES]
continue_uri = "CONTINUE_URI"
}
}
次のように置き換えます。
REGION: レジストリ リージョン。BINDING_NAME: バインディングに付ける一意の名前。DISPLAY_NAME: 人が読める形式のバインディング名。SOURCE_ID: ソース エージェントの エージェント識別子(URN 形式)。TARGET_ID: ターゲット リソースの レジストリ ID(URN 形式)。PROJECT_ID: プロジェクト ID。AUTH_PROVIDER_ID: 認証プロバイダの ID。SCOPES: OAuth 2.0 スコープのカンマ区切りのリスト(例:"https://www.googleapis.com/auth/cloud-platform")。CONTINUE_URI: 認証プロバイダの続行 URI(例:https://example.com/continue)。
エージェント コードでこれらのバインディングを使用する方法の例については、Agent Development Kit(ADK)コードでバインディングを解決するをご覧ください。
バインディングの一覧表示
gcloud agent-registry bindings list コマンドを実行して、特定のロケーションのすべてのバインディングを一覧表示します。
gcloud agent-registry bindings list \
--project=PROJECT_ID \
--location=REGION
次のように置き換えます。
PROJECT_ID: プロジェクト ID。REGION: レジストリ リージョン。
バインディングの詳細を表示する
gcloud agent-registry bindings describe コマンドを実行して、1 つのバインディングの詳細を取得します。
gcloud agent-registry bindings describe BINDING_NAME \
--project=PROJECT_ID \
--location=REGION
次のように置き換えます。
BINDING_NAME: バインディングの名前。PROJECT_ID: プロジェクト ID。REGION: レジストリ リージョン。
バインディングを更新する
既存のバインディングのパラメータ(表示名や説明など)を更新します。
gcloud
gcloud agent-registry bindings update コマンドを実行します。
gcloud agent-registry bindings update BINDING_NAME \
--project=PROJECT_ID \
--location=REGION \
--display-name="NEW_DISPLAY_NAME"
次のように置き換えます。
BINDING_NAME: 更新するバインディングの名前。PROJECT_ID: プロジェクト ID。REGION: レジストリ リージョン。NEW_DISPLAY_NAME: バインディングの新しい人が読める形式の名前。
Terraform
Terraform を使用してバインディングの表示名または説明を更新するには、構成内の既存の google_agent_registry_binding リソースを変更して terraform apply を実行します。
バインディングを削除する
リソース間の接続を削除するには、バインディングを削除します。
gcloud
gcloud agent-registry bindings delete コマンドを実行します。
gcloud agent-registry bindings delete BINDING_NAME \
--project=PROJECT_ID \
--location=REGION
次のように置き換えます。
BINDING_NAME: 削除するバインディングの名前。PROJECT_ID: プロジェクト ID。REGION: レジストリ リージョン。
Terraform
Terraform 構成からバインディングを表す google_agent_registry_binding リソースを削除し、terraform apply を実行します。
次のステップ
- 認証プロバイダ バインディングを使用してツールとリソースを認証する方法を学習する。
- ADK を使用してエンドポイントを解決し、オーケストレーターを構築する方法を学習する。