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. Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione al nanosecondo e fino a nove cifre frazionarie. Esempi: |
updateTime |
Solo output. Timestamp di aggiornamento della risorsa. Un timestamp in formato "Zulu" UTC RFC3339, con risoluzione al nanosecondo e fino a nove cifre frazionarie. 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" e "DENY". |
rules[] |
Facoltativo. Elenco delle regole di cui trovare la corrispondenza. Tieni presente che almeno una delle regole deve corrispondere affinché venga eseguita l'azione specificata nel campo "action". Una regola è una corrispondenza se l'origine e la destinazione corrispondono. Se l'elenco viene lasciato vuoto, l'azione specificata nel campo |
Azione
Valori possibili che definiscono l'azione da intraprendere.
| Enum | |
|---|---|
ACTION_UNSPECIFIED |
Valore predefinito. |
ALLOW |
Concede l'accesso. |
DENY |
Nega 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 della sorgente di traffico. Tutte le sorgenti devono corrispondere. Una sorgente è una corrispondenza se sia le entità sia i blocchi IP corrispondono. Se non viene impostata, l'azione specificata nel campo "action" verrà applicata senza alcun controllo delle regole per la sorgente. |
destinations[] |
Facoltativo. Elenco degli attributi della 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 "action" verrà applicata senza alcun controllo delle regole per la destinazione. |
Sorgente
Specifica degli attributi delle sorgenti di traffico.
| Rappresentazione JSON |
|---|
{ "principals": [ string ], "ipBlocks": [ string ] } |
| Campi | |
|---|---|
principals[] |
Facoltativo. Elenco delle identità dei peer di cui trovare la corrispondenza per l'autorizzazione. Deve corrispondere almeno un'entità. Ogni peer può essere una corrispondenza esatta, una corrispondenza del prefisso (ad esempio "namespace/*"), una corrispondenza del suffisso (ad esempio "*/service-account") o una corrispondenza di presenza "*". L'autorizzazione basata sul nome dell'entità senza la convalida del certificato (configurata dalla risorsa ServerTlsPolicy) è considerata non sicura. |
ipBlocks[] |
Facoltativo. Elenco di intervalli CIDR di cui trovare la corrispondenza in base all'indirizzo IP di origine. Deve corrispondere almeno un blocco IP. Sono supportati IP singoli (ad es. "1.2.3.4") e CIDR (ad es. "1.2.3.0/24"). 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
],
"methods": [
string
],
"httpHeaderMatch": {
object ( |
| Campi | |
|---|---|
hosts[] |
Obbligatorio. Elenco dei nomi host di cui trovare la corrispondenza. La ricerca della corrispondenza viene eseguita rispetto all'intestazione ":authority" nelle richieste HTTP. Deve corrispondere almeno un host. Ogni host può essere una corrispondenza esatta, una corrispondenza del prefisso (ad esempio "mydomain.*"), una corrispondenza del suffisso (ad esempio "*.myorg.com") o una corrispondenza di presenza (qualsiasi) "*". |
ports[] |
Obbligatorio. Elenco delle porte di destinazione di cui trovare la corrispondenza. Deve corrispondere almeno una porta. |
methods[] |
Facoltativo. Un elenco di metodi HTTP di cui trovare la corrispondenza. Deve corrispondere almeno un metodo. Questo elenco 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. Deve corrispondere almeno un'intestazione. Evita di utilizzare le corrispondenze delle intestazioni per prendere decisioni in merito all'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 di cui trovare la corrispondenza. Per la corrispondenza con l'autorità della richiesta HTTP, utilizza un headerMatch con il nome dell'intestazione ":authority". Per la 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, visita 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 l'indicatore di porta dell'intestazione Host RFC2616. |
Metodi |
|
|---|---|
|
Crea una nuova risorsa AuthorizationPolicy in un progetto e una località specifici. |
|
Elimina una singola risorsa AuthorizationPolicy. |
|
Recupera i dettagli di una singola risorsa AuthorizationPolicy. |
|
Recupera la policy di controllo dell'accesso per una risorsa. |
|
Elenca le risorse AuthorizationPolicies in un progetto e una località specifici. |
|
Aggiorna i parametri di una singola risorsa AuthorizationPolicy. |
|
Imposta la policy di controllo dell'accesso sulla risorsa specificata. |
|
Restituisce le autorizzazioni di cui dispone un chiamante per la risorsa specificata. |