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)
    }
  ],
  "internalCaller": boolean
}
Campi
name

string

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

description

string

Facoltativo. Descrizione in testo libero della risorsa.

createTime

string (Timestamp format)

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

updateTime

string (Timestamp format)

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

labels

map (key: string, value: string)

Facoltativo. Set di tag di etichetta associati alla risorsa AuthorizationPolicy.

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

action

enum (Action)

Obbligatorio. L'azione da eseguire quando viene rilevata una corrispondenza con la regola. I valori possibili sono "ALLOW" o "DENY".

rules[]

object (Rule)

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

internalCaller

boolean

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

object (Source)

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

object (Destination)

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

string

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

string

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

string

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

integer (uint32 format)

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

paths[]

string

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

string

Facoltativo. Un elenco di metodi HTTP da abbinare. Deve corrispondere almeno un metodo. Non deve essere impostato per i servizi gRPC.

httpHeaderMatch

object (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 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 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 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, 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

create

Crea un nuovo AuthorizationPolicy in un progetto e una località specifici.

delete

Elimina un singolo AuthorizationPolicy.

get

Recupera i dettagli di un singolo AuthorizationPolicy.

getIamPolicy

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

list

Elenca i criteri di autorizzazione in un determinato progetto e in una località specifici.

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 un chiamante dispone per la risorsa specificata.