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 gli agenti di destinazione, i server MCP e gli endpoint. Queste policy sono associate 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 l'autenticazione e l'autorizzazione dell'identità dell'agente end-to-end.
Per configurare le policy di accesso degli utenti per Agent Gateway, consulta Configura le policy di accesso degli utenti 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à.
Abilita Agent Gateway
Per utilizzare le policy di comunicazione degli agenti, devi configurare Agent Gateway.
Ti consigliamo di configurare Agent Gateway in modalità dry run (DRY_RUN) in un ambiente di gestione temporanea per verificare che le policy funzionino come previsto.
Quando hai la certezza che le policy funzionino correttamente, puoi aggiornare la configurazione di Agent Gateway per impostare la modalità di applicazione forzata su ENFORCE. In questa modalità, le comunicazioni degli agenti che violano la policy non sono consentite e la comunicazione con la risorsa viene bloccata.
Panoramica delle UAP
Le policy di accesso degli agenti controllano se una o più entità dell'agente possono accedere a una o più risorse di destinazione. Le policy di accesso uniforme estendono il modello delle policy IAM supportando più regole in un'unica policy. A differenza delle policy di autorizzazione e di negazione IAM, ogni regola di una policy di accesso unificato può avere un effetto di autorizzazione e un effetto 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 degli UAP con Agent Gateway e IAP offre un controllo comportamentale rigoroso sugli agenti di cui è stato eseguito il deployment nella tua azienda. Puoi rappresentare casi d'uso reali e granulari di governance degli agenti in un'unica policy.
Una policy tipica contiene almeno due regole distinte:
- Regola di autorizzazione: le regole di autorizzazione hanno un effetto di autorizzazione che consente alle entità dell'agente di accedere a operazioni specifiche e sicure, come l'esecuzione di un'operazione di lettura su uno strumento per recuperare i dati di monitoraggio o visualizzare le voci del registry.
- 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 richiesta 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 di clienti. L'amministratore configura un Agent Gateway con IAP per applicare le policy di accesso degli utenti IAM. L'amministratore può configurare un UAP con una regola di autorizzazione che consente all'entità dell'agente di leggere i ticket 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 sia di autorizzazione che di negazione, le organizzazioni possono eseguire il deployment di una singola policy di conformità aziendale direttamente sull'infrastruttura cloud sottostante per limitare il comportamento degli agenti.
Best practice
Segui queste best practice quando configuri le policy in 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 le regole di negazione per i guardrail:utilizza regole di negazione esplicite per implementare guardrail critici, ad esempio il blocco di strumenti distruttivi sugli endpoint di produzione. L'utilizzo di regole di negazione per i guardrail è efficace perché le regole di negazione eseguono l'override delle regole di autorizzazione.
- Esegui controlli regolari: esamina periodicamente i log di Cloud Audit Logs e le configurazioni delle policy per verificare che siano conformi alle policy di sicurezza della tua organizzazione.
Componenti UAP
Le policy di accesso utente contengono una o più regole. Le regole sono costituite dai seguenti componenti:
Entità dell'agente
Nelle policy di accesso degli utenti IAM, definisci una o più entità dell'agente. Le entità dell'agente sono i membri a cui concedi l'accesso. Gli agenti vengono specificati 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à degli agenti sono rappresentate da identificatori delle entità che contengono l'identità dell'agente formattata in SPIFFE (ad esempio, principal://agents.global.org-...).
Puoi specificare un array di singole identità di agenti o un array di set di entità.
Le identità degli agenti integrate vengono sottoposte a provisioning nei servizi Cloud de Confiance come Agent Runtime (motore di ragionamento), Gemini Enterprise (Discovery Engine) e i servizi Cloud Run configurati con l'identità dell'agente. Queste entità agente 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 delle 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à dell'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 registry di Agent Registry.
Le risorse registrate includono:
- Registry: interi registry di agenti all'interno di un progetto.
- Server MCP: server MCP registrati in un registry degli agenti.
- Agenti: agenti registrati in un registry degli 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 registry degli agenti.
I singoli servizi possono essere registrati in Agent Registry. Se regionalizzi i registri degli agenti e la regola gestisce l'accesso alle risorse registrate, le 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 registry degli 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 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 granulari:
Ambito delle risorse di destinazione: identifica quali risorse di destinazione sono regolate dalla regola. Nei file delle policy in formato JSON, specifichi gli attributi di destinazione, come
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 di 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, specifichi queste espressioni CEL nel campo conditions della definizione della regola.
Nella console Cloud de Confiance , puoi configurare regole standard utilizzando il Generatore di condizioni o scrivere espressioni CEL personalizzate direttamente nell'Editor condizioni.
Autorizzazioni
In IAP V2 con i criteri di accesso degli utenti IAM, l'autorizzazione iap.googleapis.com/resources.egressViaIAP viene sempre concessa sulla risorsa di destinazione. In gcloud CLI e nell'API REST, specifichi 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 policy di accesso utente 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 predefinite dell'identità dell'agente end-to-end utilizzando i seguenti protocolli:
- Mutual TLS (mTLS)
- Demonstrating Proof of Possession (DPoP)
Le identità degli agenti vengono sottoposte a provisioning con un certificato X.509 e un token associato al certificato. IAP impone alle identità degli agenti di utilizzare mutual TLS (mTLS) per l'autenticazione con Agent Gateway. Quando il gateway consente all'agente di uscire e accedere alle API Cloud de Confiance , ai server MCP, ad altri agenti ed endpoint, l'agente tenta di accedere al di fuori del confine mTLS. Per contribuire a proteggere le comunicazioni, l'accesso sensibile al contesto applica una policy di accesso sensibile al contesto gestita da Google. La policy richiede che DPoP convalidi il token associato al certificato, che è associato all'identità dell'agente. Per saperne di più su come l'accesso sensibile al contesto utilizza mTLS e DPoP, consulta Sicurezza dell'agente di accesso sensibile al contesto.
Attributi CEL UAP
Nelle UAP puoi definire condizioni con espressioni condizionali. Le espressioni possono contenere più sottoespressioni. Il tipo di risorsa di destinazione che utilizzi in ogni condizione secondaria relazionale determina gli attributi che 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 policy di accesso degli utenti
- Crea i criteri di accesso degli utenti IAM
- Gestisci i criteri di accesso degli utenti IAM
- Risolvi i problemi relativi alle policy di accesso degli utenti IAM
Codelab: proteggi le applicazioni di AI agentica cross-cloud
Scopri come proteggere le tue applicazioni agentiche nel codelab Protezione delle applicazioni di AI agentica cross-cloud.