- Risorsa: EndpointPolicy
- EndpointPolicyType
- EndpointMatcher
- MetadataLabelMatcher
- MetadataLabelMatchCriteria
- MetadataLabels
- TrafficPortSelector
- Metodi
Risorsa: EndpointPolicy
EndpointPolicy è una risorsa che consente di applicare la configurazione desiderata agli endpoint che corrispondono a criteri specifici. Ad esempio, questa risorsa può essere utilizzata per applicare la configurazione dell'autenticazione a tutti gli endpoint che vengono pubblicati sulla porta 8080.
| Rappresentazione JSON |
|---|
{ "name": string, "createTime": string, "updateTime": string, "labels": { string: string, ... }, "type": enum ( |
| Campi | |
|---|---|
name |
Identificatore. Nome della risorsa EndpointPolicy. Corrisponde al pattern |
createTime |
Solo output. Timestamp di creazione della risorsa. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z e utilizza 0, 3, 6 o 9 cifre frazionarie. Sono accettati anche offset diversi da "Z". Esempi: |
updateTime |
Solo output. Timestamp di aggiornamento della risorsa. Utilizza RFC 3339, in cui l'output generato è sempre con normalizzazione Z 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 EndpointPolicy. Un oggetto contenente un elenco di coppie |
type |
Obbligatorio. Il tipo di policy per gli endpoint. Viene utilizzato principalmente per convalidare la configurazione. |
authorizationPolicy |
Facoltativo. Questo campo specifica l'URL della risorsa AuthorizationPolicy che applica le policy di autorizzazione al traffico in entrata negli endpoint corrispondenti. Consulta la sezione Autorizzazione. Se questo campo non viene specificato, l'autorizzazione viene disabilitata (nessun controllo delle autorizzazioni) per questo endpoint. |
endpointMatcher |
Obbligatorio. Un matcher che seleziona gli endpoint a cui devono essere applicate le policy. |
trafficPortSelector |
Facoltativo. Selettore porta per gli endpoint (corrispondenti). Se non viene specificato alcun selettore porta, la configurazione corrispondente viene applicata a tutte le porte. |
description |
Facoltativo. Una descrizione in formato libero della risorsa. Lunghezza massima: 1024 caratteri. |
serverTlsPolicy |
Facoltativo. Un URL che fa riferimento alla risorsa ServerTlsPolicy. Questa risorsa viene utilizzata per determinare la policy di autenticazione da applicare per terminare il traffico in entrata nei backend identificati. Se questo campo non è impostato, l'autenticazione è disabilitata (aperta) per questo endpoint. |
clientTlsPolicy |
Facoltativo. Un URL che fa riferimento a una risorsa ClientTlsPolicy. Questa risorsa può essere impostata per specificare l'autenticazione per il traffico dal proxy agli endpoint effettivi. Più nello specifico, viene applicata al traffico in uscita dal proxy all'endpoint. Viene in genere utilizzata per il modello sidecar in cui il proxy si identifica come endpoint al control plane e la connessione tra il sidecar e l'endpoint richiede l'autenticazione. Se questo campo non è impostato, l'autenticazione è disabilitata (aperta). Applicabile solo quando EndpointPolicyType è SIDECAR_PROXY. |
EndpointPolicyType
Il tipo di policy per gli endpoint.
| Enum | |
|---|---|
ENDPOINT_POLICY_TYPE_UNSPECIFIED |
Valore predefinito. Non deve essere utilizzato. |
SIDECAR_PROXY |
Rappresenta un proxy di cui è stato eseguito il deployment come sidecar. |
GRPC_SERVER |
Rappresenta un backend gRPC senza proxy. |
EndpointMatcher
Una definizione di un matcher che seleziona gli endpoint a cui devono essere applicate le policy.
| Rappresentazione JSON |
|---|
{ // Union field |
| Campi | |
|---|---|
Campo unione matcher_type. Specifica il tipo di matcher utilizzato per il matcher di questo endpoint. matcher_type può essere solo uno dei seguenti tipi: |
|
metadataLabelMatcher |
Il matcher si basa sui metadati dei nodi presentati dai client xDS. |
MetadataLabelMatcher
Il matcher basato sui metadati dei nodi presentati dai client xDS.
| Rappresentazione JSON |
|---|
{ "metadataLabelMatchCriteria": enum ( |
| Campi | |
|---|---|
metadataLabelMatchCriteria |
Specifica come deve essere eseguita la corrispondenza. I valori supportati sono: MATCH_ANY: almeno una delle etichette specificate nel matcher deve corrispondere ai metadati presentati dal client xDS. MATCH_ALL: i metadati presentati dal client xDS devono contenere tutte le etichette specificate qui. La selezione viene determinata in base alla corrispondenza migliore. Ad esempio, supponiamo che esistano tre risorse EndpointPolicy, denominate P1, P2 e P3, e che P1 abbia il matcher MATCH_ANY <A:1, B:1>, P2 abbia MATCH_ALL <A:1,B:1> e P3 abbia MATCH_ALL <A:1,B:1,C:1>. Se si connette un client con etichetta <A:1>, viene selezionata la configurazione di P1. Se si connette un client con etichetta <A:1,B:1>, viene selezionata la configurazione di P2. Se si connette un client con etichetta <A:1,B:1,C:1>, viene selezionata la configurazione di P3. Se esiste più di una corrispondenza migliore (ad esempio, se esiste una configurazione P4 con selettore <A:1,D:1> e se si connette un client con etichetta <A:1,B:1,D:1>), scegli la corrispondenza con la data di creazione più vecchia. |
metadataLabels[] |
L'elenco delle coppie chiave-valore delle etichette che devono corrispondere alle etichette nei metadati forniti in base a filterMatchCriteria. Questo elenco può contenere al massimo 64 voci. L'elenco può essere vuoto se il criterio di corrispondenza è MATCH_ANY, per specificare una corrispondenza con caratteri jolly (ovvero, corrisponde a qualsiasi client). |
MetadataLabelMatchCriteria
Possibili valori dei criteri che definiscono la logica di applicazione della corrispondenza.
| Enum | |
|---|---|
METADATA_LABEL_MATCH_CRITERIA_UNSPECIFIED |
Valore predefinito. Non deve essere utilizzato. |
MATCH_ANY |
Almeno una delle etichette specificate nel matcher deve corrispondere ai metadati presentati dal client xDS. |
MATCH_ALL |
I metadati presentati dal client xDS devono contenere tutte le etichette specificate qui. |
MetadataLabels
Definisce una coppia di nome-valore per una singola etichetta.
| Rappresentazione JSON |
|---|
{ "labelName": string, "labelValue": string } |
| Campi | |
|---|---|
labelName |
Obbligatorio. Il nome dell'etichetta viene visualizzato come chiave nei metadati del nodo xDS. |
labelValue |
Obbligatorio. Valore dell'etichetta presentato come valore corrispondente alla chiave riportata sopra nei metadati del nodo xDS. |
TrafficPortSelector
Specifica di un selettore basato sulla porta.
| Rappresentazione JSON |
|---|
{ "ports": [ string ] } |
| Campi | |
|---|---|
ports[] |
Facoltativo. Un elenco di porte. Possono essere numeri di porta o intervalli di porte (ad esempio, [80-90] specifica tutte le porte fra 80 e 90 incluse) o porte denominate o * per specificare tutte le porte. Se l'elenco è vuoto, vengono selezionate tutte le porte. |
Metodi |
|
|---|---|
|
Crea una nuova risorsa EndpointPolicy in un progetto e una località specifici. |
|
Elimina una singola risorsa EndpointPolicy. |
|
Recupera i dettagli di una singola risorsa EndpointPolicy. |
|
Elenca le risorse EndpointPolicy in un progetto e una località specifici. |
|
Aggiorna i parametri di una singola risorsa EndpointPolicy. |
|
Imposta la policy di controllo dell'accesso sulla risorsa specificata. |
|
Restituisce le autorizzazioni di cui dispone un chiamante per la risorsa specificata. |