借助 Identity and Access Management (IAM) 角色和权限,您可以控制谁可以在 Agent Registry 中查看、注册和管理智能体、Model Context Protocol (MCP) 服务器、工具、独立技能、端点和绑定。
如需向治理项目或管理项目中的用户或群组授予 Agent Registry IAM 角色,请使用 Google Cloud 控制台中的 IAM 页面或 Google Cloud CLI。如需了解详情,请参阅使用 IAM 进行访问权限控制和管理对项目、文件夹和组织的访问权限。
Agent Registry 角色
下表介绍了 Agent Registry IAM 角色及其典型职责:
角色 |
说明 |
用途 |
|---|---|---|
|
Agent Registry API Admin
( |
拥有对所有 Agent Registry 资源的完整访问权限,包括代理、MCP 服务器、工具、端点、独立技能、技能修订版本、安全发现结果、技能加密规范、绑定和技能 IAM 政策。 |
|
|
Agent Registry API Editor
( |
拥有对 Agent Registry 资源的编辑权限,包括智能体、MCP 服务器、工具、端点、独立技能和技能修订版本。 |
|
|
Agent Registry API Viewer
( |
拥有对查看和搜索智能体、MCP 服务器、工具、独立技能、技能修订版本、发布商、技能加密规范、端点和绑定的只读权限。 |
|
|
Agent Registry User
( |
拥有对 Agent Registry 资源的只读权限,以及创建、更新和删除独立技能、技能修订版本和扫描设置的权限。 |
|
Agent Registry 权限
下表列出了每个 Agent Registry IAM 角色拥有的权限:
Agent Registry API Admin( 拥有对 Agent Registry API 资源的完整访问权限。 |
|
Agent Registry API Editor( 拥有对 Agent Registry API 资源的编辑权限。 |
|
Agent Registry API Viewer( 拥有对 Agent Registry API 资源的只读权限。 |
|
Agent Registry User Beta 版( 创建、更新和删除技能和技能修订版本。 |
|
如需详细了解 IAM 权限,请参阅查找合适的预定义角色和 IAM 角色和权限索引。
跨项目管理边界的角色
在 Agent Registry 中为智能体组件配置管理边界时,您必须在以下级别向用户或服务授予 IAM 角色:
- 管理项目:向在边界内发现和管理代理的用户或服务授予管理项目的 Agent Registry 角色。对管理项目拥有查看者访问权限的用户可以发现和搜索该管理项目所连接的每个边界内所有成员项目中的智能体和 MCP 服务器,而无需在每个成员项目中明确授予查看者权限。如果某个团队不得查看其他边界中的资产,请将该边界分配给单独的
CapabilityConfig资源和管理项目。 - 成员项目:向在特定成员项目中构建、注册或维护代理和工具的开发者授予这些特定成员项目的 Agent Registry 角色。
- 边界配置:创建和管理边界配置资源需要对封闭文件夹或组织拥有管理员角色。如需了解详情,请参阅 Resource Manager 文档中配置管理边界中的所需角色。
限制成员项目中的本地注册
由于在成员项目中创建的手动注册 Service 和 Binding 资源不会汇总到管理项目,因此安全管理员可以通过以下任一方式在管理项目中强制执行集中注册:
- 在成员项目中屏蔽
agentregistry.googleapis.com:如果开发者不需要在成员项目中直接查询 Agent Registry,请在父级文件夹或组织上应用constraints/gcp.restrictServiceUsage组织政策限制条件以拒绝agentregistry.googleapis.com,并在管理项目中替换该政策。在成员项目上屏蔽agentregistry.googleapis.com不会影响从成员项目到管理项目的运行时工作负载的自动发现。 允许在成员项目中进行只读发现,并拒绝本地写入:如需在成员项目中保持启用
agentregistry.googleapis.com以进行本地只读发现,同时要求在管理项目中注册所有Service和Binding资源,请向开发者授予成员项目的 Agent Registry API Viewer (roles/agentregistry.viewer) 角色,并附加一个 IAM 拒绝政策,以拒绝成员项目中的以下写入权限:agentregistry.googleapis.com/services.createagentregistry.googleapis.com/services.updateagentregistry.googleapis.com/services.deleteagentregistry.googleapis.com/bindings.createagentregistry.googleapis.com/bindings.updateagentregistry.googleapis.com/bindings.delete
已注册资源的访问权限控制
Agent Registry 角色用于控制谁可以管理和发现注册表本身中的资源。如需控制谁可以查看或更新独立技能,而无需授予项目级访问权限,请在 Skill 资源上配置资源级 IAM 政策,或在项目级绑定上使用 IAM 条件。如需了解相关说明,请参阅管理对技能的访问权限。
Agent Registry 角色不授予调用代理运行时端点的权限。当编排器智能体或客户端调用已发现的 Agent2Agent (A2A) 智能体、MCP 服务器或端点时,系统会在目标服务或网关上进行授权。
调用 A2A 智能体的权限
向调用用户、服务账号或智能体主体(principal:// 或 principalSet://)授予调用目标 API、运行时或网关所需的角色:
- 由 Google Cloud API 公开的内置 Google 代理:授予公开代理的目标 API 服务所需的 IAM 角色。如需查看按服务列出的预定义角色列表,请参阅 IAM 角色和权限索引。
- 托管在 Google Cloud 运行时或网关上的自定义 A2A 智能体:授予托管智能体的运行时或网关所需的角色,例如:
- Gemini Enterprise Agent Platform 上的 Agent Runtime:请参阅为 A2A 委托授予访问权限、共享智能体以及 Gemini Enterprise Agent Platform 角色和权限。
- Cloud Run:请参阅对 AI 智能体进行身份验证以及 Cloud Run IAM 角色和权限。
- Agent Gateway 和 Identity-Aware Proxy (IAP):请参阅创建 IAM Unified Access Policies (UAP) 和 IAP 角色和权限。
在Agent Gateway的 UAP 通用表达式语言 (CEL) 条件中,使用已注册智能体的资源名称而非其注册表标识符来定位该智能体。如需了解管理角色和政策配置步骤,请参阅创建 IAM UAP。
拒绝政策和内容安全
将基于身份的拒绝政策与载荷检查控制措施相结合,以管理整个组织中的 A2A 通信:
- IAM 拒绝政策:使用智能体主体(
principal://或principalSet://)或服务账号作为被拒绝的主体,将 IAM 拒绝政策附加到项目、文件夹或组织。您可以屏蔽拒绝政策中支持的权限中显示的调用代理的权限或下游资源权限。 - 使用 Model Armor 确保内容安全:通过配置 Model Armor 与 Agent Gateway 的集成以及服务扩展绑定,检查支持的 A2A 提示和回答载荷,以帮助检测提示词注入和敏感数据泄露。