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