REST Resource: projects.locations.endpointPolicies

Recurso: EndpointPolicy

EndpointPolicy es un recurso que ayuda a aplicar la configuración deseada en los extremos que coinciden con criterios específicos. Por ejemplo, este recurso se puede usar para aplicar la "configuración de autenticación" a todos los extremos que se entregan 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

Obligatorio. Es el nombre del recurso EndpointPolicy. Coincide con el patrón projects/{project}/locations/global/endpointPolicies/{endpointPolicy}.

createTime

string (Timestamp format)

Solo salida. Marca de tiempo cuando se creó el recurso.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Solo salida. La marca de tiempo cuando se creó el recurso.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

labels

map (key: string, value: string)

Opcional. Es un conjunto de etiquetas asociadas con el recurso EndpointPolicy.

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

type

enum (EndpointPolicyType)

Obligatorio. Es el tipo de política de extremo. 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 extremos coincidentes. Consulta Autorización. Si no se especifica este campo, la autorización se inhabilita(no se realizan verificaciones de autorización) para este extremo.

endpointMatcher

object (EndpointMatcher)

Obligatorio. Es un comparador que selecciona los extremos a los que se deben aplicar las políticas.

trafficPortSelector

object (TrafficPortSelector)

Opcional. Selector de puertos para los extremos (que coinciden). Si no se proporciona un selector de puertos, la configuración coincidente se aplica a todos los puertos.

description

string

Opcional. Es una descripción del recurso en formato de texto libre. Longitud máxima: 1,024 caracteres.

serverTlsPolicy

string

Opcional. Es una URL que hace referencia al recurso ServerTlsPolicy. ServerTlsPolicy se usa para determinar la política de autenticación que se aplicará para finalizar el tráfico entrante en los backends identificados. Si no se establece este campo, la autenticación estará inhabilitada(abierta) para este extremo.

clientTlsPolicy

string

Opcional. Es una URL que hace referencia a un recurso ClientTlsPolicy. Se puede configurar ClientTlsPolicy para especificar la autenticación del tráfico del proxy a los extremos reales. Más específicamente, se aplica al tráfico saliente del proxy al extremo. Por lo general, se usa para el modelo de sidecar, en el que el proxy se identifica como extremo para el plano de control, y la conexión entre el sidecar y el extremo requiere autenticación. Si no se configura este campo, la autenticación se inhabilita(se abre). Solo se aplica cuando EndpointPolicyType es SIDECAR_PROXY.

EndpointPolicyType

Es el tipo de política de extremo.

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

EndpointMatcher

Es una definición de un comparador que selecciona los extremos 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 comparador que se usa para este comparador de extremos. matcher_type puede ser solo uno de los siguientes:
metadataLabelMatcher

object (MetadataLabelMatcher)

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

MetadataLabelMatcher

Es el comparador que se basa en los metadatos de nodos que presentan los clientes de xDS.

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

enum (MetadataLabelMatchCriteria)

Especifica cómo se debe realizar la coincidencia.

Los valores admitidos son los siguientes: MATCH_ANY: Al menos una de las etiquetas especificadas en el comparador debe coincidir con los metadatos que presenta el cliente de xDS. MATCH_ALL: Los metadatos que presenta el cliente de 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 de EndpointPolicy, P1, P2 y P3, y que P1 tiene el comparador 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 perfecta (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 la fecha de creación más antigua.

metadataLabels[]

object (MetadataLabels)

Es la lista de pares de valores de etiqueta que deben coincidir con las etiquetas de los metadatos proporcionados según 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 de comodín (es decir, que coincida con cualquier cliente).

MetadataLabelMatchCriteria

Son los posibles valores de criterios que definen la lógica de cómo se realiza la coincidencia.

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

MetadataLabels

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

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

string

Obligatorio. Es el nombre de la etiqueta que se presenta como clave en los metadatos del nodo xDS.

labelValue

string

Obligatorio. Es el valor de la etiqueta que se presenta 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. Es una lista de puertos. Pueden ser números de puerto o un rango de puertos (por ejemplo, [80-90] especifica todos los puertos del 80 al 90, incluidos 80 y 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 una nueva EndpointPolicy en un proyecto y una ubicación determinados.

delete

Borra una sola EndpointPolicy.

get

Obtiene los detalles de una sola EndpointPolicy.

getIamPolicy

Permite obtener la política de control de acceso de un recurso.

list

Enumera EndpointPolicies en una ubicación y un proyecto determinados.

patch

Actualiza los parámetros de una sola EndpointPolicy.

setIamPolicy

Permite configurar la política de control de acceso en el recurso especificado.

testIamPermissions

Permite mostrar los permisos que tiene un emisor para un recurso especificado.