Acceder a la información de conexión TLS en un proxy de API

Esta página se aplica a Apigee y Apigee Hybrid.

Consulta la documentación de Apigee Edge.

En este tema, se explica cómo acceder a la información de conexión TLS en variables de flujo para un proxy de API que se ejecuta en Apigee o Apigee Hybrid.

Capturar información de conexión TLS

Durante una solicitud a un proxy de API, Apigee puede capturar información sobre la conexión TLS. El proxy de API puede acceder a esa información a través de variables de flujo para realizar análisis y validaciones adicionales.

El tipo de información de TLS que captura Apigee depende de si el Ingress está configurado para admitir TLS unidireccional o bidireccional (solo aplicable con Apigee Hybrid). Por ejemplo, para la TLS unidireccional, Apigee puede capturar información sobre el algoritmo de cifrado TLS o el protocolo TLS que se usa en la conexión TLS.

En el caso de la TLS bidireccional, Apigee puede capturar la misma información que se capturó para la TLS unidireccional y también capturar la información sobre el certificado del cliente. Por ejemplo, Apigee puede capturar la huella digital SHA1 del certificado de cliente y el certificado de cliente en el formato PEM.

Capturar información para TLS unidireccional y bidireccional

En la siguiente tabla, se enumeran las variables de flujo que contienen la información de conexión TLS que capturaron Apigee y Apigee Hybrid y que están disponibles para el acceso en el proxy de API.

Variable de flujo Descripción
tls.cipher El algoritmo de cifrado que usa la conexión TLS.
tls.protocol El protocolo que usa la conexión TLS.
tls.server.name El nombre del servidor de SNI solicitado.
tls.session.id El identificador de la sesión.

Captura información adicional de TLS durante la TLS bidireccional

En la siguiente tabla, se enumeran las variables de flujo que contienen detalles del certificado de cliente que capturó Apigee Hybrid en la TLS bidireccional:

Variable de flujo Descripción
tls.client.s.dn El nombre distinguido (DN) de la entidad emisora del certificado de cliente.
tls.client.i.dn El nombre distinguido (DN) de la entidad emisora del certificado de cliente.
tls.client.raw.cert El certificado de cliente en formato PEM.
tls.client.cert.serial El número de serie del certificado de cliente.
tls.client.cert.fingerprint La huella digital SHA1 del certificado de cliente.
tls.session.id El identificador de la sesión.

Configura Apigee Hybrid para habilitar el TLS bidireccional

Si deseas configurar la entrada para solicitar un certificado de cliente, agrega los siguientes detalles al archivo de anulación:

virtualhosts:
  - name: internal
    minTLSProtocolVersion: "1.2" #optional
    maxTLSProtocolVersion: "1.2" #optional
    tlsMode: MUTUAL
    sslSecret: tls-certificates

Consulta también Configurar TLS y mTLS en la entrada de Istio.

Acceder a las variables de flujo en un proxy de API

Desde tu proxy de API, puedes acceder a las variables de flujo de TLS y, luego, inspeccionarlas. Por ejemplo, puedes usar la política AssignMessage o JavaScript para acceder a ellas.

También puedes hacer referencia a las variables de flujo en un elemento <Condition> de un proxy o flujo de destino, o en un <Step> o <RouteRule>. Por ejemplo, puedes enrutar una solicitud a diferentes destinos según el SN del cliente.

Para obtener más información, consulta .