Atributos de CEL para las políticas de acceso unificado de IAM

En este documento, se describen los atributos y las funciones del Common Expression Language (CEL) que puedes usar cuando escribes expresiones condicionales en las políticas de acceso unificado (UAP) de IAM para Agent Gateway.

Para obtener más información sobre los conceptos de UAP, consulta la descripción general de las UAP de IAM. Para obtener información sobre cómo configurar UAPs, consulta Crea UAPs de IAM.

Atributos de CEL disponibles

En tus UAP, puedes definir condiciones con expresiones condicionales. Las expresiones pueden contener varias subexpresiones. El tipo de recurso de destino que usas en cada subcondición relacional determina qué atributos puedes usar.

Por ejemplo, en la siguiente condición, en la subexpresión destination.unregistered.path.startsWith('/v1/statements'), el tipo de recurso es un destino no registrado, el atributo es destination.unregistered.path y startsWith() es la función CEL.

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

Los atributos que se describen en la siguiente tabla están disponibles para cada tipo de recurso:

Tipo de recurso de destino Atributo Detalles

Agent Registry

destination.is_registered
Tipo de valor Booleano
Valores admitidos true, false
Operaciones admitidas ==, !=
destination.agent_registry.resource_type
Tipo de valor String
Valores admitidos 'AGENT', 'ENDPOINT', 'MCP_SERVER', 'SKILL'
Operaciones admitidas ==, !=, in
destination.agent_registry.location
Tipo de valor String
Valores admitidos ID de ubicación de Google Cloud (por ejemplo, 'global', 'us-central1')
Operaciones admitidas ==, !=, in
destination.agent_registry.project_id
Tipo de valor String
Valores admitidos ID del proyecto de Google Cloud
Operaciones admitidas ==, !=, in

Agente

destination.agent_registry.agent.name
Tipo de valor String
Valores admitidos Nombre del recurso del agente (projects/PROJECT_ID/locations/LOCATION/agents/AGENT_NAME)
Operaciones admitidas ==, !=, in

Servidor de MCP

destination.agent_registry.mcp_server.name
Tipo de valor String
Valores admitidos Nombre del recurso del servidor de MCP (projects/PROJECT_ID/locations/LOCATION/mcpServers/MCP_SERVER_NAME)
Operaciones admitidas ==, !=, in
destination.agent_registry.mcp_server.method
Tipo de valor String
Valores admitidos Nombre del método de MCP (por ejemplo, 'tools', 'prompts', 'resources')
Operaciones admitidas ==, !=, in
destination.agent_registry.mcp_server.tool.name
Tipo de valor String
Valores admitidos Nombre de la herramienta (por ejemplo, 'search_code', 'execute')
Operaciones admitidas ==, !=, in
destination.agent_registry.mcp_server.tool.annotations.read_only_hint
Tipo de valor Booleano
Valores admitidos true, false
Operaciones admitidas ==, !=
destination.agent_registry.mcp_server.tool.annotations.destructive_hint
Tipo de valor Booleano
Valores admitidos true, false
Operaciones admitidas ==, !=
destination.agent_registry.mcp_server.tool.annotations.idempotent_hint
Tipo de valor Booleano
Valores admitidos true, false
Operaciones admitidas ==, !=
destination.agent_registry.mcp_server.tool.annotations.open_world_hint
Tipo de valor Booleano
Valores admitidos true, false
Operaciones admitidas ==, !=
destination.agent_registry.mcp_server.prompt.name
Tipo de valor String
Valores admitidos Nombre del mensaje
Operaciones admitidas ==, !=, in
destination.agent_registry.mcp_server.resource.name
Tipo de valor String
Valores admitidos Nombre del recurso
Operaciones admitidas ==, !=, in

Extremo

destination.agent_registry.endpoint.name
Tipo de valor String
Valores admitidos Nombre del recurso del extremo (projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_NAME)
Operaciones admitidas ==, !=, in

Destino no registrado

destination.unregistered.host
Tipo de valor String
Valores admitidos Nombre de host (por ejemplo, 'google.com', 'example.com')
Operaciones admitidas ==, !=, in, .startsWith(), .endsWith(), .contains()
destination.unregistered.path
Tipo de valor String
Valores admitidos Ruta de la solicitud (por ejemplo, '/admin', '/api/v1')
Operaciones admitidas ==, !=, in, .startsWith(), .endsWith(), .contains()
destination.unregistered.method
Tipo de valor String
Valores admitidos Método HTTP (por ejemplo, 'get', 'post', 'put', 'delete')
Operaciones admitidas ==, !=, in

¿Qué sigue?

Descripción general

Obtén una descripción general de Agent Gateway.

Guía

Obtén información para configurar políticas de contenido y comerciales.

Guía

Obtén más información para probar políticas.