REST Resource: projects.locations.endpointPolicies

Recurso: EndpointPolicy

EndpointPolicy é um recurso que ajuda a aplicar a configuração desejada aos endpoints que correspondem a critérios específicos. Por exemplo, esse recurso pode ser usado para aplicar uma "configuração de autenticação" a todos os endpoints que atendem na porta 8080.

Representação 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. Nome do recurso EndpointPolicy. Ele corresponde ao padrão projects/{project}/locations/global/endpointPolicies/{endpointPolicy}.

createTime

string (Timestamp format)

Apenas saída. O carimbo de data/hora em que o recurso foi criado.

Usa RFC 3339, em que a saída gerada é sempre normalizada em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Outros ajustes também são aceitos. Por exemplo, "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30";

updateTime

string (Timestamp format)

Apenas saída. O carimbo de data/hora em que o recurso foi atualizado.

Usa RFC 3339, em que a saída gerada é sempre normalizada em Z e usa 0, 3, 6 ou 9 dígitos fracionários. Outros ajustes também são aceitos. Por exemplo, "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30";

labels

map (key: string, value: string)

Opcional. Conjunto de tags de rótulo associadas ao recurso EndpointPolicy.

Um objeto com uma lista de pares "key": value. Exemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

type

enum (EndpointPolicyType)

Obrigatório. O tipo de política de endpoint. Isso é usado principalmente para validar a configuração.

authorizationPolicy

string

Opcional. Esse campo especifica o URL do recurso AuthorizationPolicy que aplica políticas de autorização ao tráfego de entrada nos endpoints correspondentes. Consulte "Autorização". Se esse campo não for especificado, a autorização será desativada(sem verificações de autorização) para esse endpoint.

endpointMatcher

object (EndpointMatcher)

Obrigatório. Um matcher que seleciona os endpoints a que as políticas devem ser aplicadas.

trafficPortSelector

object (TrafficPortSelector)

Opcional. Seletor de porta para os endpoints (correspondentes). Se nenhum seletor de porta for fornecido, a configuração correspondente será aplicada a todas as portas.

description

string

Opcional. Uma descrição de texto livre do recurso. Comprimento máximo de 1.024 caracteres.

serverTlsPolicy

string

Opcional. Um URL que se refere ao recurso ServerTlsPolicy. ServerTlsPolicy é usado para determinar a política de autenticação a ser aplicada para encerrar o tráfego de entrada nos back-ends identificados. Se esse campo não for definido, a autenticação será desativada(aberta) para esse endpoint.

clientTlsPolicy

string

Opcional. Um URL que se refere a um recurso ClientTlsPolicy. ClientTlsPolicy pode ser definido para especificar a autenticação do tráfego do proxy para os endpoints reais. Mais especificamente, ela é aplicada ao tráfego de saída do proxy para o endpoint. Normalmente, isso é usado para o modelo de arquivo secundário, em que o proxy se identifica como endpoint para o plano de controle, e a conexão entre o arquivo secundário e o endpoint exige autenticação. Se esse campo não for definido, a autenticação será desativada(aberta). Aplicável somente quando EndpointPolicyType é SIDECAR_PROXY.

EndpointPolicyType

O tipo de política de endpoint.

Enums
ENDPOINT_POLICY_TYPE_UNSPECIFIED Valor padrão. Não pode ser usado.
SIDECAR_PROXY Representa um proxy implantado como um sidecar.
GRPC_SERVER Representa um back-end gRPC sem proxy.

EndpointMatcher

Uma definição de um matcher que seleciona os endpoints a que as políticas devem ser aplicadas.

Representação 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ão matcher_type. Especifica o tipo de correspondência usado para esta correspondência de endpoint. matcher_type pode ser apenas de um dos tipos a seguir:
metadataLabelMatcher

object (MetadataLabelMatcher)

O comparador é baseado nos metadados do nó apresentados pelos clientes xDS.

MetadataLabelMatcher

O comparador baseado em metadados de nó apresentados por clientes xDS.

Representação JSON
{
  "metadataLabelMatchCriteria": enum (MetadataLabelMatchCriteria),
  "metadataLabels": [
    {
      object (MetadataLabels)
    }
  ]
}
Campos
metadataLabelMatchCriteria

enum (MetadataLabelMatchCriteria)

Especifica como a correspondência deve ser feita.

Os valores aceitos são: MATCH_ANY: pelo menos um dos rótulos especificados no comparador precisa corresponder aos metadados apresentados pelo cliente xDS. MATCH_ALL: os metadados apresentados pelo cliente xDS precisam conter todos os rótulos especificados aqui.

A seleção é determinada com base na melhor correspondência. Por exemplo, suponha que haja três recursos EndpointPolicy P1, P2 e P3. Se P1 tiver o matcher como MATCH_ANY <A:1, B:1>, P2 tiver MATCH_ALL <A:1,B:1> e P3 tiver MATCH_ALL <A:1,B:1,C:1>.

Se um cliente com o rótulo <A:1> se conectar, a configuração de P1 será selecionada.

Se um cliente com o rótulo <A:1,B:1> se conectar, a configuração de P2 será selecionada.

Se um cliente com o rótulo <A:1,B:1,C:1> se conectar, a configuração de P3 será selecionada.

Se houver mais de uma melhor correspondência (por exemplo, se existir uma configuração P4 com o seletor <A:1,D:1> e um cliente com o rótulo <A:1,B:1,D:1> se conectar), escolha aquela com o tempo de criação mais antigo.

metadataLabels[]

object (MetadataLabels)

A lista de pares de valor de rótulo que precisam corresponder aos rótulos nos metadados fornecidos com base em filterMatchCriteria. Essa lista pode ter no máximo 64 entradas. A lista pode estar vazia se o critério de correspondência for MATCH_ANY, para especificar uma correspondência de caractere curinga (ou seja, isso corresponde a qualquer cliente).

MetadataLabelMatchCriteria

Possíveis valores de critérios que definem a lógica de como a correspondência é feita.

Enums
METADATA_LABEL_MATCH_CRITERIA_UNSPECIFIED Valor padrão. Não pode ser usado.
MATCH_ANY Pelo menos um dos rótulos especificados no comparador precisa corresponder aos metadados apresentados pelo cliente xDS.
MATCH_ALL Os metadados apresentados pelo cliente xDS precisam conter todos os rótulos especificados aqui.

MetadataLabels

Define um valor de par nome-valor para um único rótulo.

Representação JSON
{
  "labelName": string,
  "labelValue": string
}
Campos
labelName

string

Obrigatório. Nome do rótulo apresentado como chave nos metadados do nó xDS.

labelValue

string

Obrigatório. Valor do rótulo apresentado como valor correspondente à chave acima, nos metadados do nó xDS.

TrafficPortSelector

Especificação de um seletor baseado em porta.

Representação JSON
{
  "ports": [
    string
  ]
}
Campos
ports[]

string

Opcional. Uma lista de portas. Podem ser números de porta ou intervalos de portas (por exemplo, [80-90] especifica todas as portas de 80 a 90, incluindo 80 e 90), portas nomeadas ou * para especificar todas as portas. Se a lista estiver vazia, todas as portas serão selecionadas.

Métodos

create

Cria uma EndpointPolicy em um determinado projeto e local.

delete

Exclui uma única EndpointPolicy.

get

Recebe detalhes de uma única EndpointPolicy.

getIamPolicy

Busca a política de controle de acesso de um recurso.

list

Lista as EndpointPolicies em um determinado projeto e local.

patch

Atualiza os parâmetros de uma única EndpointPolicy.

setIamPolicy

Define a política de controle de acesso no recurso especificado.

testIamPermissions

Retorna permissões do autor da chamada no recurso especificado.