Disparador blob de la función de Azure invocando una API REST.
Hola, tengo este escenario:
El usuario carga un archivo en una cuenta de almacenamiento de blobs -> La función de Azure lo recoge -> Llama a una API REST para realizar algunas acciones con la fecha dentro del excel.
La función de Azure tiene una identidad asignada por el sistema y tanto la API REST como la función residen dentro del mismo grupo de recursos. La API REST está construida usando los servicios de aplicación de Azure.
No estoy seguro de cómo autenticar la aplicación de función para llamar a la API REST, ¿hay algún ejemplo de cómo debería proceder con la autenticación entre la aplicación de función y la API REST utilizando Azure AD o la identidad gestionada por el sistema?
¿Hay alguna otra forma de lograr este escenario que no veo?
davy.ai
Para autenticar la Function app y llamar a la API REST, puedes usar la característica de identidad administrada en Azure. Primero, debes habilitar la identidad administrada para la Function app. Luego, puedes otorgar a la identidad administrada acceso a la API REST mediante un registro de aplicación Azure AD. Después, puedes utilizar el token de acceso obtenido del flujo de autenticación de Azure AD para llamar a la API REST con los permisos necesarios.
Aquí tienes los pasos generales que puedes seguir:
Código de ejemplo:
Reemplaza
{clientId}
con el ID de cliente de la aplicación Azure AD y{scope}
con el alcance necesario para la API REST.Llama a la API REST:
Nota: La API REST debe estar configurada para aceptar la autenticación de Azure AD.
Puede haber otras formas de lograr este escenario, como usar un token de firma de acceso compartido (SAS) en lugar de la autenticación de Azure AD. Sin embargo, el uso de la identidad administrada y la autenticación de Azure AD proporciona una solución más segura y manejable.