C#-具有托管服务身份的Azure存储

The*_*man 3 c# azure azure-storage-blobs azure-managed-identity

是否有人管理过Azure存储的托管服务身份(MSI)或实现了任何文档-理想情况下使用Blob

我的目标是通过带有存储的MSI对我的WebApp / WebJob进行身份验证。设置身份验证后,我将把Blob推送到存储。我需要这样做的原因是从我的应用程序配置中消除了任何形式的连接字符串和密码。

Mur*_*oft 6

更新 Azure Blob存储现在支持用于“无密钥”身份验证方案的MSI(托管服务身份)!请在此处查看支持的服务列表

旧答案

不幸的是,不支持Blob存储,要么拥有其自身的身份,要么提供对具有其自身身份的服务的访问。原因是因为Blob存储(所有Azure存储)不适用于Azure Active Directory。

但是,您确实还有其他选项,例如可以通过MSI访问的Azure Data Lake Store或SQL Server。

另请注意,支持密钥库。在您的情况下,我将创建具有相应限制的存储的SAS密钥,然后将SAS密钥放置在Key Vault中。使用WebApp中的MSI从Key Vault检索密钥。有趣的是,我们已经能够使用ARM模板来构建此配置,将信任关系放置在WebApp MSI中,并将存储密钥放置在Key Vault中,而只有部署帐户才知道该密钥的安全性,开发人员永远不会看到或需要SAS密钥...

您可以在此链接中找到支持MSI(托管服务标识)的服务列表。

  • 现在,Azure 存储在该链接中列为支持 MSI 的服务(自 2018 年 5 月起提供预览版)。是时候更新这个答案了吗? (2认同)