Как подключиться к очереди хранилища с помощью Azure AD и SDK WebJobs?

Приложение My WebJobs использует триггер очереди хранилища Azure. Он работает без сбоев, когда строка подключения к учетной записи хранения, которую прослушивает приложение очереди, настроена в конфигурации; то есть appsettings.json.

{ "AzureWebJobsStorage": "connString" }

Однако я не хочу раскрывать какие-либо секреты в конфигурации и, что более важно, я хотел бы вообще избежать ключей доступа, полагаясь вместо этого на Azure AD и управление доступом на основе ролей (RBAC).

Для этого я назначил принципалу службы, запускающему приложение, Роль участника данных очереди и переключил тип подключения очереди с Access key на Azure AD на портале.

Я намеревался использовать Azure Identity SDK и создайте новый экземпляр DefaultAzureCredential и используйте его для подключения моего приложения к очереди.

Но, насколько я понимаю, SDK Webjobs ожидает подключения с использованием ключа acres, то есть строки подключения. При использовании клиента очереди автономного хранилища это просто, поскольку я могу создать клиента очереди, используя вышеупомянутый Identity SDK. Однако в WebJobs мне кажется, что я не могу переопределить способы подключения к этой очереди.

Как я могу получить доступ к этой очереди через Azure AD и RBAC? Любая помощь по этому поводу приветствуется!


person baouss    schedule 17.01.2020    source источник


Ответы (1)


В настоящее время привязки, используемые с SDK WebJobs, не поддерживают использование SDK идентификации.

Вместо этого вы можете сохранить строку подключения в KeyVault и использовать Функция ссылок на KeyVault, основанная на Managed Identity, чтобы получить секрет из KeyVault во время выполнения.

В противном случае можно было бы пойти напрямую с использованием соответствующего клиентского SDK.

person PramodValavala-MSFT    schedule 22.01.2020