角色和權限

您可以透過 Identity and Access Management (IAM) 角色和權限,控管哪些使用者能查看、註冊及管理 Agent Registry 中的代理、MCP 伺服器、工具、獨立技能、端點和繫結。

如要將 Agent Registry IAM 角色授予管理專案或管理專案中的使用者或群組,請使用 Google Cloud 控制台中的 IAM 頁面或 Google Cloud CLI。詳情請參閱「使用 IAM 存取控管」和「管理專案、資料夾和組織的存取權」。

Agent Registry 角色

下表說明 Agent Registry IAM 角色及其一般職責:

角色

說明

Purpose

Agent Registry API 管理員 (roles/agentregistry.admin)

具備所有 Agent Registry 資源的完整存取權,包括代理、MCP 伺服器、工具、端點、獨立技能、技能修訂版本、繫結和技能 IAM 政策。

  • 註冊及管理代理、MCP 伺服器、工具和端點。
  • 可建立、更新及刪除獨立技能和技能修訂版本。
  • 建立及管理繫結和技能 IAM 政策。

Agent Registry API 編輯者 (roles/agentregistry.editor)

具備 Agent Registry 資源的編輯權限,包括代理、MCP 伺服器、工具、端點、獨立技能和技能修訂版本。

  • 註冊及管理代理和 MCP 伺服器。
  • 更新工具定義和端點。
  • 可建立、更新及刪除獨立技能和技能修訂版本。

Agent Registry API 檢視者 (roles/agentregistry.viewer)

具備唯讀存取權,可查看及搜尋代理、MCP 伺服器、工具、獨立技能、技能修訂版本、發布者、端點和繫結。

  • 探索可用的代理、MCP 伺服器和工具。
  • 查看 A2A 技能、獨立技能、技能修訂版本、發布者、端點和繫結,以便整合。

Agent Registry 使用者 (roles/agentregistry.user)

具備 Agent Registry 資源的唯讀存取權,以及建立、更新及刪除獨立技能和技能修訂版本的權限。

  • 可建立、更新及刪除獨立技能和技能修訂版本,但無法編輯代理、MCP 伺服器或端點。
  • 控管技能修訂版本,並集中管理技能的啟用狀態。

Agent Registry 權限

下表列出各個 Agent Registry IAM 角色具備的權限:

(roles/agentregistry.admin)

具備 Agent Registry API 資源的完整存取權。

agentregistry.*

  • agentregistry.agents.get
  • agentregistry.agents.list
  • agentregistry.agents.search
  • agentregistry.bindings.create
  • agentregistry.bindings.delete
  • agentregistry.bindings.fetchAvailable
  • agentregistry.bindings.get
  • agentregistry.bindings.list
  • agentregistry.bindings.update
  • agentregistry.endpoints.get
  • agentregistry.endpoints.list
  • agentregistry.locations.get
  • agentregistry.locations.list
  • agentregistry.mcpServers.get
  • agentregistry.mcpServers.list
  • agentregistry.mcpServers.search
  • agentregistry.operations.cancel
  • agentregistry.operations.delete
  • agentregistry.operations.get
  • agentregistry.operations.list
  • agentregistry.publishers.get
  • agentregistry.publishers.list
  • agentregistry.services.create
  • agentregistry.services.delete
  • agentregistry.services.get
  • agentregistry.services.list
  • agentregistry.services.update
  • agentregistry.skillRevisions.create
  • agentregistry.skillRevisions.delete
  • agentregistry.skillRevisions.get
  • agentregistry.skillRevisions.list
  • agentregistry.skills.create
  • agentregistry.skills.delete
  • agentregistry.skills.get
  • agentregistry.skills.getIamPolicy
  • agentregistry.skills.list
  • agentregistry.skills.search
  • agentregistry.skills.setIamPolicy
  • agentregistry.skills.update

(roles/agentregistry.editor)

具備 Agent Registry API 資源的編輯權限。

agentregistry.agents.*

  • agentregistry.agents.get
  • agentregistry.agents.list
  • agentregistry.agents.search

agentregistry.bindings.fetchAvailable

agentregistry.bindings.get

agentregistry.bindings.list

agentregistry.endpoints.*

  • agentregistry.endpoints.get
  • agentregistry.endpoints.list

agentregistry.locations.*

  • agentregistry.locations.get
  • agentregistry.locations.list

agentregistry.mcpServers.*

  • agentregistry.mcpServers.get
  • agentregistry.mcpServers.list
  • agentregistry.mcpServers.search

agentregistry.operations.*

  • agentregistry.operations.cancel
  • agentregistry.operations.delete
  • agentregistry.operations.get
  • agentregistry.operations.list

agentregistry.publishers.*

  • agentregistry.publishers.get
  • agentregistry.publishers.list

agentregistry.services.*

  • agentregistry.services.create
  • agentregistry.services.delete
  • agentregistry.services.get
  • agentregistry.services.list
  • agentregistry.services.update

agentregistry.skillRevisions.*

  • agentregistry.skillRevisions.create
  • agentregistry.skillRevisions.delete
  • agentregistry.skillRevisions.get
  • agentregistry.skillRevisions.list

agentregistry.skills.create

agentregistry.skills.delete

agentregistry.skills.get

agentregistry.skills.list

agentregistry.skills.search

agentregistry.skills.update

(roles/agentregistry.viewer)

具備 Agent Registry API 資源的唯讀存取權。

agentregistry.agents.*

  • agentregistry.agents.get
  • agentregistry.agents.list
  • agentregistry.agents.search

agentregistry.bindings.fetchAvailable

agentregistry.bindings.get

agentregistry.bindings.list

agentregistry.endpoints.*

  • agentregistry.endpoints.get
  • agentregistry.endpoints.list

agentregistry.locations.*

  • agentregistry.locations.get
  • agentregistry.locations.list

agentregistry.mcpServers.*

  • agentregistry.mcpServers.get
  • agentregistry.mcpServers.list
  • agentregistry.mcpServers.search

agentregistry.operations.get

agentregistry.operations.list

agentregistry.publishers.*

  • agentregistry.publishers.get
  • agentregistry.publishers.list

agentregistry.services.get

agentregistry.services.list

agentregistry.skillRevisions.get

agentregistry.skillRevisions.list

agentregistry.skills.get

agentregistry.skills.list

agentregistry.skills.search

(roles/agentregistry.user)

可建立、更新及刪除技能和技能修訂版本。

agentregistry.agents.*

  • agentregistry.agents.get
  • agentregistry.agents.list
  • agentregistry.agents.search

agentregistry.bindings.fetchAvailable

agentregistry.bindings.get

agentregistry.bindings.list

agentregistry.endpoints.*

  • agentregistry.endpoints.get
  • agentregistry.endpoints.list

agentregistry.locations.*

  • agentregistry.locations.get
  • agentregistry.locations.list

agentregistry.mcpServers.*

  • agentregistry.mcpServers.get
  • agentregistry.mcpServers.list
  • agentregistry.mcpServers.search

agentregistry.operations.get

agentregistry.operations.list

agentregistry.publishers.*

  • agentregistry.publishers.get
  • agentregistry.publishers.list

agentregistry.services.get

agentregistry.services.list

agentregistry.skillRevisions.*

  • agentregistry.skillRevisions.create
  • agentregistry.skillRevisions.delete
  • agentregistry.skillRevisions.get
  • agentregistry.skillRevisions.list

agentregistry.skills.create

agentregistry.skills.delete

agentregistry.skills.get

agentregistry.skills.list

agentregistry.skills.search

agentregistry.skills.update

如要進一步瞭解 IAM 權限,請參閱「找出合適的預先定義角色」和「IAM 角色和權限索引」。

跨專案管理邊界角色

在代理程式登錄中為代理程式元件設定管理邊界時,您必須在下列層級向使用者或服務授予 IAM 角色:

  • 管理專案:將管理專案的 Agent Registry 角色,授予探索及管理邊界內代理的使用者或服務。使用者只要具備管理專案的檢視者權限,就能探索及搜尋所有成員專案中的代理和 MCP 伺服器,範圍涵蓋附加至該管理專案的所有邊界,不必在每個成員專案中明確取得檢視者權限。如果團隊不得查看其他邊界的資產,請將該邊界指派給獨立的 CapabilityConfig 資源和管理專案。
  • 成員專案:在特定成員專案中,將代理程式登錄資料庫角色授予建構、註冊或維護代理程式和工具的開發人員。
  • 邊界設定:如要建立及管理邊界設定資源,必須具備封閉資料夾或組織的管理員角色。詳情請參閱 Resource Manager 說明文件中的「設定管理界限」一節,瞭解必要角色。

限制成員專案中的本機註冊

在成員專案中手動註冊的 Service 和 Binding 資源不會匯總至管理專案,因此安全管理員可以透過下列任一方式,在管理專案中強制執行集中註冊:

  • 在成員專案中封鎖 agentregistry.googleapis.com:如果開發人員不需要直接在成員專案中查詢 Agent Registry,請在上層資料夾或組織套用 constraints/gcp.restrictServiceUsage 組織政策限制,拒絕 agentregistry.googleapis.com,並覆寫管理專案的政策。在成員專案上封鎖 agentregistry.googleapis.com,不會影響系統自動探索成員專案中的執行階段工作負載,並將其納入管理專案。
  • 允許在成員專案中進行唯讀探索,並拒絕本機寫入:如要在成員專案中啟用 agentregistry.googleapis.com,以便進行本機唯讀探索,同時要求所有 Service 和 Binding 資源都必須在管理專案中註冊,請在成員專案中授予開發人員代理程式 Registry API 檢視者 (roles/agentregistry.viewer) 角色,並附加 IAM 拒絕政策,拒絕成員專案中的下列寫入權限:

    • agentregistry.googleapis.com/services.create
    • agentregistry.googleapis.com/services.update
    • agentregistry.googleapis.com/services.delete
    • agentregistry.googleapis.com/bindings.create
    • agentregistry.googleapis.com/bindings.update
    • agentregistry.googleapis.com/bindings.delete

已註冊資源的存取控管

Agent Registry 角色可控管哪些人能管理及探索登錄檔中的資源。如要控管哪些代理可透過 Agent Gateway 與已註冊的服務、端點和 MCP 伺服器通訊,請使用 Identity-Aware Proxy (IAP) 輸出政策:

如需設定 IAP 輸出政策的詳細操作說明,請參閱「設定 IAM 代理政策」。