【发布时间】:2020-05-04 10:35:17
【问题描述】:
我的 WebJobs 应用使用 Azure 存储队列触发器。当在配置中设置了到队列应用程序监听的存储帐户的连接字符串时,它运行顺利;即 appsettings.json。
{ "AzureWebJobsStorage": "connString" }
但是,我不想在配置中公开任何秘密,更重要的是,我想完全避免访问密钥,而是依赖 Azure AD 和基于角色的访问控制 (RBAC)。
为此,我已为运行应用程序的服务主体分配了Queue Data Contributor Role,并在门户中将队列的连接类型从Access key 切换为Azure AD。
我的意图是使用Azure Identity SDK 并新建一个DefaultAzureCredential 的实例,并使用它将我的应用程序连接到队列。
但据我所知,Webjobs SDK 期望使用英亩密钥进行连接,即连接字符串。使用独立存储队列客户端时,这很简单,因为我可以使用上述 Identity SDK 创建队列客户端。但是在 WebJobs 中,我似乎无法覆盖连接到该队列的方法。
如何通过 Azure AD 和 RBAC 访问该队列?非常感谢您对此的任何帮助!
【问题讨论】:
标签: azure-active-directory azure-webjobs azure-storage-queues azure-rbac