【问题标题】:How can I connect to storage queue using Azure AD and WebJobs SDK?如何使用 Azure AD 和 WebJobs SDK 连接到存储队列?
【发布时间】: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


    【解决方案1】:

    目前,与 WebJobs SDK 一起使用的绑定不支持使用身份 SDK。

    相反,您可以将连接字符串存储在 KeyVault 中,并使用依赖于 Managed IdentityKeyVault References feature 在运行时从 KeyVault 获取机密。

    直接使用相应的客户端 SDK 将是另一种方式。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-07
      • 2021-04-19
      • 2014-12-09
      • 2015-09-27
      • 2015-03-17
      • 1970-01-01
      • 2020-12-30
      • 1970-01-01
      相关资源
      最近更新 更多