O teste de identidades gerenciadas em um ambiente local não é simples, porque as identidades gerenciadas são projetadas principalmente para uso dentro dos recursos do Azure. No entanto, existem maneiras de simular ou imitar identidades gerenciadas localmente:
1. Inscrição no arco do Azure: você pode inscrever sua máquina local no Azure ARC, que permite atribuir uma identidade gerenciada à sua máquina. Isso pode ser uma identidade gerenciada atribuída ao sistema ou atribuída ao usuário. Uma vez inscrito, você pode testar identidades gerenciadas localmente, atribuindo as permissões necessárias à identidade gerenciada [1].
2. Emulando a identidade gerenciada localmente: outra abordagem é emular o serviço de identidade gerenciado do Azure localmente, executando um serviço de metadados de simulação. Isso envolve simular a API do token para retornar um token de acesso, normalmente usando as credenciais do Azure CLI. Este método permite testar o código que usa identidades gerenciadas sem realmente tê -las na sua máquina local [3].
3. Usando o DefaultAzureCredential: para a maioria dos cenários de desenvolvimento, o uso de `DefaultAzureCrerecential 'é recomendado. Essa credencial tenta automaticamente vários métodos de autenticação, incluindo o Visual Studio, o Azure CL e a autenticação integrada do Azure AD, para autenticar seu aplicativo localmente. Embora não esteja usando identidades gerenciadas diretamente, ele fornece uma experiência de autenticação contínua semelhante [5] [7].
Em resumo, embora as próprias identidades gerenciadas não possam ser usadas diretamente em um ambiente local, você pode imitá -las ou usar métodos de autenticação alternativos como `DefaLaLazureCrerecential 'para o desenvolvimento local.
Citações:
[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-signed-managed-entity-be-us-localmente
[3] https://gist.github.com/maskati/e0d74330dcf15848b043825cf6b2f8b7
[4] https://learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/overview-for-developers
[5] https://www.reddit.com/r/azure/comments/1cilud6/managed_identities_and_local_developer_experience/
[6] https://learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/how-manage-user-signed-managed-sidentities
[7] https://stackoverflow.com/questions/75930046/how-to-drun-azure-function-locally-usering-user-signed-managed-identity-configura
[8] https://www.codemag.com/article/2107041/eliminate-secrets-from-your-applications-with-azure-managed-entity
[9] https://learn.microsoft.com/en-us/azure/app-service/overview-managed-identity