Тестирование управляемых личностей в местной среде не является простым, поскольку управляемая идентификация в основном предназначена для использования в ресурсах Azure. Тем не менее, есть способы имитировать или подражать управляемым идентификаторам на местном уровне:
1. Зарегистрируйтесь в Azure Arc: вы можете зарегистрировать свою локальную машину в Azure Arc, которая позволяет назначить управляемую личность на вашу машину. Это может быть управляемая идентификация, назначенная системой, либо управляемая пользовательская идентификация. После зачисления вы можете проверить управляемые личности локально, назначив необходимые разрешения управляемой личности [1].
2. Эмуляция управляемой идентификации локально: другой подход заключается в эмулировании Управляемой службы идентификации Azure локально путем запуска фиктивного сервиса метаданных экземпляров. Это включает в себя моделирование токенового API для возврата токена доступа, обычно используя учетные данные Azure CLI. Этот метод позволяет вам тестировать код, который использует управляемые идентификаторы, не имея их на местной машине [3].
3. Использование DefaultaUrecredential: для большинства сценариев разработки рекомендуется использование `defaultaUrecredential '. Этот учетный данные автоматически пытаются различные методы аутентификации, включая Visual Studio, Azure CLI и интегрированную аутентификацию Azure AD, для аутентификации вашего приложения локально. Несмотря на то, что он не использует управляемую идентификацию напрямую, он обеспечивает аналогичный беспрепятственный опыт аутентификации [5] [7].
Таким образом, в то время как сами управляемые личности не могут быть использованы непосредственно в местной среде, вы можете либо эмулировать их, либо использовать альтернативные методы аутентификации, такие как «DefaulataUrecredential» для локальной разработки.
Цитаты:
[1] https://www.foxdeploy.com/blog/how-to-migrate-an-azure-function-app-to-use-a- Managed-Edentity.html
[2] https://stackoverflow.com/questions/67845857/can-auser-assigned-aderaged-etenity-be-user-locally
[3] https://gist.github.com/maskati/e0d74330dcf15848b043825cf6b2f8b7
[4] https://learn.microsoft.com/en-us/entra/identity/managed-idedities-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-idedities-azure-resources/how-manage-user-assigned- Managed-Eendition
[7] https://stackoverflow.com/questions/75930046/how-to-run-azure-function-locally-using-user-assigned-derated-ederity-configura
[8] https://www.codemag.com/article/2107041/eliminate-secrets-from-your-applications-with-azure-derated-ederity
[9] https://learn.microsoft.com/en-us/azure/app-service/overview-managed-identity