Puoi creare policy di accesso unificato (UAP) di Identity and Access Management (IAM) per gestire in modo sicuro la comunicazione tra le entità agente e le risorse di destinazione, come agenti di destinazione, server MCP ed endpoint. Queste norme sono vincolate al progetto che contiene le istanze di Agent Gateway.
Agent Gateway utilizza Identity-Aware Proxy (IAP) per valutare e applicare le UAP.
IAP si integra anche con l'accesso sensibile al contesto per fornire autenticazione e autorizzazione dell'identità dell'agente end-to-end.
Per configurare i progetti di accesso unificato per Agent Gateway, vedi Configura i progetti di accesso unificato IAM.
Puoi anche creare un confine di accesso dell'entità (PAB) sull'identità dell'agente. Agent Gateway può utilizzare IAP per applicare le policy sul confine di accesso dell'entità.
Attiva Agent Gateway
Per utilizzare le policy di comunicazione agentica, devi configurare Agent Gateway.
Ti consigliamo di configurare Agent Gateway in modalità dry run
(DRY_RUN) in un ambiente di staging per verificare che le policy funzionino
come previsto.
Quando hai la certezza che le policy funzionano correttamente, puoi
aggiornare la configurazione di Agent Gateway per impostare la modalità di applicazione forzata su
ENFORCE. In questa modalità, le comunicazioni agentiche che violano le norme
non sono consentite e la comunicazione con la risorsa viene bloccata.
Panoramica delle UAP
Le UAP controllano se una o più entità dell'agente possono accedere a una o più risorse di destinazione. Le UAP estendono il modello di policy IAM supportando più regole in una singola policy. A differenza dei criteri di autorizzazione e di negazione IAM, ogni regola in un criterio di accesso uniforme può avere sia un effetto di autorizzazione che di negazione. Scopri di più sui tipi di policy IAM.
Le regole contengono anche condizioni espresse in Common Expression Language (CEL). Le condizioni fungono da meccanismo principale per controllare l'accesso alle risorse post-gateway. L'applicazione delle UAP con Agent Gateway e IAP offre un controllo comportamentale rigoroso sugli agenti distribuiti nella tua azienda. Puoi rappresentare casi d'uso di governance degli agenti nel mondo reale e granulari in un unico criterio.
Una policy tipica contiene almeno due regole distinte:
- Regola di autorizzazione:le regole di autorizzazione hanno un effetto di autorizzazione che consente ai entità dell'agente di accedere a operazioni specifiche e sicure, ad esempio eseguire un'operazione di lettura su uno strumento per recuperare i dati di monitoraggio o visualizzare le voci del registro.
- Regola di negazione:le regole di negazione hanno un effetto di negazione che impedisce all'agente di eseguire azioni indesiderate, ad esempio un'operazione di eliminazione o aggiornamento non comandata su una risorsa critica.
Ad esempio, considera un agente di assistenza clienti automatizzato che deve interagire con strumenti interni che hanno accesso privilegiato a un database clienti. L'amministratore configura un Agent Gateway con IAP per applicare le UAP IAM. L'amministratore può configurare un UAP con una regola di autorizzazione che autorizza l'entità dell'agente a leggere le richieste di assistenza e una regola di negazione che impedisce all'entità dell'agente di eliminare o aggiornare i record del database.
Utilizzando le UAP che contengono regole di autorizzazione e negazione, le organizzazioni possono implementare una singola policy di conformità aziendale direttamente sull'infrastruttura cloud sottostante per limitare il comportamento dell'agente.
Best practice
Segui queste best practice quando configuri i criteri di uscita dell'agente:
- Utilizza la modalità dry run:esegui il deployment delle policy nuove o modificate prima in modalità dry run per assicurarti che funzionino come previsto, senza bloccare il traffico degli agenti attivi.
- Applica il principio del privilegio minimo: concedi solo le autorizzazioni necessarie. Utilizza nomi o percorsi di strumenti specifici nelle condizioni CEL anziché caratteri jolly.
- Utilizza regole di negazione per le misure di protezione:utilizza regole di negazione esplicite per implementare misure di protezione fondamentali, ad esempio il blocco di strumenti distruttivi sugli endpoint di produzione. L'utilizzo di regole di negazione per le misure di salvaguardia è efficace perché le regole di negazione ignorano le regole di autorizzazione.
- Esegui controlli regolari:rivedi periodicamente i log di Cloud Audit Logs e le configurazioni dei criteri per verificare che siano conformi alle norme di sicurezza della tua organizzazione.
Componenti UAP
I criteri di accesso uniforme contengono una o più regole. Le regole hanno i seguenti componenti:
Entità dell'agente
Nelle UAP IAM, definisci una o
più entità dell'agente. Le entità dell'agente sono i membri a cui concedi
l'accesso. Specifichi gli agenti in base alla loro identità, ovvero
l'identità dell'agente che avvia la comunicazione con una risorsa.
Per saperne di più su come i diversi tipi di agenti ricevono le identità, consulta
Identità dell'agente.
Le identità dell'agente sono rappresentate da identificatori entità
che contengono l'identità dell'agente in formato SPIFFE (ad esempio,
principal://agents.global.org-...).
Puoi specificare un array di identità di singoli agenti o un array di set di entità di servizio.
Le identità agente integrate vengono sottoposte a provisioning in tutti i Cloud de Confiance servizi, ad esempio Agent Runtime (motore di ragionamento), Gemini Enterprise (motore di rilevamento) e i servizi Cloud Run configurati con l'identità agente. Questi agent
principals assumono la forma principal://TRUST_DOMAIN/AGENT_UNIQUE_IDENTIFIER,
dove l'identificatore rappresenta il percorso della risorsa dell'agente sul suo servizio di hosting.
Puoi anche specificare gli agenti utilizzando gli identificatori di entità della federazione delle identità per i workload.
Effetto regola
L'effetto della regola definisce se la regola consente o impedisce alle entità dell'agente di accedere a una risorsa.
Risorse di destinazione
Le UAP IAM gestiscono l'accesso dalle entità dell'agente alle risorse di destinazione. Le risorse di destinazione sono le risorse a cui le entità agente stanno tentando di accedere. Le risorse di destinazione sono specificate nelle condizioni della regola. Le risorse di destinazione possono essere risorse registrate o risorse non registrate.
Risorse registrate
Le risorse registrate sono risorse registrate in un registro Agent Registry.
Le risorse registrate includono:
- Registri: tutti i registri degli agenti all'interno di un progetto.
- Server MCP: server MCP registrati in un registry degli agenti.
- Agenti: agenti registrati in un registry di agenti. I singoli agenti possono essere specificati singolarmente in base alla loro identità. Un gruppo di agenti può essere specificato da un identificatore del set di entità.
- Endpoint: endpoint registrati in un registro degli agenti.
I singoli servizi possono essere registrati in Agent Registry. Se regionalizzi i registri degli agenti e la tua regola gestisce l'accesso alle risorse registrate, allora le tue UAP si applicano solo alle risorse che si trovano nella regione del registro.
Risorse non registrate
Le risorse non registrate sono risorse che non sono registrate in un registro agenti. Per concedere o negare l'accesso alle risorse non registrate nelle regole UAP, devi specificare le risorse non registrate nelle condizioni della regola utilizzando espressioni Common Expression Language (CEL) che contengono attributi di host e percorso non registrati.
Condizioni
Nelle regole UAP, utilizzi le espressioni Common Expression Language (CEL)
nel blocco conditions per definire sia l'ambito delle risorse di destinazione
sia i criteri di accesso granulare:
Ambito della risorsa di destinazione: identifica quali risorse di destinazione sono regolate dalla regola. Nei file di criteri in formato JSON, devi specificare gli attributi di destinazione, ad esempio
destination.agent_registry.mcp_server.nameodestination.unregistered.host. Nella console Cloud de Confiance , la selezione delle destinazioni in Risorse di destinazione aggiunge automaticamente questi criteri delle risorse all'espressione della condizione della regola.Criteri di accesso: utilizza un'espressione booleana per determinare quando e con quali vincoli si applica l'effetto della regola. Ad esempio, puoi limitare l'accesso in base ai nomi degli strumenti, allo stato di sola lettura, ai metodi HTTP o ai prefissi dei percorsi utilizzando gli attributi CEL UAP. L'effetto della regola (consenti o nega) viene applicato solo quando l'intera espressione CEL restituisce
true.
In gcloud CLI e nell'API REST, specifica queste espressioni CEL nel campo conditions della definizione della regola.
Nella console Cloud de Confiance , puoi configurare le regole standard utilizzando il generatore di condizioni oppure scrivere espressioni CEL personalizzate direttamente nell'editor delle condizioni.
Autorizzazioni
In IAP V2 con UAP IAM, l'autorizzazione
iap.googleapis.com/resources.egressViaIAP viene sempre concessa sulla
risorsa di destinazione. In gcloud CLI e nell'API REST, specifica l'autorizzazione nel campo operation.permissions del file della policy.
Opzioni di creazione delle policy
Nella pagina Policy della console Cloud de Confiance , puoi creare UAP IAM. Ti consigliamo di creare solo UAP (policy IAM v3).
Sia in gcloud CLI che nell'API REST, puoi configurare le UAP IAM creando prima un file in formato JSON. Ti consigliamo di creare solo UAP.
Autenticazione e autorizzazione end-to-end
IAP e l'accesso sensibile al contesto forniscono l'autenticazione e l'autorizzazione end-to-end predefinite dell'identità dell'agente utilizzando i seguenti protocolli:
- mutual TLS (mTLS)
- Dimostrazione della prova di possesso (DPoP)
Le identità degli agenti vengono sottoposte al provisioning con un certificato X.509 e un token associato al certificato. IAP impone che le identità dell'agente utilizzino mutual TLS (mTLS) per l'autenticazione all'Agent Gateway. Quando il gateway consente all'agente di uscire e accedere alle API Cloud de Confiance , ai server MCP, ad altri agenti e ad altri endpoint, l'agente tenta di accedere al di fuori del limite mTLS. Per contribuire a proteggere la comunicazione, l'accesso sensibile al contesto applica un criterio di accesso sensibile al contesto gestito da Google. Il criterio richiede a DPoP di convalidare il token associato al certificato che è associato all'identità dell'agente. Per ulteriori informazioni su come l'accesso sensibile al contesto utilizza mTLS e DPoP, vedi Sicurezza dell'agente di accesso sensibile al contesto.
Attributi CEL UAP
Nelle UAP, puoi definire le condizioni con espressioni condizionali. Le espressioni possono contenere più sottoespressioni. Il tipo di risorsa di destinazione che utilizzi in ogni condizione secondaria relazionale determina quali attributi puoi utilizzare.
Ad esempio, nella seguente condizione, nella sottoespressione destination.unregistered.path.startsWith('/v1/statements'),
il tipo di risorsa è una destinazione non registrata, l'attributo è destination.unregistered.path
e startsWith() è la funzione CEL.
destination.unregistered.host == 'finance.example.com' &&
destination.unregistered.path.startsWith('/v1/statements')
Gli attributi descritti nella tabella seguente sono disponibili per ogni tipo di risorsa:
| Tipo di risorsa di destinazione | Attributo | Dettagli | ||||||
|---|---|---|---|---|---|---|---|---|
Agent Registry |
destination.is_registered |
|
||||||
destination.agent_registry.resource_type |
|
|||||||
destination.agent_registry.location |
|
|||||||
destination.agent_registry.project_id |
|
|||||||
Agente |
destination.agent_registry.agent.name |
|
||||||
Server MCP |
destination.agent_registry.mcp_server.name |
|
||||||
destination.agent_registry.mcp_server.method |
|
|||||||
destination.agent_registry.mcp_server.tool.name |
|
|||||||
destination.agent_registry.mcp_server.tool.annotations.read_only_hint
|
|
|||||||
destination.agent_registry.mcp_server.tool.annotations.destructive_hint
|
|
|||||||
destination.agent_registry.mcp_server.tool.annotations.idempotent_hint
|
|
|||||||
destination.agent_registry.mcp_server.tool.annotations.open_world_hint
|
|
|||||||
destination.agent_registry.mcp_server.prompt.name |
|
|||||||
destination.agent_registry.mcp_server.resource.name |
|
|||||||
Endpoint |
destination.agent_registry.endpoint.name |
|
||||||
Destinazione non registrata |
destination.unregistered.host |
|
||||||
destination.unregistered.path |
|
|||||||
destination.unregistered.method |
|
Passaggi successivi
- Attributi CEL per le app universali
- Crea UAP IAM
- Gestisci UAP IAM
- Risolvi i problemi relativi alle UAP IAM
Codelab: Secure cross-cloud agentic AI applications
Scopri come proteggere le tue applicazioni agentiche nel codelab Protezione delle applicazioni di AI agentica cross-cloud.