借助跨项目管理边界(或边界),您可以跨多个 Google Cloud 项目发现、管理和治理 AI 智能体、Model Context Protocol (MCP) 服务器和工具。默认情况下,Agent Registry 在单个治理项目中运行,但在 Resource Manager 中配置管理边界后,中央管理项目可以汇总分布式成员项目中的智能体、MCP 服务器和工具。了解管理边界如何构建项目角色、资源聚合和访问权限控制,有助于您设计可伸缩的多项目拓扑。
如需配置管理边界,请参阅为多个项目配置管理边界。
边界模型
您可以在 Resource Manager 中为文件夹或组织定义管理边界:
- 文件夹范围或组织范围的边界:默认情况下,如果您在文件夹或组织上创建边界而不配置标记过滤条件,则该边界会将该文件夹或组织中的所有子项目作为成员项目。
- 按标记过滤的边界(可选):您可以选择使用 Resource Manager 标记过滤边界成员资格,将文件夹或组织中的子项目划分为多个边界。例如,您可以分隔
prod和dev环境。您需要将标记附加到Google Cloud 要包含在每个边界中的项目。当文件夹或组织中的子项目具有与边界过滤条件匹配的标记时,该项目将成为管理边界的成员项目。
当您使用标记来划分管理边界时,标记具有以下优势:
- 动态、自动注册:云环境会频繁修改项目。当您使用已注册的标记值(例如
env=prod)为项目添加标记时,Agent Registry 会自动将该项目作为成员项目纳入边界,而无需手动更新边界定义。 - 与文件夹层次结构解耦:Resource Manager 文件夹结构通常是出于结算或业务目的而组织的。标记将边界定义与物理文件夹层次结构分离开来,让您可以在父级文件夹或组织中建立跨文件夹管理边界。
- 继承性和可伸缩性:应用于组织或文件夹的标记会自动沿资源层次结构向下传播到子文件夹和项目。通过此继承模型,您只需分配一个标签,即可让资源树的整个分支加入。
- 集中式治理:标记由集中式 Identity and Access Management (IAM) 权限进行治理。通过使用标记来定义管理边界,您可以防止个别用户任意在边界中添加或移除项目。
架构和关键资源
跨项目管理边界依赖于以下 Resource Manager 资源:
边界配置(
BoundaryConfig资源):Resource Manager 中组织或文件夹上的配置资源,用于在该文件夹或组织中建立边界分区规则。如果您未在BoundaryConfig资源上设置标记键,则组织或文件夹支持包含其所有子项目的单个边界。为了将子项目划分为多个按标记过滤的边界,BoundaryConfig资源会指定单个资源标记键(例如123456789012/env),用于评估该文件夹或组织中的项目成员资格。边界(
Boundary资源):组织或文件夹中成员项目的边界。如果没有标记过滤条件,边界将包含父级组织或文件夹中的所有子项目。在父级BoundaryConfig资源上配置标记键时,Boundary资源会指定标记值过滤条件(例如env=prod),继承或附加该标记值的子项目会自动属于该边界。由于父级的BoundaryConfig资源使用单个标记键,并且每个标记键只能有一个有效的标记值,因此每个父级文件夹或组织的项目最多只能属于一个边界。功能配置(
CapabilityConfig资源):在组织、文件夹或项目中定义的资源。在组织或文件夹级层,它会将一个或多个边界绑定到专用管理项目,并指定在这些边界内启用的管理功能。在项目级层,它可为单个独立项目启用管理功能,不受边界限制。对于 Agent Registry,您需要配置AGENT_MANAGEMENT(Google Cloud CLI:agent-management)功能,该功能可在 Agent Registry 中实现集中式组件发现、搜索汇总和跨项目治理,并自动在管理项目中启用agentregistry.googleapis.com。
如需详细了解这些 Resource Manager 资源,请参阅管理边界和功能概览。
下图展示了 Resource Manager 资源如何将成员项目连接到中央管理项目:
多项目管理
管理边界将管理治理与计算执行分开,涉及两个不同的项目角色:一个中央管理项目和一个或多个成员项目。
这种解耦结构可强制执行多租户隔离。团队在各自的成员项目中构建和部署代理,而无需直接访问其他成员项目,管理员和编排器则通过管理项目在管理边界内保持统一的可见性。
管理项目
管理项目是一个 Google Cloud 项目,用作管理边界的中央治理项目。它可集中管理跨边界的 API 配置、访问权限控制、结算、配额消耗和汇总的组件元数据,而无需托管底层计算运行时。
在 Agent Registry 中,管理项目执行以下功能:
- 边界和功能绑定:通过启用了
AGENT_MANAGEMENT功能的CapabilityConfig资源,与 Resource Manager 中的一个或多个边界相关联。如需了解配置步骤,请参阅配置管理边界。 - 集中式发现和搜索:作为跨项目列表和搜索请求的目标项目,使编排器、开发者和客户端应用能够与边界内所有成员项目中自动发现的智能体、MCP 服务器和工具进行交互。
- 边界范围内的资源注册:托管手动注册的
Service资源(例如自定义智能体、外部 MCP 服务器和端点)以及Binding资源(如果您希望这些资源在管理边界内可见)。 - 集中式 API、结算和配额管理:整合 Agent Registry API 激活、配额分配和结算,以实现边界级发现和治理操作。
在 Resource Manager 中为文件夹或组织配置 CapabilityConfig 资源时,您可以通过以下任一方式预配管理项目:
- 自行管理的管理项目:您在创建
CapabilityConfig资源时,通过传递--management-project标志来指定您管理的现有Google Cloud 项目。该项目必须与CapabilityConfig资源直接位于同一父级文件夹或组织中,并且不能已用作其他CapabilityConfig资源的管理项目。如果您稍后删除CapabilityConfig资源,Resource Manager 会保留您的自行管理项目,并将其还原为标准项目。 - Google 管理的管理项目:您在创建
CapabilityConfig资源时省略--management-project标志,Resource Manager 会自动在父级文件夹或组织中为您创建和管理新项目。生成的项目具有项目 ID 前缀google-mpf或google-mpo。如果您稍后删除CapabilityConfig资源,Resource Manager 会删除此 Google 管理的项目。
在这两种情况下,使用 agent-management 创建 CapabilityConfig 资源都会自动在管理项目中启用 agentregistry.googleapis.com。
成员项目
成员项目是属于管理边界的 Google Cloud 项目。它们可以是边界父级文件夹或组织中的所有子项目,也可以是与可选边界标记过滤条件(例如 env=prod)匹配的子项目。自动发现的智能体、MCP 服务器和工具在成员项目中运行。
成员项目会保留自己的本地计算资源,例如 Agent Runtime 推理引擎、Cloud Run 服务或 GKE 集群。当您列出或搜索注册表时,系统会在每个成员项目中本地提取自动发现的资源,并将其汇总到管理项目中。相比之下,您在成员项目中创建的手动注册资源仅在您向该单个成员项目发送请求时可见。
边界内成员项目与管理项目的关联受系统限制。超出此限制可能会导致汇总错误。如需了解详情,请参阅配额和系统限制。
注册和汇总
智能体注册表中的跨项目发现功能可区分在成员项目中部署的自动发现资源和范围限定在创建这些资源的项目的已手动注册资源。
自动发现和注册的资源
资源在管理边界内的范围取决于其注册方式:
自动发现的智能体和 MCP 服务器:部署在成员项目中的受支持资源(例如 Agent Runtime 推理引擎、Cloud Run 服务和 GKE 部署)会自动提取到其部署所在的成员项目中,并汇总到管理项目中。
手动注册的资源和绑定:手动注册的
Service资源(例如自定义智能体、外部 MCP 服务器、端点)和Binding资源的作用域限定在创建它们所在的项目中:- 如果您希望这些资源在管理边界内可见,请在管理项目中创建它们。
- 如果您希望这些资源仅在单个成员项目中可见,请在成员项目中创建这些资源。
独立技能、发布商和 AI 应用:自定义独立
Skill、SkillRevision、Publisher和AiApplication资源的作用域限定在创建它们所在的项目,不会在管理边界内的成员项目中汇总。在需要发现自定义独立技能和 AI 应用的项目中注册这些技能和应用,以便智能体或开发者能够找到它们。Google 管理的独立技能可在任何项目中自动发现。
集中式查询汇总
Agent Registry 如何限定位置范围取决于您查询的是独立治理项目,还是管理边界内的成员项目或管理项目:
- 独立治理项目和成员项目:在 Agent Registry 支持的位置(例如
us-central1、europe-west1、us、eu或global)中执行的查询仅返回该单个项目中该位置的资源,不进行跨项目汇总。 管理项目:在管理项目上使用
agent-management启用CapabilityConfig资源时,所有代理注册表支持的位置都支持跨项目汇总。查询管理项目中的某个位置会汇总管理项目和管理边界内所有成员项目中同一位置的资源。此汇总不包含不同位置的资源:- 单区域:在单个区域(例如
us-central1或europe-west1)中执行的查询会汇总在该区域中部署的自动发现的智能体和 MCP 服务器,这些智能体和 MCP 服务器分布在管理项目及其成员项目中,同时还会汇总在该区域的管理项目中创建的Service和Binding资源。 - 多区域:在多区域(例如
us或eu)中执行的查询会汇总在该多区域中部署的自动发现的智能体和 MCP 服务器,涵盖管理项目及其成员项目。多区域中的查询不会汇总单区域中部署的资源。 - 全球:
global位置中的查询会汇总在管理项目及其成员项目中部署在global的自动发现的智能体和 MCP 服务器,以及在管理项目的global中创建的Service和Binding资源。global中的查询不会汇总部署在多区域或单区域中的资源。
- 单区域:在单个区域(例如
当您在管理项目中的某个位置列出、搜索或检索智能体组件时,Agent Registry 会执行以下步骤:
- 通过活跃的
CapabilityConfig资源识别与管理项目关联的所有成员项目。 - 查询管理项目和每个成员项目中该位置自动发现的代理和 MCP 服务器,以及在管理项目上该位置创建的所有手动注册的
Service资源。 - 将匹配的资源汇总到一个统一的结果集中。
- 向您返回汇总结果。
如果多个边界附加到同一 CapabilityConfig 资源,Agent Registry 会将所有附加边界中的成员项目汇总到同一管理项目注册表中。如需将管理项目中的列表或搜索结果范围缩小到单个成员项目,请传递 --filter="project_id=MEMBER_PROJECT_ID"。如果两个环境需要单独的可见性,请为每个边界创建一个单独的 CapabilityConfig 资源和管理项目。
单项目发现和跨项目发现使用相同的 API 方法。 搜索范围取决于目标项目是成员项目还是管理项目。
跨管理边界的资源名称
当组件包含在成员项目中时,Agent Registry 会为其分配一个 ID,例如 AGENT_ID 或 SERVER_ID。当您跨管理边界列出、搜索或获取组件时,Agent Registry 会保留该组件的 ID,并根据您使用的项目设置关联资源名称的格式:
- 管理项目:当您使用管理项目列出、搜索或获取组件时,每个资源名称都会使用管理项目。
- 成员项目:当您使用部署了资源的成员项目列出、搜索或获取组件时,每个资源名称都会使用该成员项目。
下表显示了在成员项目中部署的自动发现资源的请求网址和关联的资源名称:
| 资源类型 | 请求网址 | 关联的资源名称 |
|---|---|---|
| 代理 | projects/MANAGEMENT_PROJECT_ID/locations/LOCATION/agents/AGENT_ID |
projects/MANAGEMENT_PROJECT_ID/locations/LOCATION/agents/AGENT_ID |
projects/MEMBER_PROJECT_ID/locations/LOCATION/agents/AGENT_ID |
projects/MEMBER_PROJECT_ID/locations/LOCATION/agents/AGENT_ID |
|
| MCP 服务器 | projects/MANAGEMENT_PROJECT_ID/locations/LOCATION/mcpServers/SERVER_ID |
projects/MANAGEMENT_PROJECT_ID/locations/LOCATION/mcpServers/SERVER_ID |
projects/MEMBER_PROJECT_ID/locations/LOCATION/mcpServers/SERVER_ID |
projects/MEMBER_PROJECT_ID/locations/LOCATION/mcpServers/SERVER_ID |
关联的资源名称反映了请求中的项目。不过,组件的注册表标识符和运行时引用保持不变,并且始终保留底层工作负载运行所在的成员项目。
拓扑可视化和流量
平台管理员和 AI 架构师可以使用拓扑图直观呈现多智能体关系和跨项目流量。
拓扑图直观呈现了以下架构维度:
- 运行时引用相关性:将逻辑代理标识符与其物理运行时引用相关联。通过这种关联,操作员可以直接将 Agent Registry 中的智能体与其底层的 Agent Runtime 推理引擎、Cloud Run 服务或 GKE 部署进行关联。
- 跨项目绑定:显示一个项目中的编排器代理与另一个项目中的 MCP 服务器或下游工具之间的绑定。
- 边界验证:帮助管理员验证智能体通信是否符合 VPC Service Controls 边界,以及是否通过指定的 Agent Gateway 端点进行路由。
访问权限控制
在管理边界中,您需要为管理项目授予 IAM 发现角色,以便用户和编排器可以跨边界进行搜索,而无需直接对各个成员项目拥有 IAM 访问权限。由于在成员项目中创建的手动注册的 Service 和 Binding 资源不会汇总到管理项目,因此安全管理员还可以使用组织政策限制条件或 IAM 拒绝政策来限制在成员项目中创建本地 Service 和 Binding。当成员项目中的智能体调用工具或与边界另一侧的其他项目中的智能体通信时,流量可以通过中央 Agent Gateway 进行路由。
对于管理边界中的资源,VPC Service Controls 限制仅适用于管理项目中的 Agent Registry 互动。Agent Registry 可以发现管理边界内所有成员项目中的智能体和 MCP 服务器,即使这些成员项目与管理项目不在同一服务边界内也是如此。
如需详细了解设置边界、访问注册表和成员项目写入限制所需的角色,请参阅跨项目管理边界的角色。