REST Resource: projects.locations.serverTlsPolicies

Recurso: ServerTlsPolicy

ServerTlsPolicy es un recurso que especifica cómo un servidor debe autenticar solicitudes entrantes. Este recurso no afecta la configuración, a menos que esté conectado a un proxy HTTPS de destino o a un recurso selector de configuración de extremo.

ServerTlsPolicy en la forma aceptada por los balanceadores de cargas HTTPS externos solo se puede conectar a TargetHttpsProxy con un esquema de balanceo de cargas EXTERNAL o EXTERNAL_MANAGED. Las ServerTlsPolicies compatibles con Traffic Director se pueden conectar a EndpointPolicy y TargetHttpsProxy con el esquema de balanceo de cargas INTERNAL_SELF_MANAGED de Traffic Director.

Representación 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

Obligatorio. Nombre del recurso ServerTlsPolicy. Coincide con el patrón projects/*/locations/{location}/serverTlsPolicies/{serverTlsPolicy}

description

string

Descripción de texto libre del recurso.

createTime

string (Timestamp format)

Solo salida. Marca de tiempo cuando se creó el recurso.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Solo salida. La marca de tiempo de la actualización del recurso.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

labels

map (key: string, value: string)

Conjunto de etiquetas de etiqueta asociadas con el recurso.

Un objeto que contiene una lista de pares "key": value. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

allowOpen

boolean

Este campo solo se aplica a las políticas de Traffic Director. Se debe configurar como falso para las políticas del balanceador de cargas de HTTPS externo.

Determina si el servidor permite conexiones de texto simple. Si se configura como verdadero, el servidor permitirá conexiones de texto sin formato. De forma predeterminada, se establece como false. Esta configuración no es exclusiva de otros modos de encriptación. Por ejemplo, si se configuran allowOpen y mtlsPolicy, el servidor permite conexiones de texto sin formato y mTLS. Consulta la documentación de otros modos de encriptación para confirmar la compatibilidad.

Considera usarlo si quieres actualizar tu implementación a TLS y, al mismo tiempo, tener un tráfico mixto de TLS y no TLS que llegue al puerto :80.

serverCertificate

object (CertificateProvider)

Opcional si la política se debe usar con Traffic Director. El balanceador de cargas de HTTPS externo debe estar vacío.

Define un mecanismo para aprovisionar la identidad del servidor (claves públicas y privadas). No se puede combinar con allowOpen como un modo permisivo que permite texto sin formato; no se admite TLS.

mtlsPolicy

object (MTLSPolicy)

Este campo es obligatorio si la política se usa con balanceadores de cargas HTTPS externos. Este campo puede estar vacío para Traffic Director.

Define un mecanismo que permite aprovisionar certificados de validación de intercambio de tráfico entre pares (TLS mutual - mTLS). Si no se especifica, no se solicitará el certificado de cliente. La conexión se trata como TLS y no mTLS. Si estableces allowOpen y mtlsPolicy, el servidor permitirá conexiones de texto sin formato y mTLS.

internalCaller

boolean

Opcional. Una marca establecida para identificar los controladores internos Con esta configuración se activará una verificación de P4SA para validar que el emisor pertenece a P4SA de un servicio incluido en la lista de entidades permitidas, incluso si no se establecen otros campos opcionales.

minTlsVersion

enum (TlsVersion)

Opcional. La versión mínima de TLS solo se usa para Envoy. Si no se especifica, Envoy usará la versión predeterminada. Versión más reciente de Envoy: https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/transport_sockets/tls/v3/common.proto

maxTlsVersion

enum (TlsVersion)

Opcional. La versión máxima de TLS se usa solo para Envoy. Si no se especifica, Envoy usará la versión predeterminada. Versión más reciente de Envoy: https://www.envoyproxy.io/docs/envoy/latest/api-v3/extensions/transport_sockets/tls/v3/common.proto

cipherSuites[]

string

Opcional. Conjuntos de algoritmos de cifrado personalizados de TLS que solo se usan en CSM. ECDHE-ECDSA2SHA2SHA2SHA-2SHA-2SHA-2SHA-2SHA-2SHA-26A

subjectAltNames[]

string

Opcional. Validación del servidor para SAN del cliente, solo se utiliza en CSM. Si no se especifica, el servidor no verificará el SAN del cliente.

MTLSPolicy

Especificación de MTLSPolicy.

Representación JSON
{
  "clientValidationMode": enum (ClientValidationMode),
  "clientValidationCa": [
    {
      object (ValidationCA)
    }
  ],
  "clientValidationTrustConfig": string,
  "tier": enum (Tier)
}
Campos
clientValidationMode

enum (ClientValidationMode)

Cuando el cliente presenta un certificado no válido o ningún certificado al balanceador de cargas, clientValidationMode especifica cómo se controla la conexión con el cliente.

Es obligatorio si la política se debe usar con el balanceo de cargas de HTTPS externo. En Traffic Director, debe estar vacío.

clientValidationCa[]

object (ValidationCA)

Es obligatorio si la política se debe usar con Traffic Director. Para los balanceadores de cargas HTTPS externos, debe estar vacío.

Define el mecanismo de obtención del certificado de la autoridad certificadora para validar el certificado de cliente.

clientValidationTrustConfig

string

Referencia al TrustConfig del espacio de nombres Certificatemanager.googleapis.com.

Si se especifica, la validación de la cadena se realizará con los certificados configurados en la TrustConfig determinada.

Solo se permite si la política se debe usar con balanceadores de cargas HTTPS externos.

tier

enum (Tier)

Nivel de TLS mutuo.

Solo se permite si la política se debe usar con balanceadores de cargas HTTPS externos.

ClientValidationMode

Modo de validación de certificados de TLS mutua.

Enums
CLIENT_VALIDATION_MODE_UNSPECIFIED No se permite.
ALLOW_INVALID_OR_MISSING_CLIENT_CERT Permite la conexión incluso si la validación de la cadena de certificados del certificado de cliente falló o si no se presentó ningún certificado de cliente. Si se presentó el certificado de cliente, siempre se verifica la prueba de posesión de la clave privada. Este modo requiere que el backend implemente el procesamiento de datos extraídos de un certificado de cliente para autenticar el par o rechazar conexiones si falta la huella digital del certificado de cliente.
REJECT_INVALID

Solicitar un certificado de cliente y permitir la conexión con el backend solo si se aprobó la validación del certificado de cliente

Si se configura, requiere una referencia a un TrustConfig no vacío especificado en clientValidationTrustConfig.

Nivel

Nivel de TLS mutuo para XLB.

Enums
TIER_UNSPECIFIED Si no se especifica el nivel en la solicitud, el sistema elegirá un valor predeterminado: el nivel STANDARD, en la actualidad.
STANDARD Nivel predeterminado. Principalmente para proveedores de software (comunicación de servicio a servicio o API).
ADVANCED Nivel avanzado. Para clientes en entornos muy regulados, donde se especifican claves más largas y cadenas de certificados complejas.

TlsVersion

Versión de TLS para el parámetro de configuración de la versión de TLS de la puerta de enlace de CSM.

Enums
TLS_VERSION_UNSPECIFIED
TLS_V1_0
TLS_V1_1
TLS_V1_2
TLS_V1_3

Métodos

create

Crea una ServerTlsPolicy nueva en un proyecto y una ubicación determinados.

delete

Borra una sola ServerTlsPolicy.

get

Obtiene detalles de una sola ServerTlsPolicy.

getIamPolicy

Permite obtener la política de control de acceso de un recurso.

list

Enumera ServerTlsPolicies en un proyecto y ubicación determinados.

patch

Actualiza los parámetros de una sola ServerTlsPolicy.

setIamPolicy

Permite configurar la política de control de acceso en el recurso especificado.

testIamPermissions

Permite mostrar los permisos que tiene un emisor para un recurso específico.