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 formato libero della risorsa. |
createTime |
Solo output. Timestamp di creazione della risorsa. Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
updateTime |
Solo output. Timestamp dell'aggiornamento della risorsa. Utilizza RFC 3339, in cui l'output generato è sempre normalizzato in base al fuso orario UTC e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
labels |
Facoltativo. Insieme di tag di etichette associati alla risorsa AuthorizationPolicy. Un oggetto contenente un elenco di coppie |
action |
Obbligatorio. L'azione da intraprendere quando viene trovata una corrispondenza con una 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 corrisponde se l'origine e la destinazione corrispondono. Se viene lasciato vuoto, l'azione specificata nel campo |
Azione
Valori possibili che definiscono l'azione da intraprendere.
Enum | |
---|---|
ACTION_UNSPECIFIED |
Valore predefinito. |
ALLOW |
Concedi l'accesso. |
DENY |
Rifiuta l'accesso. Le regole di negazione devono essere evitate, a meno che non vengano utilizzate per fornire un fallback "nega tutto" predefinito. |
Regola
Specifica delle regole.
Rappresentazione JSON |
---|
{ "sources": [ { object ( |
Campi | |
---|---|
sources[] |
Facoltativo. Elenco degli attributi per la sorgente di traffico. Tutte le fonti devono corrispondere. Un'origine è una corrispondenza se sia i principal sia gli ipBlock corrispondono. Se non viene impostata, l'azione specificata nel campo "azione" verrà applicata senza alcun controllo delle regole per l'origine. |
destinations[] |
Facoltativo. Elenco degli 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 impostata, 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 delle identità peer da abbinare per l'autorizzazione. Almeno un'entità deve corrispondere. Ogni peer può essere una corrispondenza esatta, una corrispondenza con prefisso (ad esempio "namespace/*"), una corrispondenza con suffisso (ad esempio "*/service-account") o una corrispondenza di presenza "*". L'autorizzazione basata sul nome principale senza la convalida del certificato (configurata dalla risorsa ServerTlsPolicy) è considerata non sicura. |
ipBlocks[] |
Facoltativo. Elenco di intervalli CIDR da abbinare 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. L'autorizzazione basata solo sull'IP di origine deve essere evitata. Gli indirizzi IP di eventuali bilanciatori del carico o proxy devono 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 dei nomi host da corrispondere. Corrispondenza con l'intestazione ":authority" nelle richieste HTTP. Deve corrispondere almeno un host. Ogni host può essere una corrispondenza esatta, una corrispondenza con prefisso (ad esempio "mydomain.*"), una corrispondenza con suffisso (ad esempio "*.myorg.com") o una corrispondenza di presenza (qualsiasi) "*". |
ports[] |
Obbligatorio. Elenco delle porte di destinazione da abbinare. Deve corrispondere almeno una porta. |
paths[] |
Facoltativo. Un elenco di percorsi HTTP da corrispondere. 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 con 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. Corrispondenza con la coppia chiave:valore nell'intestazione HTTP. Fornisce una corrispondenza flessibile basata sulle intestazioni HTTP, per casi d'uso potenzialmente avanzati. Almeno un'intestazione deve corrispondere. Evita di utilizzare le corrispondenze delle intestazioni per prendere decisioni di autorizzazione, a meno che non vi sia una forte garanzia che le richieste arrivino tramite un client o un proxy attendibile. |
HttpHeaderMatch
Specifica degli attributi di corrispondenza delle intestazioni HTTP.
Rappresentazione JSON |
---|
{ "headerName": string, // Union field |
Campi | |
---|---|
headerName |
Obbligatorio. Il nome dell'intestazione HTTP da corrispondere. Per la corrispondenza con l'autorità della richiesta HTTP, utilizza headerMatch con il nome dell'intestazione ":authority". Per trovare una corrispondenza con il metodo di una richiesta, utilizza headerName ":method". |
Campo unione
|
|
regexMatch |
Obbligatorio. Il valore dell'intestazione deve corrispondere all'espressione regolare specificata in regexMatch. Per la grammatica delle espressioni regolari, consulta la pagina 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 lo specificatore di porta dell'intestazione Host RFC2616. |
Metodi |
|
---|---|
|
Crea un nuovo AuthorizationPolicy in un progetto e una località specifici. |
|
Elimina una singola AuthorizationPolicy. |
|
Recupera i dettagli di una singola AuthorizationPolicy. |
|
Elenca AuthorizationPolicies in un determinato progetto e in una determinata località. |
|
Aggiorna i parametri di una singola AuthorizationPolicy. |