REST Resource: projects.locations.endpointPolicies

Recurso: EndpointPolicy

O 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 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. 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 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 (correspondentes). 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 faz referência ao recurso ServerTlsPolicy. O 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 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 um modelo de arquivo secundário em que o proxy se identifica como endpoint para o plano de controle, em que 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 arquivo secundário.
GRPC_SERVER Representa um back-end gRPC sem proxy.

EndpointMatcher

Uma definição de um matcher que seleciona endpoints aos quais 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 essa correspondência de endpoint. matcher_type pode ser apenas de um dos tipos a seguir:
metadataLabelMatcher

object (MetadataLabelMatcher)

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

MetadataLabelMatcher

A correspondência que é baseada nos metadados do 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 na correspondência 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 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 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 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 uma configuração P4 com seletor <A:1,D:1> existir e um cliente com rótulo <A:1,B:1,D:1> se conectar), escolha aquela com 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 (isto é, corresponder a qualquer cliente).

MetadataLabelMatchCriteria

Valores de critérios possíveis 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 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 um 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 determinado projeto e local.

delete

Exclui uma única EndpointPolicy.

get

Recebe detalhes de um único EndpointPolicy.

list

Lista as políticas de endpoint 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.