REST Resource: projects.locations.authorizationPolicies

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 (Action),
  "rules": [
    {
      object (Rule)
    }
  ]
}
Campi
name

string

Obbligatorio. Nome della risorsa AuthorizationPolicy. Corrisponde al pattern projects/{project}/locations/{location}/authorizationPolicies/<authorizationPolicy>.

description

string

Facoltativo. Descrizione in formato libero della risorsa.

createTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

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: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

labels

map (key: string, value: string)

Facoltativo. Insieme di tag di etichette associati alla risorsa AuthorizationPolicy.

Un oggetto contenente un elenco di coppie "key": value. Esempio: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

action

enum (Action)

Obbligatorio. L'azione da intraprendere quando viene trovata una corrispondenza con una regola. I valori possibili sono "ALLOW" e "DENY".

rules[]

object (Rule)

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 action verrà applicata a ogni richiesta.

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 (Source)
    }
  ],
  "destinations": [
    {
      object (Destination)
    }
  ]
}
Campi
sources[]

object (Source)

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[]

object (Destination)

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[]

string

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[]

string

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 (HttpHeaderMatch)
  }
}
Campi
hosts[]

string

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[]

integer (uint32 format)

Obbligatorio. Elenco delle porte di destinazione di cui trovare la corrispondenza. Deve corrispondere almeno una porta.

methods[]

string

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

object (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 type can be only one of the following:
  "regexMatch": string
  // End of list of possible types for union field type.
}
Campi
headerName

string

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 type.

type può essere solo uno dei seguenti tipi:

regexMatch

string

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

create

Crea una nuova risorsa AuthorizationPolicy in un progetto e una località specifici.

delete

Elimina una singola risorsa AuthorizationPolicy.

get

Recupera i dettagli di una singola risorsa AuthorizationPolicy.

getIamPolicy

Recupera la policy di controllo dell'accesso per una risorsa.

list

Elenca le risorse AuthorizationPolicies in un progetto e una località specifici.

patch

Aggiorna i parametri di una singola risorsa AuthorizationPolicy.

setIamPolicy

Imposta la policy di controllo dell'accesso sulla risorsa specificata.

testIamPermissions

Restituisce le autorizzazioni di cui dispone un chiamante per la risorsa specificata.