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 criterioALLOW
. Se esistono criteriALLOW
, ma non c'è corrispondenza, la richiesta viene rifiutata. In altre parole, la richiesta viene rifiutata se nessuno dei criteri di autorizzazione configurati con un'azioneALLOW
corrisponde alla richiesta. In Cloud Logging, questa azione viene registrata comedenied_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 criterioDENY
. Se esistono criteriDENY
, ma non c'è corrispondenza, la richiesta è consentita. In altre parole, la richiesta è consentita se nessuno dei criteri di autorizzazione configurati con un'azioneDENY
corrisponde alla richiesta. In Cloud Logging, questa azione viene registrata comeallowed_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:
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:
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 criteriDENY
oALLOW
non vengono valutati, anche se sono configurati.Se esistono criteri
DENY
che corrispondono alla richiesta, la richiesta viene rifiutata. Eventuali criteriALLOW
non vengono valutati, anche se sono configurati.Se non esistono criteri
ALLOW
, la richiesta è consentita.Se uno dei criteri
ALLOW
corrisponde alla richiesta, consentila.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 azioniAuthzPolicies
conALLOW
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.