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 la "configuration d'authentification" à 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. Il est principalement utilisé pour 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 être appliquées.

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 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 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 sidecar, où le proxy s'identifie comme point de terminaison au plan de contrôle, la connexion entre le sidecar et le point de terminaison nécessitant une authentification. Si ce champ n'est pas défini, l'authentification est désactivée (ouverte). Ne s'applique que 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 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 y ait trois ressources EndpointPolicy : P1, P2 et P3, et que P1 a 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 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 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 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 le port.

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

string

Facultatif. Liste de 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 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 informations d'un seul EndpointPolicy.

getIamPolicy

Récupère la stratégie de contrôle d'accès d'une ressource.

list

Répertorie les EndpointPolicies d'un projet et d'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.