Atributos da CEL para políticas de acesso unificadas do IAM

Este documento descreve os atributos e as funções da Common Expression Language (CEL) que podem ser usados ao escrever expressões condicionais em Políticas de Acesso Unificadas (UAPs, na sigla em inglês) do IAM para o Gateway de Agente.

Para saber mais sobre os conceitos de UAP, consulte a Visão geral dos UAPs do IAM. Para saber como configurar UAPs, consulte Criar UAPs do IAM.

Atributos CEL disponíveis

Nas UAPs, é possível definir condições com expressões condicionais. As expressões podem conter várias subexpressões. O tipo de recurso de destino usado em cada subcondição relacional determina quais atributos podem ser usados.

Por exemplo, na condição a seguir, na subexpressão destination.unregistered.path.startsWith('/v1/statements'), o tipo de recurso é um destino não registrado, o atributo é destination.unregistered.path e startsWith() é a função CEL.

destination.unregistered.host == 'finance.example.com' &&
destination.unregistered.path.startsWith('/v1/statements')

Os atributos descritos na tabela a seguir estão disponíveis para cada tipo de recurso:

Tipo de recurso de destino Atributo Detalhes

Agent Registry

destination.is_registered
Tipo de valor Booleano
Valores aceitos true, false
Operações suportadas ==, !=
destination.agent_registry.resource_type
Tipo de valor String
Valores aceitos 'AGENT', 'ENDPOINT', 'MCP_SERVER', 'SKILL'
Operações suportadas ==, !=, in
destination.agent_registry.location
Tipo de valor String
Valores aceitos ID do local do Google Cloud (por exemplo, 'global', 'us-central1')
Operações suportadas ==, !=, in
destination.agent_registry.project_id
Tipo de valor String
Valores aceitos ID do projeto do Google Cloud
Operações suportadas ==, !=, in

Agente

destination.agent_registry.agent.name
Tipo de valor String
Valores aceitos Nome do recurso do agente (projects/PROJECT_ID/locations/LOCATION/agents/AGENT_NAME)
Operações suportadas ==, !=, in

Servidor MCP

destination.agent_registry.mcp_server.name
Tipo de valor String
Valores aceitos Nome do recurso do servidor MCP (projects/PROJECT_ID/locations/LOCATION/mcpServers/MCP_SERVER_NAME)
Operações suportadas ==, !=, in
destination.agent_registry.mcp_server.method
Tipo de valor String
Valores aceitos Nome do método MCP (por exemplo, 'tools', 'prompts', 'resources')
Operações suportadas ==, !=, in
destination.agent_registry.mcp_server.tool.name
Tipo de valor String
Valores aceitos Nome da ferramenta (por exemplo, 'search_code', 'execute')
Operações suportadas ==, !=, in
destination.agent_registry.mcp_server.tool.annotations.read_only_hint
Tipo de valor Booleano
Valores aceitos true, false
Operações suportadas ==, !=
destination.agent_registry.mcp_server.tool.annotations.destructive_hint
Tipo de valor Booleano
Valores aceitos true, false
Operações suportadas ==, !=
destination.agent_registry.mcp_server.tool.annotations.idempotent_hint
Tipo de valor Booleano
Valores aceitos true, false
Operações suportadas ==, !=
destination.agent_registry.mcp_server.tool.annotations.open_world_hint
Tipo de valor Booleano
Valores aceitos true, false
Operações suportadas ==, !=
destination.agent_registry.mcp_server.prompt.name
Tipo de valor String
Valores aceitos Nome do comando
Operações suportadas ==, !=, in
destination.agent_registry.mcp_server.resource.name
Tipo de valor String
Valores aceitos Nome do recurso
Operações suportadas ==, !=, in

Endpoint

destination.agent_registry.endpoint.name
Tipo de valor String
Valores aceitos Nome do recurso de endpoint (projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_NAME)
Operações suportadas ==, !=, in

Destino não registrado

destination.unregistered.host
Tipo de valor String
Valores aceitos Nome do host (por exemplo, 'google.com', 'example.com')
Operações suportadas ==, !=, in, .startsWith(), .endsWith(), .contains()
destination.unregistered.path
Tipo de valor String
Valores aceitos Caminho da solicitação (por exemplo, '/admin', '/api/v1')
Operações suportadas ==, !=, in, .startsWith(), .endsWith(), .contains()
destination.unregistered.method
Tipo de valor String
Valores aceitos Método HTTP (por exemplo, 'get', 'post', 'put', 'delete')
Operações suportadas ==, !=, in

A seguir

Visão geral

Confira uma visão geral do Gateway de Agente.

Guia

Saiba como configurar políticas de conteúdo e comerciais.

Guia

Saiba como testar políticas.