Тестування керованих ідентичностей у місцевому середовищі не є простим, оскільки керовані ідентичності в основному розроблені для використання в рамках Azure Resources. Однак є способи моделювання або наслідування керованих ідентичностей на місцях:
1. Зарахування в Azure Arc: Ви можете зарахувати свою локальну машину в Azure Arc, що дозволяє призначити керовану ідентичність своїй машині. Це може бути або призначена для користувача, або призначена користувачем керована ідентичність. Після зарахування ви можете перевірити керовані ідентичності локально, призначивши необхідні дозволи керованій особі [1].
2, емуляція керованої ідентичності на місцевому рівні: Інший підхід полягає в тому, щоб наслідувати службу ідентичності, керованої Azure, локально запускаючи послугу метаданих макетних екземплярів. Це передбачає моделювання API Token для повернення маркера доступу, як правило, використовуючи облікові дані Azure CLI. Цей метод дозволяє тестувати код, який використовує керовані ідентичності, не маючи їх на місцевій машині [3].
3. Використання Defaultazurecredential: Для більшості сценаріїв розробки рекомендується використовувати `defaultazurecredential '. Цей обліковий запис автоматично проводить різні методи аутентифікації, включаючи Visual Studio, Azure CLI та інтегровану автентифікацію Azure AD, щоб аутентифікувати вашу програму локально. Незважаючи на те, що не використовують керовані ідентичності безпосередньо, він забезпечує аналогічний безперебійний досвід автентифікації [5] [7].
Підсумовуючи це, хоча самі керовані ідентичності не можуть використовуватися безпосередньо в місцевому середовищі, ви можете або наслідувати їх, або використовувати альтернативні методи аутентифікації, такі як `defaultazurecredential 'для місцевого розвитку.
Цитати:
[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-managed-identity-be-osed-locally
[3] https://gist.github.com/maskati/e0d74330dcf15848b043825cf6b2f8b7
[4] https://learn.microsoft.com/en-us/entra/identity/managed-identities-azure-resources/overview-fordevelovers
[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-assigned-managed-identities
[7] https://stackoverflow.com/questions/75930046/how-to-run-azure-function-locally-using-user-assigned-managed-identity-configura
[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-managed-identity