Azure Defender en Azure tiene dos políticas para la autenticación de funciones de Azure que no puedo implementar desde otros recursos de Azure que admitan llamadas http.
- Las aplicaciones de funciones deben tener habilitados los Certificados de cliente (certificados de cliente entrantes)
- Las aplicaciones de funciones deben tener la autenticación habilitada
En Azure Datafactory, si elijo la autenticación como identidad administrada por el sistema e intento pasar un certificado en los encabezados, Microsoft no lo admite (como me dijeron en un ticket de soporte "hay ocasiones muy raras en las que puedes autenticarte con 2 tipos diferentes de autenticación al mismo tiempo, la autenticación MSI debería ser suficiente.")
autenticación de identidad administrada por el sistema
¿Alguien ha habilitado con éxito los certificados de cliente y la autenticación en una aplicación de funciones y ha logrado que el cliente se autentique? ¿Puedes compartir la configuración del lado del cliente para una aplicación lógica o un datafactory?
Respuesta1
Sería más fácil responder a su pregunta si pudiera proporcionar más detalles sobre su caso de uso. Sin embargo, intentaré responder con mis suposiciones. (en negrita)
Uso de una actividad web en Azure Data Factory para llamar a una función de Azure.
Desafortunadamente, no puede utilizar los métodos de autenticación del Certificado de cliente y de Identidad administrada asignada por el sistema en la Actividad web simultáneamente.
Si aún desea utilizar ambos métodos simultáneamente, entonces
- debe activar la autenticación de identidad administrada en la actividad web y
- pase el certificado en un encabezado personalizado y valídelo en el código de la función de Azure.
Tenga en cuenta que pasar el certificado en un encabezado personalizado no tiene nada que ver con las funciones integradas de Azure.Modo de certificado de cliente. Debe dejar activado el modo de certificado de cliente.Ignorarestado en la configuración general de la función de Azure. En este caso, el equilibrador de carga frontal de la función Azure reenviará los encabezados de forma transparente al código del cliente.
Proporcionar dos métodos independientes para autenticarse en la función Azure
Si va a permitir que la función Azure proporcione los dos métodos para sus clientes de forma independiente, debe seleccionar la opciónpermitiropción en la configuración del modo de certificado de cliente en la función de Azure. En este caso, el balanceador de carga frontend solicitará primero a los clientes un certificado. Si no se proporciona ningún certificado, los balanceadores de carga reenvían la solicitud al middleware Easy-Auth para autenticar a la persona que llama. El middleware bloqueará las solicitudes no autenticadas.
Con este método alternativo, puede proporcionar dos métodos de autenticación de forma independiente. Déjeme saber si mis suposiciones son correctas o si necesita más detalles sobre cómo configurar los componentes para lograr las soluciones sugeridas.