REST Resource: projects.locations.endpointPolicies

Ressource: EndpointPolicy

EndpointPolicy est une ressource qui permet d'appliquer la configuration souhaitée aux points de terminaison qui répondent à des critères spécifiques. Par exemple, cette ressource peut être utilisée pour appliquer une "configuration d'authentification" et tous les points de terminaison qui servent 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 règle 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 des règles d'autorisation au trafic entrant aux 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 s'appliquer.

trafficPortSelector

object (TrafficPortSelector)

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

description

string

Facultatif. Description 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 mettre fin au 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 du proxy vers les points de terminaison réels. Plus précisément, il s'applique 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 règle 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

Correspondance basée 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 l'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 correspondance optimale. Par exemple, supposons qu'il existe trois ressources EndpointPolicy : P1, P2 et P3. Si P1 a le moteur de correspondance MATCH_ANY <A:1, B:1>, P2 MATCH_ALL <A:1,B:1> et P3 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 avec le libellé <A:1,B:1,C:1> se connecte, la configuration de P3 est sélectionnée.

S'il existe plusieurs correspondances optimales (par exemple, si une configuration P4 avec le sélecteur <A:1,D:1> existe et qu'un client avec le libellé <A:1,B:1,D:1> se connecte), sélectionnez celle dont la date 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 filterMatchCriteria. Cette liste ne peut contenir au maximum que 64 entrées. 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 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 de noms pour un seul libellé.

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

string

Obligatoire. Nom du libellé 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 un port.

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

string

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

Méthodes

create

Crée une règle de point de terminaison dans un projet et un emplacement donnés.

delete

Supprime une seule EndpointPolicy.

get

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

list

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

patch

Met à jour les paramètres d'une seule règle de point de terminaison.

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.