REST Resource: projects.locations.serverTlsPolicies

Recurso: ServerTlsPolicy

ServerTlsPolicy é um recurso que especifica como um servidor deve autenticar as solicitações recebidas. Esse recurso em si não afeta a configuração, a menos que esteja anexado a um proxy HTTPS de destino ou recurso de seletor de configuração de endpoint.

A ServerTlsPolicy na forma aceita por balanceadores de carga HTTPS externos só pode ser anexada ao TargetHttpsProxy com um esquema de balanceamento de carga EXTERNAL ou EXTERNAL_MANAGED. ServerTlsPolicies compatíveis com o Traffic Director podem ser anexadas a EndpointPolicy e TargetHttpsProxy com o esquema de balanceamento de carga INTERNAL_SELF_MANAGED do Traffic Director.

Representação JSON
{
  "name": string,
  "description": string,
  "createTime": string,
  "updateTime": string,
  "labels": {
    string: string,
    ...
  },
  "allowOpen": boolean,
  "serverCertificate": {
    object (CertificateProvider)
  },
  "mtlsPolicy": {
    object (MTLSPolicy)
  },
  "internalCaller": boolean,
  "minTlsVersion": enum (TlsVersion),
  "maxTlsVersion": enum (TlsVersion),
  "cipherSuites": [
    string
  ],
  "subjectAltNames": [
    string
  ]
}
Campos
name

string

Obrigatório. Nome do recurso ServerTlsPolicy. Corresponde ao padrão projects/*/locations/{location}/serverTlsPolicies/{serverTlsPolicy}

description

string

Descrição em texto livre do recurso.

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)

Conjunto de tags de rótulos associadas ao recurso.

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

allowOpen

boolean

Esse campo se aplica apenas às políticas do Traffic Director. Ele precisa ser definido como "false" para políticas do balanceador de carga HTTPS externo.

Determina se o servidor permite conexões de texto simples. Se definido como verdadeiro, o servidor permitirá conexões de texto simples. Por padrão, ela é definida como falsa. Essa configuração não é exclusiva de outros modos de criptografia. Por exemplo, se allowOpen e mtlsPolicy estiverem definidos, o servidor permitirá conexões de texto simples e mTLS. Consulte a documentação de outros modos de criptografia para confirmar a compatibilidade.

Considere usá-lo se quiser fazer upgrade da sua implantação para TLS e ainda ter tráfego misto de TLS e não TLS que alcança a porta :80.

serverCertificate

object (CertificateProvider)

Opcional se a política for usada com o Traffic Director. O balanceador de carga HTTPS externo precisa estar vazio.

Define um mecanismo para provisionar a identidade do servidor (chaves públicas e privadas). Não pode ser combinado com allowOpen, já que um modo permissivo que permite texto simples e TLS não é compatível.

mtlsPolicy

object (MTLSPolicy)

Este campo será obrigatório se a política for usada com balanceadores de carga HTTPS externos. Esse campo pode ficar vazio para o Traffic Director.

Define um mecanismo para provisionar certificados de validação ponto a ponto para autenticação ponto a ponto (TLS mútuo - mTLS). Se não for especificado, o certificado do cliente não será solicitado. A conexão é tratada como TLS, e não mTLS. Se allowOpen e mtlsPolicy estiverem definidos, o servidor permitirá conexões de texto simples e mTLS.

internalCaller

boolean

Opcional. Uma flag definida para identificar controladores internos aciona uma verificação do P4SA para confirmar que o autor da chamada é do P4SA de um serviço da lista de permissões, mesmo que outros campos opcionais não estejam definidos.

minTlsVersion

enum (TlsVersion)

Opcional. Versão mínima de TLS usada apenas para o Envoy. Se não for especificada, o Envoy vai usar a versão padrão. Envoy mais recente: https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/transport_sockets/tls/v3/common.proto

maxTlsVersion

enum (TlsVersion)

Opcional. Versão máxima de TLS usada apenas para o Envoy. Se não for especificada, o Envoy vai usar a versão padrão. Envoy mais recente: https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/transport_sockets/tls/v3/common.proto

cipherSuites[]

string

Opcional. Conjuntos de criptografia personalizados TLS usados apenas no CSM. As seguintes criptografias são compatíveis: ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-GCM-SHA256 ECDHE-ECACHACDA-SHAES-SHA256CDACDA/

subjectAltNames[]

string

Opcional. Validação do lado do servidor para SAN do cliente, usada apenas no CSM. Se não for especificado, o SAN do cliente não será verificado pelo servidor.

MTLSPolicy

Especificação do MTLSPolicy.

Representação JSON
{
  "clientValidationMode": enum (ClientValidationMode),
  "clientValidationCa": [
    {
      object (ValidationCA)
    }
  ],
  "clientValidationTrustConfig": string,
  "tier": enum (Tier)
}
Campos
clientValidationMode

enum (ClientValidationMode)

Quando o cliente apresenta um certificado inválido ou nenhum certificado ao balanceador de carga, o clientValidationMode especifica como a conexão do cliente é tratada.

Obrigatório se a política for usada com o balanceamento de carga HTTPS externo. No Traffic Director, ele precisa estar vazio.

clientValidationCa[]

object (ValidationCA)

Necessária para usar a política com o Traffic Director. Em balanceadores de carga HTTPS externos, ele precisa estar vazio.

Define o mecanismo para receber o certificado da autoridade de certificação e validar o certificado do cliente.

clientValidationTrustConfig

string

Referência ao TrustConfig do namespace certificationmanager.googleapis.com.

Se especificado, a validação da cadeia vai ser realizada nos certificados configurados no TrustConfig fornecido.

Permitido apenas se a política for usada com balanceadores de carga HTTPS externos.

tier

enum (Tier)

Nível TLS mútuo.

Permitido apenas se a política for usada com balanceadores de carga HTTPS externos.

ClientValidationMode

Modo de validação do certificado TLS mútuo.

Tipos enumerados
CLIENT_VALIDATION_MODE_UNSPECIFIED Não permitido.
ALLOW_INVALID_OR_MISSING_CLIENT_CERT Permitir conexão mesmo se a validação da cadeia de certificados do certificado do cliente falhar ou se nenhum certificado do cliente tiver sido apresentado. A comprovação de posse da chave privada é sempre verificada caso o certificado do cliente tenha sido apresentado. Esse modo exige que o back-end implemente o processamento de dados extraídos de um certificado do cliente para autenticar o peering ou que rejeite conexões se a impressão digital do certificado do cliente estiver ausente.
REJECT_INVALID

Exigir um certificado do cliente e permitir a conexão com o back-end somente se a validação do certificado do cliente for aprovada.

Se definido, requer uma referência ao TrustConfig não vazio especificado em clientValidationTrustConfig.

Nível

Nível TLS mútuo para XLB.

Tipos enumerados
TIER_UNSPECIFIED Se o nível não for especificado na solicitação, o sistema escolherá um valor padrão: nível STANDARD no momento.
STANDARD Nível padrão. Principalmente para provedores de software (comunicação de serviço a serviço/API).
ADVANCED nível avançado. Para clientes em ambientes altamente regulamentados, que especificam chaves mais longas e cadeias de certificados complexas.

TlsVersion

Versão de TLS para a configuração de versão de TLS do gateway do CSM.

Tipos enumerados
TLS_VERSION_UNSPECIFIED
TLS_V1_0
TLS_V1_1
TLS_V1_2
TLS_V1_3

Métodos

create

Cria uma nova ServerTlsPolicy em um determinado projeto e local.

delete

Exclui uma única ServerTlsPolicy.

get

Recebe detalhes de uma única ServerTlsPolicy.

getIamPolicy

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

list

Lista ServerTlsPolicies em um determinado projeto e local.

patch

Atualiza os parâmetros de uma única ServerTlsPolicy.

setIamPolicy

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

testIamPermissions

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