Roles and permissions

Identity and Access Management (IAM) roles and permissions let you control who can view, register, and manage agents, MCP servers, tools, standalone skills, endpoints, and bindings in Agent Registry.

To grant Agent Registry IAM roles to users or groups on your governance project, use the IAM page in the Google Cloud console or the Google Cloud CLI. For detailed instructions, see Access control with IAM and Manage access to projects, folders, and organizations.

Agent Registry roles

The following table describes Agent Registry IAM roles and their typical responsibilities:

Role

Description

Purpose

Agent Registry API Admin (roles/agentregistry.admin)

Full access to all Agent Registry resources, including agents, MCP servers, tools, endpoints, standalone skills, skill revisions, bindings, and skill IAM policies.

  • Register and manage agents, MCP servers, tools, and endpoints.
  • Create, update, and delete standalone skills and skill revisions.
  • Create and manage bindings and skill IAM policies.

Agent Registry API Editor (roles/agentregistry.editor)

Edit access to Agent Registry resources, including agents, MCP servers, tools, endpoints, standalone skills, and skill revisions.

  • Register and manage agents and MCP servers.
  • Update tool definitions and endpoints.
  • Create, update, and delete standalone skills and skill revisions.

Agent Registry API Viewer (roles/agentregistry.viewer)

Read-only access to view and search agents, MCP servers, tools, standalone skills, skill revisions, publishers, endpoints, and bindings.

  • Discover available agents, MCP servers, and tools.
  • View A2A skills, standalone skills, skill revisions, publishers, endpoints, and bindings for integration.

Agent Registry User (roles/agentregistry.user)

Read-only access to Agent Registry resources, plus access to create, update, and delete standalone skills and skill revisions.

  • Create, update, and delete standalone skills and skill revisions without edit access to agents, MCP servers, or endpoints.
  • Keep version control for skill revisions and centrally manage active states of skills.

Agent Registry permissions

The following table lists the permissions that each Agent Registry IAM role has:

(roles/agentregistry.admin)

Full access to Agent Registry API resources.

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)

Edit access to Agent Registry API resources.

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)

Readonly access to Agent Registry API resources.

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)

Create, update, and delete skills and skill revisions.

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

For more information about IAM permissions, see Find the right predefined roles and IAM roles and permissions index.

Access control for registered resources

Agent Registry roles govern who can manage and discover resources in the registry itself. To control which agents can communicate with registered services, endpoints, and MCP servers through Agent Gateway, you use Identity-Aware Proxy (IAP) egress policies:

For detailed instructions on configuring IAP egress policies, see Configure IAM agent policies.