【问题标题】:How to use ManagedIdentity in Azure Function storage account connection string如何在 Azure 函数存储帐户连接字符串中使用 ManagedIdentity
【发布时间】:2021-11-01 20:09:21
【问题描述】:

我有一个Azure Function 正在使用durable functions

local.settings.json

"Values": {
  "AzureWebJobsStorage": "UseDevelopmentStorage=true",
  "DurableFunctionsStorageConnectionString": "UseDevelopmentStorage=true"
}

host.json

"extensions": {
        "durableTask": {
            "storageProvider": {
                "connectionStringName": "DurableFunctionsStorageConnectionString"
            }
        }
    }

我不想在 Azure 环境中使用带有访问密钥的连接字符串,而是想使用托管标识并为其授予访问权限。是否有支持可使用托管标识的连接字符串版本?

这是 SignalR 连接字符串的类似访问示例:

Endpoint={signalr_service_endpoint};AuthType=aad;Version=1.0;

如果DefaultAzureCredential 可以从Azure.Identity 中使用就更好了,但我“打开”托管身份就足够了。

附:我不是在研究如何在我的代码中连接到存储帐户,而是如何使 Azure Function 基础架构为它需要的帐户执行此操作。

【问题讨论】:

  • 是的,事实上就在写问题之前:) 这里讨论的是如何连接到函数代码内部的存储。他们确实使用普通的连接字符串来存储 Function 基础设施连接到的存储。他们确实在那里使用DefaultAzureCredential。我自己花了一段时间才弄清楚。我会更改问题以使其更清楚
  • 它看起来不支持持久功能:docs.microsoft.com/en-us/azure/azure-functions/….
  • 是的,它仍处于预览阶段,不支持持久功能。您可以关注这个未解决的问题以获得 durabe 功能github.com/Azure/azure-functions-durable-extension/issues/1793
  • 我已经根据您的 cmets @Thomas 发布了一个答案,您可以发布自己的答案,如果您愿意,我会接受 :) 非常感谢您的帮助

标签: azure-functions azure-storage connection-string azure-managed-identity azure-durable-functions


【解决方案1】:

我来自 Azure SignalR 服务团队。

不建议在配置 AAD Auth 时使用ConnectionString

甚至我们也在更新我们的文档以推荐我们的客户在代码中配置 AAD Auth。

我不确定您使用的是什么 Azure 存储功能。对于Blobs,您可以通过以下代码配置BlobClient

var client = new BlobClient(new Uri("<your endpoint>"), new DefaultAzureCredential(), new BlobClientOptions());

BlobClient Class

要了解有关其他派生TokenCredential 类的更多信息,请参阅TokenCredential class

【讨论】:

  • 感谢您的回答。我没有直接使用任何 blob 存储功能,而是将其用作 Azure Function 的一部分。您能否提供更多关于不推荐连接字符串的详细信息,我不太明白?我使用的是我发布的托管身份,它似乎工作正常
【解决方案2】:

感谢@Thomas 提供的有用的 cmets,我发现:

  1. 普通存储账户可以通过提供这个变量来实现:

    AzureWebJobsStorage__accountName:该值就是存储帐户的名称。文档here

  2. 目前还不能使用 Durable 功能。看到这个issue

【讨论】:

    猜你喜欢
    • 2021-05-31
    • 2018-12-20
    • 2015-12-02
    • 1970-01-01
    • 2021-12-17
    • 2020-04-12
    • 1970-01-01
    • 1970-01-01
    • 2017-05-09
    相关资源
    最近更新 更多