REST Resource: projects.locations.endpointPolicies

Recurso: EndpointPolicy

EndpointPolicy é um recurso que ajuda a aplicar a configuração pretendida nos pontos finais que correspondem a critérios específicos. Por exemplo, este recurso pode ser usado para aplicar a "configuração de autenticação" a todos os pontos finais que servem 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. A data/hora em que o recurso foi criado.

Uma data/hora no formato "Zulu" UTC RFC3339, com resolução de nanosegundos 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. A data/hora em que o recurso foi atualizado.

Uma data/hora no formato "Zulu" UTC RFC3339, com resolução de nanosegundos 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 etiquetas associadas ao recurso EndpointPolicy.

Um objeto que contém 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 ponto final. Isto é 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 pontos finais correspondentes. Consulte a secção Autorização. Se este campo não for especificado, a autorização é desativada(sem verificações de autorização) para este ponto final.

endpointMatcher

object (EndpointMatcher)

Obrigatório. Um elemento de correspondência que seleciona os pontos finais aos quais as políticas devem ser aplicadas.

trafficPortSelector

object (TrafficPortSelector)

Opcional. Seletor de portas para os pontos finais (correspondentes). Se não for fornecido nenhum seletor de portas, a configuração correspondente é aplicada a todas as portas.

description

string

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

serverTlsPolicy

string

Opcional. Um URL que faz referência ao recurso ServerTlsPolicy. A ServerTlsPolicy é usada para determinar a política de autenticação a aplicar para terminar o tráfego de entrada nos back-ends identificados. Se este campo não estiver definido, a autenticação está desativada(aberta) para este ponto final.

clientTlsPolicy

string

Opcional. Um URL que faz referência a um recurso ClientTlsPolicy. A ClientTlsPolicy pode ser definida para especificar a autenticação do tráfego do proxy para os pontos finais reais. Mais especificamente, é aplicado ao tráfego de saída do proxy para o ponto final. Isto é normalmente usado para o modelo sidecar, em que o proxy se identifica como ponto final para o plano de controlo, com a ligação entre o sidecar e o ponto final a exigir autenticação. Se este campo não estiver definido, a autenticação está desativada(aberta). Aplicável apenas quando EndpointPolicyType é SIDECAR_PROXY.

EndpointPolicyType

O tipo de política de ponto final.

Enumerações
ENDPOINT_POLICY_TYPE_UNSPECIFIED Valor predefinido. Não deve ser usado.
SIDECAR_PROXY Representa um proxy implementado como um sidecar.
GRPC_SERVER Representa um back-end gRPC sem proxy.

EndpointMatcher

Uma definição de um motor de correspondência que seleciona os pontos finais aos quais 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 este correspondente de ponto final. matcher_type só pode ser uma das seguintes opções:
metadataLabelMatcher

object (MetadataLabelMatcher)

O motor de correspondência baseia-se nos metadados dos nós apresentados pelos clientes xDS.

MetadataLabelMatcher

O motor de correspondência que se baseia nos metadados dos nós apresentados pelos clientes xDS.

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

enum (MetadataLabelMatchCriteria)

Especifica como deve ser feita a correspondência.

Os valores suportados são: MATCH_ANY: pelo menos, uma das etiquetas especificadas no elemento matcher deve corresponder aos metadados apresentados pelo cliente xDS. MATCH_ALL: os metadados apresentados pelo cliente xDS devem conter todas as etiquetas especificadas aqui.

A seleção é determinada com base na melhor correspondência. Por exemplo, suponhamos que existem três recursos EndpointPolicy P1, P2 e P3 e que, se P1 tiver o elemento de correspondência 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 a etiqueta <A:1> se ligar, é selecionada a configuração de P1.

Se um cliente com a etiqueta <A:1,B:1> se ligar, é selecionada a configuração de P2.

Se um cliente com a etiqueta <A:1,B:1,C:1> se ligar, é selecionada a configuração de P3.

Se existir mais do que uma melhor correspondência (por exemplo, se existir uma configuração P4 com o seletor <A:1,D:1> e se um cliente com a etiqueta <A:1,B:1,D:1> estabelecer ligação), selecione a que tiver a hora de criação mais antiga.

metadataLabels[]

object (MetadataLabels)

A lista de pares de valores de etiquetas que têm de corresponder às etiquetas nos metadados fornecidos com base em filterMatchCriteria. Esta 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 com carateres universais (ou seja, isto corresponde a qualquer cliente).

MetadataLabelMatchCriteria

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

Enumerações
METADATA_LABEL_MATCH_CRITERIA_UNSPECIFIED Valor predefinido. Não deve ser usado.
MATCH_ANY Pelo menos uma das etiquetas especificadas no motor de correspondência deve corresponder aos metadados apresentados pelo cliente xDS.
MATCH_ALL Os metadados apresentados pelo cliente xDS devem conter todas as etiquetas especificadas aqui.

MetadataLabels

Define um valor de par nome-valor para uma única etiqueta.

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

string

Obrigatório. Nome da etiqueta apresentado como chave nos metadados do nó xDS.

labelValue

string

Obrigatório. Valor da etiqueta 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 portas ou um intervalo de portas (por exemplo, [80-90] especifica todas as portas de 80 a 90, inclusive 80 e 90) ou portas com nome ou * para especificar todas as portas. Se a lista estiver vazia, todas as portas são selecionadas.

Métodos

create

Cria uma nova EndpointPolicy num determinado projeto e localização.

delete

Elimina uma única EndpointPolicy.

get

Obtém detalhes de uma única EndpointPolicy.

list

Lista EndpointPolicies num determinado projeto e localização.

patch

Atualiza os parâmetros de uma única EndpointPolicy.

setIamPolicy

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

testIamPermissions

Devolve as autorizações que um autor da chamada tem no recurso especificado.