在 Agent Registry 中,绑定表示来源智能体与目标资源(例如另一个智能体、 MCP 服务器或端点)之间的 连接。通过创建绑定,您可以建立显式关系,让编排器智能体与下游功能互动。
您可以使用绑定来处理以下两种情况:
- 资源连接: 您可以将来源智能体链接到目标资源,例如另一个智能体、MCP 服务器或端点。在这种情况下,您可以规划多智能体工作流,其中主编排器将任务委托给专门的子智能体或工具。
- 委托权限: 您可以将智能体与 身份验证提供方相关联,让智能体 使用自己的凭据或 代表个人用户连接到外部目标或自定义工具。如果智能体需要使用 OAuth 令牌或 API 密钥向远程 MCP 服务器或工具进行身份验证,则必须进行此绑定。通过绑定,您无需在代码中手动定义身份验证提供方。如需查看详细说明,请参阅本文档中的 创建身份验证提供方绑定。
本文档介绍了如何在 Agent Registry 中创建、查看、更新和删除绑定。
准备工作
如需管理绑定,请先完成以下操作:
- 设置 Agent Registry。
- 注册来源组件和目标组件。如需了解详情,请参阅 注册智能体组件。
- 如果您想为委托权限配置绑定,请使用 Agent Identity 身份验证管理器创建身份验证提供方。如需了解详情,请参阅 向工具和资源进行身份验证。
- 如需使用本文档中的 Google Cloud CLI 命令,请确保您 已设置 gcloud CLI 环境。
所需的角色
如需获得在 Agent Registry 中管理绑定所需的权限,请让管理员向您授予项目的以下 IAM 角色:
-
创建、更新和删除绑定:
Agent Registry API Admin (
roles/agentregistry.admin) -
查看绑定:
Agent Registry API Viewer (
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:目标资源的标识符 采用 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 服务器或端点。
创建身份验证提供方绑定
您可以将智能体与 身份验证提供方相关联,以获取委托 权限。在创建此绑定之前,您必须先创建 使用 Agent Identity 身份验证管理器的身份验证提供方。 如需了解详情,请参阅 向工具和资源进行身份验证。
指定 --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。
如需查看如何在智能体代码中使用这些绑定的示例,请参阅 在智能体开发套件 (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 解析端点和构建编排器 。