【问题标题】:WebJobs storage with Managed Identity带有托管标识的 WebJobs 存储
【发布时间】:2019-03-20 15:33:38
【问题描述】:

默认情况下,WebJobs 需要使用 AzureWebJobsStorage 连接字符串指定 Azure 存储帐户。

但我已经可以使用托管身份访问我的存储:

AzureServiceTokenProvider azureServiceTokenProvider = new AzureServiceTokenProvider();
string accessToken = await azureServiceTokenProvider.GetAccessTokenAsync("https://storage.azure.com/");
StorageCredentials storageCredentials = new StorageCredentials(new TokenCredential(accessToken));
CloudStorageAccount cloudStorageAccount = new CloudStorageAccount(storageCredentials, "mystorageaccount", "core.windows.net", true);

我能否将 WebJobs 配置为使用此 cloudStorageAccount 而不是 AzureWebJobsStorage 连接字符串?

【问题讨论】:

    标签: azure-webjobs azure-webjobssdk


    【解决方案1】:

    我能否将 WebJobs 配置为使用此 cloudStorageAccount 而不是 AzureWebJobsStorage 连接字符串?

    是的,您可以使用cloudStorageAccount 获取 blob 帐户并对 blob 进行一些操作。但是,您在使用 Webjob 时仍然需要提供AzureWebJobsDashboard 和AzureWebJobsStorage。因为它们不仅是连接字符串,也是日志路径。

    在我的测试中,我使用storage1 连接设置了AzureWebJobsStorage 值,并且在代码中我得到了storage2 帐户并且它可以工作。

    AzureServiceTokenProvider azureServiceTokenProvider = new AzureServiceTokenProvider();
    string accessToken = azureServiceTokenProvider.GetAccessTokenAsync("https://storage.azure.com/").Result;
    StorageCredentials storageCredentials = new StorageCredentials(new TokenCredential(accessToken));
    CloudStorageAccount cloudStorageAccount = new CloudStorageAccount(storageCredentials, "storage2", "core.windows.net", true);
    CloudBlobClient cloudBlobClient = cloudStorageAccount.CreateCloudBlobClient();
    CloudBlobContainer cloudBlobContainer = cloudBlobClient.GetContainerReference("mycontainer");
    CloudBlockBlob cloudBlockBlob = cloudBlobContainer.GetBlockBlobReference("hello.txt");
    cloudBlockBlob.UploadTextAsync("aaaaaaaa").Wait();
    

    有关分配角色和获取访问令牌的更多详细信息,您可以参考此article。

    【讨论】:

    • 因此,如果我理解正确,通过将托管标识分配给 Azure 函数以使用 IBinder 访问存储帐户,我将一无所获。无论如何我都不会摆脱连接字符串?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-26
    • 1970-01-01
    • 2021-11-08
    • 1970-01-01
    • 2021-10-17
    • 2021-04-07
    • 2021-12-14
    相关资源
    最近更新 更多