Panoramica dei criteri di autorizzazione

Un criterio di autorizzazione (AuthzPolicy) applicato alla regola di forwarding degli Application Load Balancer definisce regole che specificano l'origine del traffico in entrata e le operazioni consentite o limitate per quell'origine. Inoltre, il criterio di autorizzazione illustra le condizioni in cui viene applicata una regola e specifica un'azione per consentire, negare o valutare ulteriormente il traffico.

I criteri di autorizzazione ti consentono di stabilire controlli di controllo dell'accesso dell'accesso per il traffico in entrata ai bilanciatori del carico delle applicazioni. Le richieste che superano questi controlli vengono inoltrate ai servizi di backend. Le richieste che non superano questi controlli vengono interrotte con una risposta non autorizzata.

I criteri di autorizzazione possono essere configurati nella regola di forwarding di tutti i bilanciatori del carico delle applicazioni con uno schema di bilanciamento del carico EXTERNAL_MANAGED o INTERNAL_MANAGED. I seguenti bilanciatori del carico delle applicazioni supportano i criteri di autorizzazione:

  • Bilanciatori del carico delle applicazioni esterni globali
  • Bilanciatori del carico delle applicazioni esterni a livello di regione

  • Bilanciatori del carico delle applicazioni interni regionali

  • Bilanciatori del carico delle applicazioni interni tra regioni

Negli Application Load Balancer, i criteri di autorizzazione vengono richiamati dopo la valutazione delle estensioni di route, dei criteri di sicurezza di rete (valutati da Google Cloud Armor), dei criteri di condivisione delle risorse cross-origin (CORS) e dei criteri Identity-Aware Proxy (IAP), ma prima di eseguire le azioni di gestione del traffico.

Per scoprire di più su quando vengono richiamati i criteri di autorizzazione nel percorso di elaborazione della richiesta, consulta Punti di estensibilità nel percorso dei dati del bilanciamento del carico.

Se vuoi utilizzare i criteri di autorizzazione per i servizi di cui è stato eseguito il deployment con Cloud Service Mesh, consulta Configurare la sicurezza del servizio con Envoy.

Regole dei criteri di autorizzazione

Un criterio di autorizzazione è costituito da un elenco di regole HTTP da confrontare con la richiesta in arrivo.

Per un criterio di autorizzazione con un'azione ALLOW o DENY, una regola HTTP (AuthzRule) definisce le condizioni che determinano se il traffico è consentito di passare attraverso il bilanciatore del carico. È richiesta almeno una regola HTTP.

Per un criterio di autorizzazione con un'azione CUSTOM, una regola HTTP (AuthzRule) definisce le condizioni che determinano se il traffico viene delegato al fornitore personalizzato per l'autorizzazione. Un provider personalizzato è obbligatorio, mentre le regole HTTP sono facoltative.

Una corrispondenza ai criteri si verifica quando almeno una regola HTTP corrisponde alla richiesta o quando nel criterio non sono definite regole HTTP.

Una regola HTTP del criterio di autorizzazione è costituita dai seguenti campi:

  • from: specifica l'identità del client consentita dalla regola. L'identità può essere ricavata da un certificato client in una connessione TLS reciproca o può essere l'identità dell'ambiente associata all'istanza della VM (macchina virtuale) del client, ad esempio da un account di servizio o da un tag sicuro.
  • to: specifica le operazioni consentite dalla regola, ad esempio gli URL a cui è possibile accedere o i metodi HTTP consentiti.
  • when: specifica vincoli aggiuntivi che devono essere soddisfatti. Puoi utilizzare le espressioni Common Expression Language (CEL) per definire le limitazioni.

Azioni dei criteri di autorizzazione

Durante la valutazione di una richiesta, un criterio di autorizzazione specifica l'azione (AuthzAction) da applicare alla richiesta. Un criterio di autorizzazione deve avere almeno un'azione, che può essere una delle seguenti:

  • ALLOW: consente alla richiesta di passare al backend se corrisponde a una delle regole specificate in un criterio ALLOW. Se esistono criteri ALLOW, ma non c'è corrispondenza, la richiesta viene rifiutata. In altre parole, la richiesta viene rifiutata se nessuno dei criteri di autorizzazione configurati con un'azione ALLOW corrisponde alla richiesta. In Cloud Logging, questa azione viene registrata come denied_as_no_allow_policies_matched_request.

    Affinché un'azione ALLOW venga applicata, devi avere almeno una regola HTTP.

  • DENY: nega la richiesta se corrisponde a una delle regole specificate in un criterio DENY. Se esistono criteri DENY, ma non c'è corrispondenza, la richiesta è consentita. In altre parole, la richiesta è consentita se nessuno dei criteri di autorizzazione configurati con un'azione DENY corrisponde alla richiesta. In Cloud Logging, questa azione viene registrata come allowed_as_no_deny_policies_matched_request.

    Per applicare un'azione DENY, devi avere almeno una regola HTTP.

  • CUSTOM: delega la decisione di autorizzazione a un fornitore di autorizzazione personalizzato, ad esempio IAP o estensioni di servizio. Per scoprire di più, consulta Utilizzare i criteri di autorizzazione per delegare le decisioni di autorizzazione.

    Se sono configurate regole HTTP per un criterio CUSTOM, la richiesta deve corrispondere alle regole HTTP per richiamare il provider personalizzato. Tuttavia, se non sono definite regole HTTP, il criterio di autorizzazione delega sempre la decisione di autorizzazione a un provider di autorizzazione personalizzato. Per saperne di più, consulta il seguente esempio in cui non sono definite regole HTTP e il criterio di autorizzazione delega la decisione di autorizzazione a un IAP:

    Crea il criterio di autorizzazione e attiva IAP

Ordine di valutazione dei criteri di autorizzazione

Un criterio di autorizzazione supporta i criteri CUSTOM, DENY e ALLOW per il controllo dell'accesso. Quando a una singola risorsa sono associati più criteri di autorizzazione, viene valutato prima il criterio CUSTOM, poi il criterio DENY e infine il criterio ALLOW. La valutazione viene determinata dalle seguenti regole:

  1. Se esiste un criterio CUSTOM che corrisponde alla richiesta, questo viene valutato utilizzando i fornitori di autorizzazione personalizzati e la richiesta viene rifiutata se il fornitore la rifiuta.CUSTOM I criteri DENY o ALLOW non vengono valutati, anche se sono configurati.

  2. Se esistono criteri DENY che corrispondono alla richiesta, la richiesta viene rifiutata. Eventuali criteri ALLOW non vengono valutati, anche se sono configurati.

  3. Se non esistono criteri ALLOW, la richiesta è consentita.

  4. Se uno dei criteri ALLOW corrisponde alla richiesta, consentila.

  5. Se esistono criteri ALLOW, ma non c'è corrispondenza, la richiesta viene rifiutata. In altre parole, la richiesta viene rifiutata per impostazione predefinita se nessuna delle azioni AuthzPolicies con ALLOW configurate corrisponde alla richiesta.

Utilizzare i criteri di autorizzazione per delegare le decisioni di autorizzazione

Per le decisioni di autorizzazione complesse che non possono essere espresse utilizzando il criterio di autorizzazione, delega la decisione di autorizzazione a fornitori di autorizzazioni personalizzate, come Identity-Aware Proxy (IAP), o crea la tua estensione di autorizzazione utilizzando le Estensioni di servizio. Questa opzione è utile quando vuoi utilizzare il tuo motore di autorizzazione on-premise o provider di identità di terze parti tramite IAP.

  • IAP: configura IAP per controllare l'accesso alle applicazioni dietro le regole di inoltro del bilanciatore del carico delle applicazioni. IAP verifica l'identità e il contesto dell'utente per determinare l'accesso. Può anche autenticare i token degli account di servizio Identity and Access Management (IAM) e valutare i criteri IAM, proteggendo l'accesso ai bucket backend esposti dall'Application Load Balancer. Per ulteriori informazioni, consulta Delegare l'autorizzazione a IAP e IAM.

    Potresti scegliere di delegare l'autenticazione a IAP e IAM nei seguenti scenari:

    • Utilizza IAM per la gestione delle autorizzazioni.
    • Implementa l'accesso sensibile al contesto.
    • Utilizza l'autenticazione basata su browser per le applicazioni web che richiedono un'autenticazione interattiva.
  • Estensioni di servizio: delega le decisioni di autorizzazione al tuo motore di autorizzazione personalizzato in esecuzione su Google Cloud istanze VM o on-premise. Ciò offre flessibilità per i criteri di autorizzazione complessi che non sono coperti dai criteri integrati. Per ulteriori informazioni, consulta Configurare un'estensione di autorizzazione.

Criterio di autorizzazione basato su tag o account di servizio

Puoi utilizzare attributi come gli account di servizio o i tag per identificare l'origine del traffico per i bilanciatori del carico delle applicazioni interni.

Per i bilanciatori del carico di applicazioni interni, puoi applicare criteri di autorizzazione in base agli account di servizio o ai tag associati alle risorse. Google Cloud Qualsiasi traffico proveniente da queste Google Cloud risorse collegate a un account di servizio o a un tag specifico può essere consentito, negato o delegato a un servizio esterno.

Le seguenti tabelle elencano le risorse di origine e le diverse architetture Virtual Private Cloud (VPC) che supportano l'utilizzo di account di servizio e tag.

Origine Assistenza per gli account di servizio Supporto dei tag
VM
Nodo GKE
Container GKE * *
VPC diretta per Cloud Run *
Connettore di accesso VPC serverless
Cloud VPN * *
Cloud Interconnect on premises * *
Bilanciatore del carico delle applicazioni
Bilanciatore del carico di rete

* Non supportato da Google Cloud.

L'indirizzo IP di origine è univoco e può essere utilizzato al suo posto.

VPC Architettura VPC Assistenza
All'interno della VPC Tra progetti (VPC condiviso)
All'interno della VPC Tra regioni
VPC incrociato Link di peering tra reti (VPC peer)
VPC incrociato Private Service Connect tra organizzazioni
VPC incrociato Passare da uno spoke all'altro di Network Connectivity Center

Per scoprire di più sulla configurazione di un criterio di autorizzazione basato su account di servizio e tag associati a una Google Cloud risorsa VM, consulta Criterio di autorizzazione basato su account di servizio o tag.

Quote

Per informazioni sulle quote per i criteri di autorizzazione, consulta quote e limiti per i criteri di autorizzazione.

Prezzi

I criteri di autorizzazione non vengono addebitati durante il periodo di anteprima. Tuttavia, quando utilizzi i Google Cloud bilanciatori del carico, ti vengono addebitati costi di rete. Per informazioni sui prezzi, consulta la sezione Prezzi.

Passaggi successivi