REST Resource: projects.locations.endpointPolicies

Recurso: EndpointPolicy

A EndpointPolicy é um recurso que ajuda a aplicar a configuração desejada nos endpoints que correspondem a critérios específicos. Por exemplo, é possível usar esse recurso para aplicar "configuração de autenticação" um para 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

Obrigatório. 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.

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. Ele é 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 comparador que seleciona os 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 de texto livre do recurso. Comprimento máximo de 1.024 caracteres.

serverTlsPolicy

string

Opcional. Um URL que faz referência ao recurso ServerTlsPolicy. A ServerTlsPolicy é usada 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 referente a um recurso ClientTlsPolicy. A ClientTlsPolicy pode ser definida 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. Isso geralmente é usado para o modelo de sidecar, em que o proxy se identifica como endpoint para o plano de controle, com a conexão entre o sidecar 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.

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 correspondente 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 essa 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 do xDS.

MetadataLabelMatcher

O comparador baseado nos metadados do nó apresentados pelos clientes do 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, e que P1 tenha um comparador como MATCH_ANY <A:1, B:1>, P2 tenha MATCH_ALL <A:1,B:1> e P3 tenha MATCH_ALL <A:1,B:1,C:1>.

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

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

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

Se houver mais de uma correspondência, por exemplo, se uma configuração P4 com o seletor <A:1,D:1> existir e se um cliente com o rótulo <A:1,B:1,D:1> se conectar, escolha a que tiver 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 ficar vazia se o critério de correspondência for MATCH_ANY, para especificar uma correspondência de caractere curinga (ou seja, que 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 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. O 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 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 determinado projeto e local.

delete

Exclui um único EndpointPolicy.

get

Recebe detalhes de uma única EndpointPolicy.

list

Lista EndpointPolicies em um determinado projeto e local.

patch

Atualiza os parâmetros de um único EndpointPolicy.

setIamPolicy

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

testIamPermissions

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