首页 > 解决方案 > C# - 具有托管服务标识的 Azure 存储

问题描述

是否有人设法通过 Azure 存储实现或拥有有关托管服务标识 (MSI) 的任何文档 - 理想情况下使用 Blob

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

标签: c#azureazure-blob-storageazure-managed-identity

解决方案


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

旧答案

不幸的是,不支持 Blob 存储,无论是拥有自己的身份还是提供对拥有自己身份的服务的访问。原因是 Blob 存储(所有 Azure 存储)不适用于 Azure Active Directory。

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

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

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


推荐阅读