在 Agent Registry 中,繫結代表來源代理與目標資源之間的連線,例如另一個代理、MCP 伺服器或端點。建立繫結後,您就能建立明確關係,讓協調器代理與下游功能互動。
您可以使用繫結處理兩種情境:
- 資源連線:您可以將來源代理連結至目標資源,例如其他代理、MCP 伺服器或端點。這個情境可讓您繪製多代理工作流程,其中主要調度員會將工作委派給專用子代理或工具。
- 委派權限:您可以將代理與驗證供應商建立關聯,讓代理使用自己的憑證或代表個別使用者,連線至外部目標或自訂工具。如果代理需要使用 OAuth 權杖或 API 金鑰,向遠端 MCP 伺服器或工具進行驗證,就必須進行這項繫結。有了繫結,您就不必在程式碼中手動定義驗證供應商。如需詳細操作說明,請參閱本文的「建立授權提供者繫結」。
本文說明如何在 Agent Registry 中建立、查看、更新及刪除繫結。
事前準備
如要管理繫結,請先完成下列步驟:
- 設定 Agent Registry。
- 註冊來源和目標元件。詳情請參閱「註冊代理程式元件」。
- 如要設定委派權限的繫結,請使用 Agent Identity 授權管理員建立授權提供者。詳情請參閱「向工具和資源進行驗證」。
- 如要在本文中使用 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:來源代理程式的識別碼,格式為統一資源名稱 (URN)。TARGET_ID:目標資源的 ID,格式為 URN,例如 MCP 伺服器 ID。
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 伺服器或端點。
建立驗證供應商繫結
您可以將代理程式與授權供應器建立關聯,以取得委派權限。建立這項繫結前,您必須先使用代理程式身分驗證管理員建立驗證供應商。詳情請參閱「向工具和資源進行驗證」。
指定 --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 中設定授權供應器繫結,請指定 auth_provider_binding 區塊,其中包含連接器授權供應器的完整資源路徑,以及其範圍和繼續 URI:
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
從 Terraform 設定中移除代表繫結的 google_agent_registry_binding 資源,然後執行 terraform apply。
後續步驟
- 瞭解如何使用授權提供者繫結,向工具和資源進行驗證。
- 瞭解如何使用 ADK 解析端點及建構協調器。