REST Resource: projects.locations.endpointPolicies

Ressource: EndpointPolicy

EndpointPolicy est une ressource qui permet d'appliquer la configuration souhaitée sur les points de terminaison qui correspondent à des critères spécifiques. Par exemple, cette ressource peut être utilisée pour appliquer une "configuration d'authentification" à tous les points de terminaison qui diffusent des données sur le port 8080.

Représentation JSON
{
  "name": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "type": enum (EndpointPolicyType),
  "authorizationPolicy": string,
  "endpointMatcher": {
    object (EndpointMatcher)
  },
  "trafficPortSelector": {
    object (TrafficPortSelector)
  },
  "description": string,
  "serverTlsPolicy": string,
  "clientTlsPolicy": string
}
Champs
name

string

Obligatoire. Nom de la ressource EndpointPolicy. Il correspond au modèle projects/{project}/locations/global/endpointPolicies/{endpointPolicy}.

createTime

string (Timestamp format)

Uniquement en sortie. Code temporel de la création de la ressource.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Uniquement en sortie. Code temporel de la mise à jour de la ressource.

Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : "2014-10-02T15:01:23Z" et "2014-10-02T15:01:23.045123456Z".

labels

map (key: string, value: string)

Facultatif. Ensemble de tags d'étiquettes associés à la ressource EndpointPolicy.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

type

enum (EndpointPolicyType)

Obligatoire. Type de stratégie de point de terminaison. Cela sert principalement à valider la configuration.

authorizationPolicy

string

Facultatif. Ce champ spécifie l'URL de la ressource AuthorizationPolicy qui applique les règles d'autorisation au trafic entrant au niveau des points de terminaison correspondants. Reportez-vous à la section "Autorisation". Si ce champ n'est pas spécifié, l'autorisation est désactivée(aucune vérification d'autorisation) pour ce point de terminaison.

endpointMatcher

object (EndpointMatcher)

Obligatoire. Outil de mise en correspondance qui sélectionne les points de terminaison auxquels les règles doivent être appliquées.

trafficPortSelector

object (TrafficPortSelector)

Facultatif. Sélecteur de port pour les points de terminaison (correspondants). Si aucun sélecteur de port n'est fourni, la configuration correspondante est appliquée à tous les ports.

description

string

Facultatif. Description en texte libre de la ressource. Longueur maximale : 1 024 caractères.

serverTlsPolicy

string

Facultatif. URL faisant référence à la ressource ServerTlsPolicy. ServerTlsPolicy permet de déterminer la règle d'authentification à appliquer pour interrompre le trafic entrant au niveau des backends identifiés. Si ce champ n'est pas défini, l'authentification est désactivée(ouverte) pour ce point de terminaison.

clientTlsPolicy

string

Facultatif. URL faisant référence à une ressource ClientTlsPolicy. ClientTlsPolicy peut être défini pour spécifier l'authentification du trafic entre le proxy et les points de terminaison réels. Plus précisément, elle est appliquée au trafic sortant du proxy vers le point de terminaison. Cette méthode est généralement utilisée pour le modèle side-car dans lequel le proxy s'identifie comme point de terminaison du plan de contrôle, la connexion entre le side-car et le point de terminaison nécessitant une authentification. Si ce champ n'est pas défini, l'authentification est désactivée(ouverte). Applicable uniquement lorsque EndpointPolicyType est défini sur SIDECAR_PROXY.

EndpointPolicyType

Type de stratégie de point de terminaison.

Enums
ENDPOINT_POLICY_TYPE_UNSPECIFIED Valeur par défaut. Ne doit pas être utilisé.
SIDECAR_PROXY Représente un proxy déployé en tant que side-car.
GRPC_SERVER Représente un backend gRPC sans proxy.

EndpointMatcher

Définition d'un outil de mise en correspondance qui sélectionne les points de terminaison auxquels les règles doivent être appliquées.

Représentation JSON
{

  // Union field matcher_type can be only one of the following:
  "metadataLabelMatcher": {
    object (MetadataLabelMatcher)
  }
  // End of list of possible types for union field matcher_type.
}
Champs
Champ d'union matcher_type. Spécifie le type de l'outil de mise en correspondance utilisé pour cet outil de mise en correspondance des points de terminaison. matcher_type ne peut être qu'un des éléments suivants :
metadataLabelMatcher

object (MetadataLabelMatcher)

L'outil de mise en correspondance est basé sur les métadonnées de nœud présentées par les clients xDS.

MetadataLabelMatcher

Outil de mise en correspondance basé sur les métadonnées de nœud présentées par les clients xDS.

Représentation JSON
{
  "metadataLabelMatchCriteria": enum (MetadataLabelMatchCriteria),
  "metadataLabels": [
    {
      object (MetadataLabels)
    }
  ]
}
Champs
metadataLabelMatchCriteria

enum (MetadataLabelMatchCriteria)

Indique comment la mise en correspondance doit être effectuée.

Les valeurs acceptées sont les suivantes: MATCH_ANY: au moins un des libellés spécifiés dans l'outil de mise en correspondance doit correspondre aux métadonnées présentées par le client xDS. MATCH_ALL: les métadonnées présentées par le client xDS doivent contenir tous les libellés spécifiés ici.

La sélection est déterminée en fonction de la meilleure correspondance. Par exemple, supposons qu'il existe trois ressources EndpointPolicy : P1, P2 et P3, et que P1 possède l'outil de mise en correspondance MATCH_ANY <A:1, B:1>, P2 contient MATCH_ALL <A:1,B:1> et P3 a MATCH_ALL <A:1,B:1,C:1>.

Si un client portant l'étiquette <A:1> se connecte, la configuration de P1 sera sélectionnée.

Si un client portant l'étiquette <A:1,B:1> se connecte, la configuration de P2 sera sélectionnée.

Si un client portant l'étiquette <A:1,B:1,C:1> se connecte, la configuration de P3 sera sélectionnée.

S'il existe plusieurs meilleures correspondances (par exemple, si une configuration P4 avec le sélecteur <A:1,D:1> existe et qu'un client avec l'étiquette <A:1,B:1,D:1> se connecte), sélectionnez celle dont l'heure de création est la plus ancienne.

metadataLabels[]

object (MetadataLabels)

Liste des paires de valeurs d'étiquettes qui doivent correspondre aux étiquettes des métadonnées fournies en fonction de filterMatchCritères. Cette liste peut contenir 64 entrées au maximum. La liste peut être vide si le critère de correspondance est MATCH_ANY, afin de spécifier une correspondance avec caractère générique (c'est-à-dire qu'elle correspond à n'importe quel client).

MetadataLabelMatchCriteria

Valeurs de critères possibles qui définissent la logique de la mise en correspondance.

Enums
METADATA_LABEL_MATCH_CRITERIA_UNSPECIFIED Valeur par défaut. Ne doit pas être utilisé.
MATCH_ANY Au moins un des libellés spécifiés dans l'outil de mise en correspondance doit correspondre aux métadonnées présentées par le client xDS.
MATCH_ALL Les métadonnées présentées par le client xDS doivent contenir tous les libellés spécifiés ici.

MetadataLabels

Définit une valeur de paire nom pour une seule étiquette.

Représentation JSON
{
  "labelName": string,
  "labelValue": string
}
Champs
labelName

string

Obligatoire. Nom de l'étiquette présenté comme clé dans les métadonnées du nœud xDS.

labelValue

string

Obligatoire. Valeur de l'étiquette présentée en tant que valeur correspondant à la clé ci-dessus, dans les métadonnées du nœud xDS.

TrafficPortSelector

Spécification d'un sélecteur basé sur le port.

Représentation JSON
{
  "ports": [
    string
  ]
}
Champs
ports[]

string

Facultatif. Liste des ports. Il peut s'agir de numéros de ports ou d'une plage de ports (par exemple, [80-90] spécifie tous les ports de 80 à 90, y compris 80 et 90), de ports nommés ou * pour spécifier tous les ports. Si la liste est vide, tous les ports sont sélectionnés.

Méthodes

create

Crée un EndpointPolicy dans un projet et un emplacement donnés.

delete

Supprime un seul EndpointPolicy.

get

Récupère les détails d'un seul EndpointPolicy.

list

Répertorie les EndpointPolicies dans un projet et un emplacement donnés.

patch

Met à jour les paramètres d'un seul EndpointPolicy.

setIamPolicy

Définit la stratégie de contrôle d'accès de la ressource spécifiée.

testIamPermissions

Renvoie les autorisations qu'un appelant a sur la ressource spécifiée.