Tester les identités gérées dans un environnement local n'est pas simple car les identités gérées sont principalement conçues pour être utilisées dans Azure Resources. Cependant, il existe des moyens de simuler ou d'imiter les identités gérées localement:
1. Inscription à Azure Arc: Vous pouvez inscrire votre machine locale dans Azure Arc, qui vous permet d'attribuer une identité gérée à votre machine. Cela peut être une identité gérée attribuée au système ou attribuée par l'utilisateur. Une fois inscrit, vous pouvez tester les identités gérées localement en attribuant les autorisations nécessaires à l'identité gérée [1].
2. Imilation d'identité gérée localement: une autre approche consiste à imiter localement le service d'identité géré Azure en exécutant un service de métadonnées d'instance simulé. Cela implique de simuler l'API de jeton pour retourner un jeton d'accès, utilisant généralement des informations d'identification Azure CLI. Cette méthode vous permet de tester le code qui utilise des identités gérées sans les avoir sur votre machine locale [3].
3. Utilisation de DefaultAzureCredential: Pour la plupart des scénarios de développement, l'utilisation de «DefaultAzureCredential» est recommandée. Cet identifiant essaie automatiquement diverses méthodes d'authentification, notamment Visual Studio, Azure CLI et Azure AD intégrée, pour authentifier votre application localement. Bien qu'il n'utilise pas directement d'identités gérées, il offre une expérience d'authentification transparente similaire [5] [7].
En résumé, bien que les identités gérées elles-mêmes ne puissent pas être utilisées directement dans un environnement local, vous pouvez soit les imiter ou utiliser des méthodes d'authentification alternatives comme «DefaultAzuRecredential» pour le développement local.
Citations:
[1] https://www.foxdeploy.com/blog/how-to-migrate-an-azure-function-app-to-use-a- managed-identity.html
[2] https://stackoverflow.com/questions/67845857/can-a-user-assigned-manged-identity-be-used-locally
[3] https://gist.github.com/maskati/e0d74330dcf15848b043825cf6b2f8b7
[4] https://learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/overview-for-develovers
[5] https://www.reddit.com/r/azure/comments/1CILUD6/managed_identities_and_local_developer_experence/
[6] https://learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/how-manage-user-issigned-manged-identities
[7] https://stackoverflow.com/questions/75930046/how-to-run-azure-function-locally-using-user-signed-managed-identity-configura
[8] https://www.codemag.com/article/2107041/eliminate-secrets-from-your-applications-with-azure-manged-identity
[9] https://learn.microsoft.com/en-us/azure/app-service/overview-manged-identity