Compartir a través de


Uso de mTLS en Azure Container Apps

Seguridad mutua de la capa de transporte (mTLS) es una extensión del protocolo TLS estándar, que proporciona autenticación mutua entre el cliente y el servidor. Azure Container Apps admite la ejecución de aplicaciones habilitadas para mTLS a fin de ofrecer mayor seguridad en las aplicaciones.

En Azure Container Apps, todas las solicitudes entrantes pasan a través de Envoy antes de enrutarse a la aplicación contenedora de destino. Cuando se usa mTLS, el cliente intercambia certificados con Envoy. Cada uno de estos certificados se coloca en el encabezado X-Forwarded-Client-Cert, que luego se envía a la aplicación.

Para compilar una aplicación mTLS en Azure Container Apps, debe:

  1. Configurar Azure Container Apps para requerir certificados de cliente de elementos del mismo nivel
  2. Extraer certificados X.509 de las solicitudes

En este artículo, se describe cómo controlar los certificados de protocolo de enlace mTLS del mismo nivel mediante la extracción del certificado X.509 desde el cliente.

Requerir los certificados de cliente

Siga estos pasos para configurar la aplicación contenedora para requerir certificados de cliente:

  1. Abra la Container App en Azure Portal.
  2. En Configuración, seleccione Entrada.
  3. Seleccione la opción Habilitado.
  4. En Tipo de entrada, seleccione HTTP.
  5. En Modo de certificado de cliente, seleccione Requerir.
  6. Seleccione Guardar para aplicar los cambios.

Para obtener más información sobre cómo configurar la autenticación de certificados de cliente en Azure Container Apps, consulte Configuración de la autenticación de certificado de cliente en Azure Container Apps.

Extracción de certificados X.509

Para extraer certificados X.509 del encabezado X-Forwarded-Client-Cert, analice el valor del encabezado en el código de la aplicación. Este encabezado contiene la información del certificado de cliente cuando mTLS está habilitado. Los certificados se proporcionan en un formato de lista de elementos separados por punto y coma, que incluye el hash, el certificado y la cadena.

Este es el procedimiento que desea seguir para extraer y analizar el certificado en la aplicación:

  1. Recupere el encabezado X-Forwarded-Client-Cert de la solicitud entrante.
  2. Analice el valor del encabezado para extraer los detalles del certificado.
  3. Coloque los certificados analizados en el atributo de certificado estándar para su posterior validación o uso.

Una vez analizado, puede validar los certificados y usarlos según las necesidades de la aplicación.

Ejemplo

En las aplicaciones Java, puede usar el filtro de autenticación Reactive X.509 para asignar la información de usuario de los certificados al contexto de seguridad. Para obtener un ejemplo completo de una aplicación Java con mTLS en Azure Container Apps, consulte Aplicación de servidor mTLS en Azure Container Apps.