REST Resource: projects.locations.endpointPolicies

Recurso: EndpointPolicy

EndpointPolicy es un recurso que ayuda a aplicar la configuración deseada en los endpoints que cumplen criterios específicos. Por ejemplo, este recurso se puede usar para aplicar la "configuración de autenticación" a todos los endpoints que se sirven en el puerto 8080.

Representación 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
}
Campos
name

string

Identificador. Nombre del recurso EndpointPolicy. Coincide con el patrón projects/{project}/locations/global/endpointPolicies/{endpointPolicy}.

createTime

string (Timestamp format)

Solo de salida. Marca de tiempo de creación del recurso.

Usa RFC 3339, donde la salida generada siempre se normaliza con Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otros desplazamientos distintos de "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Solo de salida. Marca de tiempo de la última actualización del recurso.

Usa RFC 3339, donde la salida generada siempre se normaliza con Z y usa 0, 3, 6 o 9 dígitos fraccionarios. También se aceptan otros desplazamientos distintos de "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30".

labels

map (key: string, value: string)

Opcional. Conjunto de etiquetas asociadas al recurso EndpointPolicy.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }

type

enum (EndpointPolicyType)

Obligatorio. El tipo de política de endpoint. Se usa principalmente para validar la configuración.

authorizationPolicy

string

Opcional. Este campo especifica la URL del recurso AuthorizationPolicy que aplica políticas de autorización al tráfico entrante en los endpoints coincidentes. Consulta Autorización. Si no se especifica este campo, la autorización se inhabilita(no se realizan comprobaciones de autorización) para este endpoint.

endpointMatcher

object (EndpointMatcher)

Obligatorio. Un matcher que selecciona los endpoints a los que se deben aplicar las políticas.

trafficPortSelector

object (TrafficPortSelector)

Opcional. Selector de puerto de los endpoints (coincidentes). Si no se proporciona ningún selector de puerto, la configuración coincidente se aplica a todos los puertos.

description

string

Opcional. Descripción de texto libre del recurso. La longitud máxima es de 1024 caracteres.

serverTlsPolicy

string

Opcional. URL que hace referencia al recurso ServerTlsPolicy. ServerTlsPolicy se usa para determinar la política de autenticación que se debe aplicar para finalizar el tráfico entrante en los backend identificados. Si no se define este campo, la autenticación se inhabilita(abierta) para este endpoint.

clientTlsPolicy

string

Opcional. URL que hace referencia a un recurso ClientTlsPolicy. Se puede definir ClientTlsPolicy para especificar la autenticación del tráfico del proxy a los endpoints reales. En concreto, se aplica al tráfico saliente del proxy al endpoint. Se suele usar en el modelo sidecar, en el que el proxy se identifica como endpoint en el plano de control y la conexión entre el sidecar y el endpoint requiere autenticación. Si no se define este campo, la autenticación se inhabilita(abierta). Solo se aplica cuando EndpointPolicyType es SIDECAR_PROXY.

EndpointPolicyType

El tipo de política de endpoint.

Enumeraciones
ENDPOINT_POLICY_TYPE_UNSPECIFIED Valor predeterminado. No se debe usar.
SIDECAR_PROXY Representa un proxy implementado como sidecar.
GRPC_SERVER Representa un backend de gRPC sin proxy.

EndpointMatcher

Definición de un elemento de coincidencia que selecciona los endpoints a los que se deben aplicar las políticas.

Representación 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.
}
Campos
Campo de unión matcher_type. Especifica el tipo de matcher que se usa en este matcher de endpoint. matcher_type solo puede ser una de las siguientes cosas:
metadataLabelMatcher

object (MetadataLabelMatcher)

El buscador se basa en los metadatos de los nodos que presentan los clientes de xDS.

MetadataLabelMatcher

El buscador que se basa en los metadatos de los nodos presentados por los clientes de xDS.

Representación JSON
{
  "metadataLabelMatchCriteria": enum (MetadataLabelMatchCriteria),
  "metadataLabels": [
    {
      object (MetadataLabels)
    }
  ]
}
Campos
metadataLabelMatchCriteria

enum (MetadataLabelMatchCriteria)

Especifica cómo se debe hacer la coincidencia.

Los valores admitidos son: MATCH_ANY: al menos una de las etiquetas especificadas en el elemento de coincidencia debe coincidir con los metadatos presentados por el cliente de xDS. MATCH_ALL: los metadatos presentados por el cliente xDS deben contener todas las etiquetas especificadas aquí.

La selección se determina en función de la mejor coincidencia. Por ejemplo, supongamos que hay tres recursos EndpointPolicy: P1, P2 y P3. Si P1 tiene el elemento de coincidencia MATCH_ANY <A:1, B:1>, P2 tiene MATCH_ALL <A:1, B:1> y P3 tiene MATCH_ALL <A:1, B:1, C:1>.

Si se conecta un cliente con la etiqueta <A:1>, se seleccionará la configuración de P1.

Si se conecta un cliente con la etiqueta <A:1,B:1>, se seleccionará la configuración de P2.

Si se conecta un cliente con la etiqueta <A:1,B:1,C:1>, se seleccionará la configuración de P3.

Si hay más de una coincidencia óptima (por ejemplo, si existe una configuración P4 con el selector <A:1,D:1> y se conecta un cliente con la etiqueta <A:1,B:1,D:1>), elige la que tenga una hora de creación anterior.

metadataLabels[]

object (MetadataLabels)

Lista de pares de valores de etiquetas que deben coincidir con las etiquetas de los metadatos proporcionados en función de filterMatchCriteria. Esta lista puede tener un máximo de 64 entradas. La lista puede estar vacía si el criterio de coincidencia es MATCH_ANY para especificar una coincidencia comodín (es decir, que coincida con cualquier cliente).

MetadataLabelMatchCriteria

Posibles valores de criterios que definen la lógica de cómo se realiza la coincidencia.

Enumeraciones
METADATA_LABEL_MATCH_CRITERIA_UNSPECIFIED Valor predeterminado. No se debe usar.
MATCH_ANY Al menos una de las etiquetas especificadas en el buscador debe coincidir con los metadatos presentados por el cliente xDS.
MATCH_ALL Los metadatos que presenta el cliente xDS deben contener todas las etiquetas especificadas aquí.

MetadataLabels

Define un valor de par de nombre para una sola etiqueta.

Representación JSON
{
  "labelName": string,
  "labelValue": string
}
Campos
labelName

string

Obligatorio. Nombre de la etiqueta presentado como clave en los metadatos del nodo xDS.

labelValue

string

Obligatorio. Valor de la etiqueta presentado como el valor correspondiente a la clave anterior en los metadatos del nodo xDS.

TrafficPortSelector

Especificación de un selector basado en puertos.

Representación JSON
{
  "ports": [
    string
  ]
}
Campos
ports[]

string

Opcional. Una lista de puertos. Pueden ser números de puerto o intervalos de puertos (por ejemplo, [80-90] especifica todos los puertos del 80 al 90, incluidos el 80 y el 90), puertos con nombre o * para especificar todos los puertos. Si la lista está vacía, se seleccionan todos los puertos.

Métodos

create

Crea un EndpointPolicy en un proyecto y una ubicación determinados.

delete

Elimina un EndpointPolicy.

get

Obtiene los detalles de un solo EndpointPolicy.

list

Muestra las EndpointPolicies de un proyecto y una ubicación determinados.

patch

Actualiza los parámetros de un solo EndpointPolicy.

setIamPolicy

Aplica la política de control de acceso del recurso especificado.

testIamPermissions

Devuelve los permisos que tiene una sobre el recurso especificado.