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 .