azure-active-directory - 如何使用 Azure AD 和 WebJobs SDK 连接到存储队列?
问题描述
我的 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 访问该队列?非常感谢您对此的任何帮助!
解决方案
目前,与 WebJobs SDK 一起使用的绑定不支持使用身份 SDK。
相反,您可以将连接字符串存储在 KeyVault 中,并使用依赖托管标识的KeyVault 引用功能在运行时从 KeyVault 获取机密。
直接使用相应的客户端 SDK 将是另一种方式。
推荐阅读
- python - 有没有办法打印这个未显示的标签文本?
- php - 如何在 PHP 中正确调用 gmdate()?
- java - 启动对象非静态变量时,无法从静态上下文中引用它
- twilio - 适用于 Twilio 可编程视频服务器端的 SDK,即 REST API
- java - E/MediaRecording:外部存储访问错误
- python - 编写带有 X 和 Y 轴的 JSON 文件
- c# - 为什么 WPF XAML 前端在其他机器上看起来不同?
- email - 当我将名称设置为变量时,作为 xlsx 的 Python 电子邮件附件不起作用
- reactjs - 反应代理不工作 http-proxy-middleware
- checkbox - 不使用提交的复选框列表