Risorsa: AuthorizationPolicy
AuthorizationPolicy è una risorsa che specifica in che modo un server deve autorizzare le connessioni in entrata. Questa risorsa di per sé non modifica la configurazione, a meno che non venga collegata a un proxy https di destinazione o a una risorsa del selettore di configurazione degli endpoint.
Rappresentazione JSON |
---|
{ "name": string, "description": string, "createTime": string, "updateTime": string, "labels": { string: string, ... }, "action": enum ( |
Campi | |
---|---|
name |
Obbligatorio. Nome della risorsa AuthorizationPolicy. Corrisponde al pattern |
description |
Facoltativo. Descrizione in testo libero della risorsa. |
createTime |
Solo output. Timestamp di creazione della risorsa. Un timestamp in formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: |
updateTime |
Solo output. Il timestamp di aggiornamento della risorsa. Un timestamp in formato "Zulu" RFC3339 UTC, con risoluzione in nanosecondi e fino a nove cifre frazionarie. Esempi: |
labels |
Facoltativo. Set di tag di etichetta associati alla risorsa AuthorizationPolicy. Un oggetto contenente un elenco di |
action |
Obbligatorio. L'azione da eseguire quando viene rilevata una corrispondenza con la regola. I valori possibili sono "ALLOW" o "DENY". |
rules[] |
Facoltativo. Elenco delle regole da abbinare. Tieni presente che almeno una delle regole deve corrispondere affinché venga eseguita l'azione specificata nel campo "azione". Una regola è una corrispondenza se esiste una corrispondenza tra un'origine e una destinazione. Se viene lasciato vuoto, l'azione specificata nel campo |
internalCaller |
Facoltativo. L'impostazione di un flag per identificare i controller interni attiva un controllo P4SA per confermare che il chiamante proviene da un P4SA di un servizio incluso nella lista consentita, anche se gli altri campi facoltativi non sono impostati. |
Azione
I valori possibili che definiscono l'azione da eseguire.
Enum | |
---|---|
ACTION_UNSPECIFIED |
Valore predefinito. |
ALLOW |
Concedi l'accesso. |
DENY |
Nega l'accesso. Le regole di negazione devono essere evitate, a meno che non vengano utilizzate per fornire un'opzione di riserva predefinita "deny all". |
Regola
Specifica delle regole.
Rappresentazione JSON |
---|
{ "sources": [ { object ( |
Campi | |
---|---|
sources[] |
Facoltativo. Elenco di attributi per la sorgente di traffico. Tutte le origini devono corrispondere. Un'origine è una corrispondenza se entrambe le entità e ipBlocks corrispondono. Se non viene configurato, l'azione specificata nel campo "Azione" verrà applicata senza alcun controllo delle regole per l'origine. |
destinations[] |
Facoltativo. Elenco di attributi per la destinazione del traffico. Tutte le destinazioni devono corrispondere. Una destinazione è una corrispondenza se una richiesta corrisponde a tutti gli host, le porte, i metodi e le intestazioni specificati. Se non viene configurato, l'azione specificata nel campo "Azione" verrà applicata senza alcun controllo delle regole per la destinazione. |
Origine
Specifica degli attributi delle sorgenti di traffico.
Rappresentazione JSON |
---|
{ "principals": [ string ], "ipBlocks": [ string ] } |
Campi | |
---|---|
principals[] |
Facoltativo. Elenco di identità peer da abbinare per l'autorizzazione. Deve corrispondere almeno un'entità. Ogni peer può essere una corrispondenza esatta o per prefisso (ad esempio "spazio dei nomi/*") o una corrispondenza di suffisso (ad esempio "*/account-servizio") o una corrispondenza di presenza "*". L'autorizzazione basata sul nome dell'entità senza convalida del certificato (configurata dalla risorsa ServerTlsPolicy) è considerata non sicura. |
ipBlocks[] |
Facoltativo. Elenco di intervalli CIDR da trovare in base all'indirizzo IP di origine. Deve corrispondere almeno un blocco IP. IP singolo (ad es. "1.2.3.4") e CIDR (ad es. "1.2.3.0/24") sono supportati. Deve essere evitata l'autorizzazione basata sul solo IP di origine. Gli indirizzi IP di qualsiasi bilanciatore del carico o proxy dovrebbero essere considerati non attendibili. |
Destinazione
Specifica degli attributi della destinazione del traffico.
Rappresentazione JSON |
---|
{
"hosts": [
string
],
"ports": [
integer
],
"paths": [
string
],
"methods": [
string
],
"httpHeaderMatch": {
object ( |
Campi | |
---|---|
hosts[] |
Obbligatorio. Elenco di nomi host da trovare. Corrisponde all'intestazione ":authority" nelle richieste http. Deve essere presente almeno un host corrispondente. Ogni host può essere una corrispondenza esatta o una corrispondenza del prefisso (ad esempio "miodominio.*") o una corrispondenza del suffisso (ad esempio "*.myorg.com") o una corrispondenza di presenza (qualsiasi) "*". |
ports[] |
Obbligatorio. Elenco di porte di destinazione da abbinare. Deve corrispondere almeno una porta. |
paths[] |
Facoltativo. Un elenco di percorsi HTTP da abbinare. I metodi gRPC devono essere presentati come nome completo nel formato "/packageName.serviceName/methodName". Deve corrispondere almeno un percorso. Ogni percorso può essere una corrispondenza esatta, una corrispondenza con prefisso (ad esempio "/packageName.serviceName/*") o una corrispondenza del suffisso (ad esempio "*/video") o una corrispondenza di presenza (qualsiasi) "*". |
methods[] |
Facoltativo. Un elenco di metodi HTTP da abbinare. Deve corrispondere almeno un metodo. Non deve essere impostato per i servizi gRPC. |
httpHeaderMatch |
Facoltativo. Crea una corrispondenza con la coppia chiave-valore nell'intestazione http. Fornisce una corrispondenza flessibile basata sulle intestazioni HTTP, per casi d'uso potenzialmente avanzati. Deve corrispondere almeno un'intestazione. Evita di utilizzare corrispondenze di intestazione per prendere decisioni relative all'autorizzazione, a meno che non vi sia una solida garanzia che le richieste arrivino attraverso un client o un proxy attendibile. |
HttpHeaderMatch
Specifica degli attributi di corrispondenza dell'intestazione HTTP.
Rappresentazione JSON |
---|
{ "headerName": string, // Union field |
Campi | |
---|---|
headerName |
Obbligatorio. Il nome dell'intestazione HTTP da abbinare. Per la corrispondenza con l'autorità della richiesta HTTP, utilizza un headerMatch con il nome dell'intestazione ":authority". Per trovare una corrispondenza con il metodo di una richiesta, utilizza headerName ":method". |
Campo di unione
|
|
regexMatch |
Obbligatorio. Il valore dell'intestazione deve corrispondere all'espressione regolare specificata in regexMatch. Per la grammatica delle espressioni regolari, vedi: en.cppreference.com/w/cpp/regex/ecmascript Per la corrispondenza con una porta specificata nella richiesta HTTP, utilizza headerMatch con headerName impostato su Host e un'espressione regolare che soddisfi l'identificatore di porta dell'intestazione RFC2616 Host. |
Metodi |
|
---|---|
|
Crea un nuovo AuthorizationPolicy in un progetto e una località specifici. |
|
Elimina un singolo AuthorizationPolicy. |
|
Recupera i dettagli di un singolo AuthorizationPolicy. |
|
Ottieni il criterio di controllo dell'accesso per una risorsa. |
|
Elenca i criteri di autorizzazione in un determinato progetto e in una località specifici. |
|
Aggiorna i parametri di un singolo AuthorizationPolicy. |
|
Imposta il criterio di controllo dell'accesso sulla risorsa specificata. |
|
Restituisce le autorizzazioni di cui un chiamante dispone per la risorsa specificata. |