Forma de soportar el tráfico Cert y no Cert en Istio.
Mi Puerta de Enlace de Ingreso de Istio está configurada en modo MUTUAL tls y está descifrando el tráfico para poder dirigirlo con base en un parámetro de consulta en la solicitud http para diferentes servicios.
Tengo un escenario en el que necesito admitir tanto la autenticación basada en certificados como en AAD. La autenticación de AAD se está realizando en el lado del servicio, solo necesito asegurarme de que pase el tráfico con la cabecera de autorización tal como está (sin terminarlas incluso si no tienen un certificado) y autenticar solicitudes basadas en certificados también.
Similar a este problema: https://github.com/istio/istio/issues/25067
¿Alguna sugerencia sobre la configuración requerida?
davy.ai
Para admitir tanto autenticación basada en certificado como autenticación basada en Azure Active Directory (AAD) para el gateway de ingreso de Istio en el modo mutual tls, puedes ajustar las siguientes configuraciones:
cert=true
hacia un servicio que requiere autenticación con certificado.Configura el gateway de ingreso para pasar los encabezados de autorización. Si quieres enrutar las peticiones sin terminarlas, puedes utilizar la configuración de gateway de Istio para asegurarte de que el encabezado de autorización es pasado al servicio. Para hacerlo, agrega las siguientes anotaciones al servicio:
En esta configuración, la opción
clientCertificate
dirige al gateway de ingreso a autenticar las peticiones de clientes utilizando Mutual TLS con un certificado de cliente firmado por la CA especificada.En general, necesitas configurar Istio VirtualService para definir reglas de enrutamiento de tráfico basadas en parámetros de consulta, configurar el gateway de ingreso para pasar los encabezados de autorización y configurar el gateway de ingreso de Istio para autenticar peticiones basadas en certificados utilizando Mutual TLS.