Настройка управляемой идентификации для функций Azure включает в себя использование либо системы, назначаемой управляемой идентификацией, или назначенной пользователем управляемой идентификацией. Вот как вы можете настроить оба типа:
Включение системы назначенной управляемой личности
1. Перейдите к порталу Azure: перейдите в приложение Function Function на портале Azure.
2. Выберите параметр «Идентификация»: В левом меню выберите «Настройки», а затем нажмите на идентификацию.
3. Включите систему, назначенную идентификацией: на вкладке «Система назначена» переключите состояние на включение и нажмите «Сохранить». Это создает управляемую идентичность с тем же именем, что и ваше приложение для функций.
4. Назначение разрешений: перейдите к ресурсу (например, хранилище Azure или базе данных SQL). Вы хотите, чтобы ваша функция была доступа. Назначьте соответствующие роли управляемой идентичности, обратившись к контролю доступа (IAM), а затем на назначения роли и добавив управляемую личность к необходимым ролям [1] [3] [7].
Включение пользователя назначено управляемой личности
1. Создайте пользователь, назначенный идентификацией: во-первых, создайте назначенный пользователем ресурс управляемой идентификации в Azure. Эта идентичность может быть использована по нескольким ресурсам.
2. Присвоение приложению функции: на портале Azure перейдите к настройкам идентификации приложения вашего приложения. Переключитесь на вкладку назначенного пользователя и нажмите «Добавить». Поиск и выберите созданную вами идентичность, которая вы создала [1] [6].
3. Настройте настройки приложения: для определенных служб, таких как Key Vault, вам может потребоваться установить дополнительные свойства (например, `keyvaultreferenceidentity`) через вызовы REST API, поскольку эти параметры недоступны в пользовательском интерфейсе [1].
4. Назначение разрешений: Аналогично системе, назначенным на систему, назначьте необходимые роли, назначенной пользователем идентификацией целевых ресурсов [6].
Использование управляемой идентификации в коде
При использовании управляемых идентификаторов ваши функции Azure могут использовать библиотеки, такие как `azure.identity` для аутентификации с Azure Services без непосредственной обработки секретов. Например, вы можете использовать `defaulataUrecredentialing` для подключения к хранилищам Azure или базе данных SQL [5] [9].
Преимущества управляемой личности
- Безопасность: избегает необходимости хранить секреты в коде или файлах конфигурации.
- Гибкость: позволяет легко управлять разрешениями доступа через Azure RBAC.
-Масштабируемость: поддерживает как системные, так и назначенные пользователем идентификаторами для различных сценариев [4] [6].
Цитаты:
[1] https://www.red-gate.com/simple-talk/cloud/azure/azure-funct-and-user-assigned-managed-idedities/
[2] https://codebankblog.wordpress.com/2020/06/27/azure-funct
[3.]
[4] https://docs.azure.cn/en-us/azure-functs/functions-identity на основе connections-tutorial
[5] https://www.linkedin.com/pulse/how-use- Managed-Editionity-app-service-azure-ali-khan-
[6] https://learn.microsoft.com/en-us/azure/app-service/overview-managed-identity
[7] https://docs.azure.cn/en-us/azure-functions/functions-idey-access-azure-sql-with- Managed-Edentity
[8] https://learn.microsoft.com/en-us/azure/azure-functs/diverse/diverse-functions-configure- Mananaged-Edentity
[9] https://www.transparity.com/app-innovation/azure-functs-with-managed-idedity-storage-access/