- Risorsa: AuthzPolicy
- Target
- LoadBalancingScheme
- AuthzRule
- Da
- RequestSource
- StringMatch
- RequestResource
- TagValueIdSet
- A
- RequestOperation
- HeaderSet
- HeaderMatch
- AuthzAction
- CustomProvider
- CloudIap
- AuthzExtension
- Metodi
Risorsa: AuthzPolicy
AuthzPolicy
è una risorsa che consente di inoltrare il traffico a un backend di callout progettato per eseguire la scansione del traffico per motivi di sicurezza.
Rappresentazione JSON |
---|
{ "name": string, "createTime": string, "updateTime": string, "description": string, "labels": { string: string, ... }, "target": { object ( |
Campi | |
---|---|
name |
Obbligatorio. Identificatore. Nome della risorsa |
createTime |
Solo output. Timestamp di creazione della risorsa. Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione a livello di nanosecondo e fino a nove cifre frazionarie. Esempi: |
updateTime |
Solo output. Timestamp dell'aggiornamento della risorsa. Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione a livello di nanosecondo e fino a nove cifre frazionarie. Esempi: |
description |
Facoltativo. Una descrizione leggibile della risorsa. |
labels |
Facoltativo. Set di etichette associate alla risorsa Il formato deve essere conforme ai seguenti requisiti. Un oggetto contenente un elenco di coppie |
target |
Obbligatorio. Specifica l'insieme di risorse a cui applicare questo criterio. |
httpRules[] |
Facoltativo. Un elenco di regole HTTP di autorizzazione da confrontare con la richiesta in arrivo. Una corrispondenza ai criteri si verifica quando almeno una regola HTTP corrisponde alla richiesta o quando non sono specificate regole HTTP nel criterio. Per l'azione Consenti o Nega è necessaria almeno una regola HTTP. Limite di 5 regole. |
action |
Obbligatorio. Può essere uno dei seguenti valori: Quando l'azione è Quando l'azione è Quando l'azione è Quando arriva una richiesta, le norme vengono valutate nel seguente ordine:
|
customProvider |
Facoltativo. Obbligatorio se l'azione è |
Target
Specifica l'insieme di destinazioni a cui applicare questo criterio.
Rappresentazione JSON |
---|
{
"loadBalancingScheme": enum ( |
Campi | |
---|---|
loadBalancingScheme |
Obbligatorio. Tutti i gateway e le regole di inoltro a cui fanno riferimento questa policy e le estensioni devono condividere lo stesso schema di bilanciamento del carico. Valori supportati: |
resources[] |
Obbligatorio. Un elenco di riferimenti alle Regole di inoltro a cui verrà applicato questo criterio. |
LoadBalancingScheme
Schemi di bilanciamento del carico supportati dalla risorsa AuthzPolicy
. I valori validi sono INTERNAL_MANAGED
e EXTERNAL_MANAGED
. Per ulteriori informazioni, consulta la Panoramica dei servizi di backend.
Enum | |
---|---|
LOAD_BALANCING_SCHEME_UNSPECIFIED |
Valore predefinito. Non utilizzare. |
INTERNAL_MANAGED |
Indica che viene utilizzato per il bilanciamento del carico delle applicazioni interno regionale o interno tra regioni. |
EXTERNAL_MANAGED |
Indica che viene utilizzato per il bilanciamento del carico delle applicazioni esterno globale o esterno regionale. |
INTERNAL_SELF_MANAGED |
Indica che viene utilizzato per Cloud Service Mesh. Destinato esclusivamente all'utilizzo da parte del controller GKE CSM. |
AuthzRule
Condizioni da confrontare con la richiesta in entrata.
Rappresentazione JSON |
---|
{ "from": { object ( |
Campi | |
---|---|
from |
Facoltativo. Descrive le proprietà di una o più origini di una richiesta. |
to |
Facoltativo. Descrive le proprietà di uno o più target di una richiesta. |
when |
Facoltativo. Espressione CEL che descrive le condizioni da soddisfare per l'azione. Il risultato dell'espressione CEL viene combinato con AND da e a. Consulta il riferimento alla lingua CEL per un elenco degli attributi disponibili. |
Da
Descrive le proprietà di una o più origini di una richiesta.
Rappresentazione JSON |
---|
{ "sources": [ { object ( |
Campi | |
---|---|
sources[] |
Facoltativo. Descrive le proprietà delle origini di una richiesta. È necessario specificare almeno uno tra sources o notSources. Limite di 5 origini. Una corrispondenza si verifica quando QUALSIASI origine (in sources o notSources) corrisponde alla richiesta. All'interno di un'unica origine, la corrispondenza segue la semantica AND tra i campi e la semantica OR all'interno di un singolo campo, ovvero si verifica una corrispondenza quando QUALSIASI principale corrisponde E QUALSIASI ipBlock corrisponde. |
notSources[] |
Facoltativo. Descrive le proprietà negate delle origini delle richieste. Corrisponde alle richieste provenienti da origini che non corrispondono ai criteri specificati in questo campo. È necessario specificare almeno uno tra sources o notSources. |
RequestSource
Descrive le proprietà di una singola origine.
Rappresentazione JSON |
---|
{ "principals": [ { object ( |
Campi | |
---|---|
principals[] |
Facoltativo. Un elenco di identità derivate dal certificato del client. Questo campo non corrisponderà a una richiesta a meno che l'autenticazione TLS reciproca non sia abilitata per la regola di inoltro o il gateway. Ogni identità è una stringa il cui valore viene confrontato con l'URI SAN, il DNS SAN o il campo dell'oggetto nel certificato del cliente. La corrispondenza può essere esatta, con prefisso, suffisso o una corrispondenza di sottostringa. Deve essere specificato uno dei valori esatto, prefisso, suffisso o contiene. Limite di 5 entità. |
resources[] |
Facoltativo. Un elenco di risorse da associare alla risorsa della VM di origine di una richiesta. Limite di 5 risorse. |
StringMatch
Determina la modalità di corrispondenza di un valore stringa.
Rappresentazione JSON |
---|
{ "ignoreCase": boolean, // Union field |
Campi | |
---|---|
ignoreCase |
Se true, indica che la corrispondenza esatta/prefisso/suffisso/contiene non deve essere sensibile alle maiuscole. Ad esempio, se è impostato su true, il corrispettivo |
Campo unione
|
|
exact |
La stringa di input deve corrispondere esattamente alla stringa specificata qui. Esempi:
|
prefix |
La stringa inserita deve avere il prefisso specificato qui. Nota: il prefisso vuoto non è consentito. Utilizza invece la regex. Esempi:
|
suffix |
La stringa inserita deve avere il suffisso specificato qui. Nota: il prefisso vuoto non è consentito. Utilizza invece la regex. Esempi:
|
contains |
La stringa di input deve avere la sottostringa specificata qui. Nota: la corrispondenza contiene vuoto non è consentita. Utilizza invece un'espressione regolare. Esempi:
|
RequestResource
Descrive le proprietà di una risorsa VM client che accede ai bilanciatori del carico delle applicazioni interni.
Rappresentazione JSON |
---|
{ "tagValueIdSet": { object ( |
Campi | |
---|---|
tagValueIdSet |
Facoltativo. Un elenco di ID permanenti dei valori dei tag delle risorse da confrontare con il valore dei tag del gestore delle risorse associato alla VM di origine di una richiesta. |
iamServiceAccount |
Facoltativo. Un account di servizio IAM da associare all'account di servizio di origine della VM che invia la richiesta. |
TagValueIdSet
Descrive un insieme di ID permanenti dei valori dei tag delle risorse da confrontare con il valore dei tag del gestore delle risorse associato alla VM di origine di una richiesta.
Rappresentazione JSON |
---|
{ "ids": [ string ] } |
Campi | |
---|---|
ids[] |
Obbligatorio. Un elenco di ID permanenti dei valori dei tag delle risorse da confrontare con il valore dei tag del gestore delle risorse associato alla VM di origine di una richiesta. La corrispondenza segue la semantica AND, il che significa che tutti gli ID devono corrispondere. Limite di 5 corrispondenze. |
A
Descrive le proprietà di uno o più target di una richiesta.
Rappresentazione JSON |
---|
{ "operations": [ { object ( |
Campi | |
---|---|
operations[] |
Facoltativo. Descrive le proprietà di uno o più target di una richiesta. È necessario specificare almeno uno tra operations o notOperations. Limite di 5 operazioni. Si verifica una corrispondenza quando QUALSIASI operazione (in operations o notOperations) corrisponde. All'interno di un'operazione, la corrispondenza segue la semantica AND tra i campi e la semantica OR all'interno di un campo, ovvero una corrispondenza si verifica quando QUALSIASI percorso corrisponde E QUALSIASI intestazione corrisponde E QUALSIASI metodo corrisponde. |
notOperations[] |
Facoltativo. Descrive le proprietà negate dei target di una richiesta. Corrisponde alle richieste di operazioni che non corrispondono ai criteri specificati in questo campo. È necessario specificare almeno uno tra operations o notOperations. |
RequestOperation
Descrive le proprietà di uno o più target di una richiesta.
Rappresentazione JSON |
---|
{ "headerSet": { object ( |
Campi | |
---|---|
headerSet |
Facoltativo. Un elenco di intestazioni da confrontare nell'intestazione HTTP. |
hosts[] |
Facoltativo. Un elenco di host HTTP da confrontare. La corrispondenza può essere esatta, con prefisso, con suffisso o contiene (corrispondenza con sottostringa). Le corrispondenze sono sempre sensibili alle maiuscole, a meno che non sia impostato ignoreCase. Limite di 5 corrispondenze. |
paths[] |
Facoltativo. Un elenco di percorsi da abbinare. La corrispondenza può essere esatta, con prefisso, con suffisso o contiene (corrispondenza con sottostringa). Le corrispondenze sono sempre sensibili alle maiuscole, a meno che non sia impostato ignoreCase. Limite di 5 corrispondenze. Tieni presente che questa corrispondenza del percorso include i parametri di ricerca. Per i servizi gRPC, deve essere un nome completo del tipo /package.service/method. |
methods[] |
Facoltativo. Un elenco di metodi HTTP da abbinare. Ogni voce deve essere un nome di metodo HTTP valido (GET, PUT, POST, HEAD, PATCH, DELETE, OPTIONS). Consente solo la corrispondenza esatta ed è sempre sensibile alle maiuscole. |
HeaderSet
Descrive un insieme di intestazioni HTTP con cui eseguire la corrispondenza.
Rappresentazione JSON |
---|
{
"headers": [
{
object ( |
Campi | |
---|---|
headers[] |
Obbligatorio. Un elenco di intestazioni da confrontare nell'intestazione HTTP. La corrispondenza può essere esatta, con prefisso, con suffisso o contiene (corrispondenza con sottostringa). La corrispondenza segue la semantica AND, il che significa che tutte le intestazioni devono corrispondere. Le corrispondenze sono sempre sensibili alle maiuscole, a meno che non sia impostato ignoreCase. Limite di 5 corrispondenze. |
HeaderMatch
Determina in che modo deve essere abbinata un'intestazione HTTP.
Rappresentazione JSON |
---|
{
"name": string,
"value": {
object ( |
Campi | |
---|---|
name |
Facoltativo. Specifica il nome dell'intestazione nella richiesta. |
value |
Facoltativo. Specifica in che modo verrà eseguita la corrispondenza dell'intestazione. |
AuthzAction
L'azione da applicare a questo criterio. I valori validi sono ALLOW
, DENY
, CUSTOM
.
Enum | |
---|---|
AUTHZ_ACTION_UNSPECIFIED |
Azione non specificata. |
ALLOW |
Consenti il passaggio della richiesta al backend. |
DENY |
Rifiutare la richiesta e restituire un codice HTTP 404 al client. |
CUSTOM |
Delegare la decisione di autorizzazione a un motore di autorizzazione esterno. |
CustomProvider
Consente di delegare le decisioni di autorizzazione a Cloud IAP o a Service Extensions.
Rappresentazione JSON |
---|
{ "cloudIap": { object ( |
Campi | |
---|---|
cloudIap |
Facoltativo. Delega le decisioni di autorizzazione a Cloud IAP. Applicabile solo per i bilanciatori del carico gestiti. L'attivazione di Cloud IAP a livello di AuthzPolicy non è compatibile con le impostazioni di Cloud IAP in BackendService. L'attivazione degli acquisti in-app in entrambi i casi comporterà il fallimento della richiesta. Assicurati che l'IAP sia abilitato in AuthzPolicy o in BackendService, ma non in entrambi. |
authzExtension |
Facoltativo. Delega la decisione di autorizzazione all'estensione di servizio creata dall'utente. È possibile specificare solo uno tra cloudIap o authzExtension. |
CloudIap
Questo tipo non contiene campi.
Facoltativo. Delega le decisioni di autorizzazione a Cloud IAP. Applicabile solo per i bilanciatori del carico gestiti. L'attivazione di Cloud IAP a livello di AuthzPolicy non è compatibile con le impostazioni di Cloud IAP in BackendService. L'attivazione degli acquisti in-app in entrambi i casi comporterà il fallimento della richiesta. Assicurati che l'IAP sia abilitato in AuthzPolicy o in BackendService, ma non in entrambi.
AuthzExtension
Facoltativo. Delega la decisione di autorizzazione all'estensione creata dall'utente. È possibile specificare solo uno tra cloudIap o authzExtension.
Rappresentazione JSON |
---|
{ "resources": [ string ] } |
Campi | |
---|---|
resources[] |
Obbligatorio. Un elenco di riferimenti alle estensioni di autorizzazione che verranno richiamate per le richieste corrispondenti a questo criterio. Limite di 1 fornitore personalizzato. |
Metodi |
|
---|---|
|
Crea un nuovo AuthzPolicy in un determinato progetto e posizione. |
|
Consente di eliminare un singolo criterio AuthzPolicy. |
|
Recupera i dettagli di un singolo AuthzPolicy. |
|
Elenca AuthzPolicies in un determinato progetto e posizione. |
|
Aggiorna i parametri di un singolo AuthzPolicy. |