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

labels

map (key: string, value: string)

Facoltativo. Set di tag etichetta 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 eseguire quando viene trovata una corrispondenza con una regola. I valori possibili sono "ALLOW" o "DENY".

rules[]

object (Rule)

Facoltativo. Elenco di regole da associare. Tieni presente che è necessario che almeno una delle regole corrisponda affinché l'azione specificata nel campo "action" venga eseguita. Una regola è una corrispondenza se esistono un'origine e una destinazione corrispondenti. Se viene lasciato vuoto, l'azione specificata nel campo action verrà applicata a ogni richiesta.

Azione

Valori possibili che definiscono l'azione da eseguire.

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 valore predefinito "Rifiuta tutto".

Regola

Specifica delle regole.

Rappresentazione JSON
{
  "sources": [
    {
      object (Source)
    }
  ],
  "destinations": [
    {
      object (Destination)
    }
  ]
}
Campi
sources[]

object (Source)

Facoltativo. Elenco di attributi per la sorgente di traffico. Tutte le origini devono corrispondere. Un'origine corrisponde se sia i principali che gli ipBlock corrispondono. Se non è impostato, l'azione specificata nel campo "action" verrà applicata senza alcun controllo delle regole per l'origine.

destinations[]

object (Destination)

Facoltativo. Elenco di attributi per la destinazione del traffico. Tutte le destinazioni devono corrispondere. Una destinazione corrisponde a una richiesta se quest'ultima corrisponde a tutti gli host, le porte, i metodi e le intestazioni specificati. Se non è impostato, l'azione specificata nel campo "action" 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[]

string

Facoltativo. Elenco di identità di peering da associare per l'autorizzazione. Deve corrispondere almeno un principale. 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 convalida del certificato (configurata dalla risorsa ServerTlsPolicy) è considerata non sicura.

ipBlocks[]

string

Facoltativo. Elenco di intervalli CIDR da associare in base all'indirizzo IP di origine. Deve corrispondere almeno un blocco IP. Un singolo IP (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 delle destinazioni del traffico.

Rappresentazione JSON
{
  "hosts": [
    string
  ],
  "ports": [
    integer
  ],
  "methods": [
    string
  ],
  "httpHeaderMatch": {
    object (HttpHeaderMatch)
  }
}
Campi
hosts[]

string

Obbligatorio. Elenco di nomi host da associare. Corrispondenza con l'intestazione ":authority" nelle richieste HTTP. Deve essere presente almeno una corrispondenza per un host. Ogni host può essere una corrispondenza esatta, una corrispondenza con un prefisso (ad es. "miodominio.*"), una corrispondenza con un suffisso (ad es. "*.miaorganizzazione.com") o una corrispondenza con la presenza di un qualsiasi carattere "*".

ports[]

integer (uint32 format)

Obbligatorio. Elenco di porte di destinazione da associare. Deve corrispondere almeno una porta.

methods[]

string

Facoltativo. Un elenco di metodi HTTP da associare. Deve corrispondere almeno un metodo. 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 degli header per prendere decisioni di autorizzazione, a meno che non esista una garanzia solida 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 da associare. Per la corrispondenza con l'autorità della richiesta HTTP, utilizza un'espressione headerMatch con il nome dell'intestazione ":authority". Per trovare una corrispondenza con il metodo di una richiesta, utilizza il nome intestazione ":method".

Campo unione type.

type può essere solo uno dei seguenti:

regexMatch

string

Obbligatorio. Il valore dell'intestazione deve corrispondere all'espressione regolare specificata in regexMatch. Per la grammatica delle espressioni regolari, consulta: en.cppreference.com/w/cpp/regex/ecmascript Per la corrispondenza con una porta specificata nella richiesta HTTP, utilizza una corrispondenza dell'intestazione con headerName impostato su Host e un'espressione regolare che soddisfi lo specificatore di porta dell'intestazione Host RFC2616.

Metodi

create

Crea un nuovo AuthorizationPolicy in un determinato progetto e posizione.

delete

Consente di eliminare una singola norma AuthorizationPolicy.

get

Recupera i dettagli di un singolo AuthorizationPolicy.

getIamPolicy

Recupera il criterio di controllo dell'accesso per una risorsa.

list

Elenca le autorizzazioni in un determinato progetto e in una determinata località.

patch

Aggiorna i parametri di un singolo AuthorizationPolicy.

setIamPolicy

Imposta il criterio di controllo dell'accesso sulla risorsa specificata.

testIamPermissions

Restituisce le autorizzazioni di cui dispone un chiamante sulla risorsa specificata.