Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon ¿Es posible probar la identidad administrada utilizando un entorno local?


¿Es posible probar la identidad administrada utilizando un entorno local?


Las pruebas de identidades administradas en un entorno local no son sencillas porque las identidades administradas están diseñadas principalmente para su uso dentro de los recursos de Azure. Sin embargo, hay formas de simular o emular identidades administradas localmente:

1. Inscrito en Azure Arc: puede inscribir su máquina local en Azure Arc, lo que le permite asignar una identidad administrada a su máquina. Esto puede ser una identidad administrada asignada por el sistema o asignada por el usuario. Una vez inscrito, puede probar las identidades administradas localmente asignando los permisos necesarios a la identidad administrada [1].

2. Emular la identidad administrada localmente: otro enfoque es emular el servicio de identidad administrada de Azure localmente ejecutando un servicio de metadatos de instancia simulada. Esto implica simular la API de token para devolver un token de acceso, generalmente utilizando credenciales de Azure CLI. Este método le permite probar el código que utiliza identidades administradas sin tenerlas realmente en su máquina local [3].

3. Uso de DefaultAzurecredential: para la mayoría de los escenarios de desarrollo, se recomienda usar 'DefaultAzurecredential'. Esta credencial intenta automáticamente varios métodos de autenticación, incluidos Visual Studio, Azure CLI y Azure Ad Integrated Authentication, para autenticar su aplicación localmente. Si bien no utiliza directamente las identidades administradas, proporciona una experiencia de autenticación perfecta similar [5] [7].

En resumen, si bien las identidades administradas no pueden usarse directamente en un entorno local, puede emularlas o usar métodos de autenticación alternativos como 'DefaultAzurecredential' para el desarrollo local.

Citas:
[1] https://www.foxdeploy.com/blog/how-to-migrate-an-azure-function-app-to-use-a-a-didentity.html
[2] https://stackoverflow.com/questions/67845857/can-a-a-user-signed-managed-ididentity-be-locally
[3] https://gist.github.com/maskati/e0d74330dcf15848b043825cf6b2f8b7
[4] https://learn.microsoft.com/en-us/entra/identity/managed-identity-azure-resources/overview-for-developers
[5] https://www.reddit.com/r/azure/comments/1cilud6/managed_identies_and_local_developer_experience/
[6] https://learn.microsoft.com/en-us/entra/ididentity/managed-identity-azure-resources/how-manage-user-signed-didenties ganage-didenties
[7] https://stackoverflow.com/questions/75930046/how-to-run-azure-function-locally-using-user-signed-didentity-configuura
[8] https://www.codemag.com/article/2107041/eliminate-secrets-from-your-applications-with-azure-managed-identity
[9] https://learn.microsoft.com/en-us/azure/app-service/overview-didentity