Использование привязки концентраторов событий для функций Azure с управляемыми удостоверениями?
Я пытаюсь найти информацию о том, как настроить строки подключения в привязке приложения-функции, чтобы приложение использовало управляемые удостоверения для доступа к концентраторам событий и другим ресурсам. Я могу использовать управляемые удостоверения в других приложениях, получив токен доступа, как описано в документации.
Как это работает в функциональных приложениях, которые принимают имя переменной конфигурации для параметров соединений в привязках ресурсов?
Это где-то задокументировано?
3 ответа
Краткий ответ: мы не можем использовать токен доступа для управляемых удостоверений в привязках функций.
Для подключения требуется строка подключения к пространству имен концентратора событий для привязок концентраторов событий, токен, полученный с использованием управляемых идентификаторов, недействителен. В Azure Function мы используем токен доступа так же, как вы это делали в других приложениях, вот учебник.
Сегодня я протестировал его для подключения к очереди служебной шины. Строка подключения:
Endpoint=sb://<service-bus-resource>.servicebus.windows.net;Authentication=ManagedIdentity;
Я нашел его в этом блоге:https://blog.darkloop.com/post/using-service-app-managed-identity-with-azure-functions-service-bus-bindings. Мне не нужно было делать ничего особенного, так как в моем проекте используетсяMicrosoft.Azure.ServiceBus 4.1.1
.
Но, пожалуйста, посмотрите комментарии в этом сообщении в блоге - некоторые говорят, что это не сработает с планом потребления. Здесь упоминается еще одна потенциальная проблема:https://feedback.azure.com/forums/355860-azure-functions/suggestions/37907848-support-for-azure-managed-service-identities-in-ev
Обратите внимание, что поведение, зафиксированное в сообщении Артуро, было сочтено командой SDK непреднамеренным и удалено в более позднем обновлении версии. Мы работаем с ними, чтобы сделать это официально поддерживаемым, но сейчас инструкции в этом посте могут больше не работать.
Так что я не уверен, стоит ли его использовать или нет.
полная поддержка управляемых удостоверений сейчас находится на стадии бета-тестирования https://devblogs.microsoft.com/azure-sdk/introduction-the-new-azure-function-extension-libraries-beta/ с использованием библиотеки Azure.Identity