REST Resource: projects.locations.endpointPolicies

Recurso: EndpointPolicy

EndpointPolicy é um recurso que ajuda a aplicar a configuração desejada nos endpoints que correspondem a critérios específicos. Por exemplo, esse recurso pode ser usado para aplicar a "configuração de autenticação" a todos os endpoints que funcionam 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

Obrigatório. Nome do recurso EndpointPolicy. 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.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

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

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

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. Este 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 este campo não for especificado, a autorização será desativada(sem verificações de autorização) para este endpoint.

endpointMatcher

object (EndpointMatcher)

Obrigatório. Uma correspondência que seleciona endpoints em que as políticas precisam ser aplicadas.

trafficPortSelector

object (TrafficPortSelector)

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

description

string

Opcional. Uma descrição em 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 este campo não for definido, a autenticação será desativada(aberta) para este 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, ele é aplicado ao tráfego de saída do proxy para o endpoint. Isso geralmente é usado para o modelo de arquivo secundário em que o proxy se identifica como endpoint para o plano de controle, com a conexão entre o arquivo secundário e o endpoint exigindo autenticação. Se este campo não for definido, a autenticação será desativada(aberto). Aplicável apenas quando EndpointPolicyType é SIDECAR_PROXY.

EndpointPolicyType

O tipo de política de endpoint.

Tipos enumerados
ENDPOINT_POLICY_TYPE_UNSPECIFIED Valor padrão. Não pode ser usado.
SIDECAR_PROXY Representa um proxy implantado como um arquivo secundário.
GRPC_SERVER Representa um back-end gRPC sem proxy.

EndpointMatcher

A definição de um correspondente que seleciona endpoints em que as políticas precisam 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 só pode ser de um dos seguintes tipos:
metadataLabelMatcher

object (MetadataLabelMatcher)

A correspondência é baseada nos metadados do nó apresentados pelos clientes xDS.

MetadataLabelMatcher

A correspondência baseada nos metadados do nó apresentados pelos 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 correspondente deve 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 há três recursos de EndpointPolicy P1, P2 e P3 e se P1 tem um correspondente como MATCH_ANY <A:1, B:1>, P2 tem MATCH_ALL <A:1,B:1> e P3 tem 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 se um cliente com o rótulo <A:1,B:1,D:1> se conectar), escolha aquele com o horário de criação mais antigo.

metadataLabels[]

object (MetadataLabels)

A lista de pares de valores de marcadores que devem corresponder aos marcadores nos metadados fornecidos com base em filterMatchCriteria Esta lista pode ter no máximo 64 entradas. Se o critério de correspondência for MATCH_ANY, a lista poderá estar vazia para especificar uma correspondência de caractere curinga (ou seja, ela corresponde a qualquer cliente).

MetadataLabelMatchCriteria

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

Tipos enumerados
METADATA_LABEL_MATCH_CRITERIA_UNSPECIFIED Valor padrão. Não pode ser usado.
MATCH_ANY Pelo menos um dos identificadores especificados no correspondente 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 de nomes 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 o valor correspondente à chave acima, em 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 intervalo de portas (por exemplo, [80-90] especifica todas as portas de 80 a 90, incluindo 80 e 90) ou portas nomeadas ou * para especificar todas as portas. Se a lista estiver vazia, todas as portas serão selecionadas.

Métodos

create

Cria uma nova EndpointPolicy em um projeto e local específicos.

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 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.