从 webapp (azure) 访问 blob 存储
Posted
技术标签:
【中文标题】从 webapp (azure) 访问 blob 存储【英文标题】:Access blob storage from webapp (azure) 【发布时间】:2021-12-18 06:28:59 【问题描述】:我正在尝试在 Azure 上将应用程序投入生产。此应用程序包含一个 webapp(运行 Docker 容器),它应该与 Azure 存储帐户 (blob) 进行通信。
将 Web 应用程序的所有出站 IP 地址添加到我的存储帐户的防火墙设置后,我仍然没有访问 blob 的权限。错误如下: "此请求无权执行此操作。"
但是,当我在本地运行我的应用并将我的本地 IP 添加到这些相同的防火墙设置时,它可以工作。当我不将其添加到防火墙设置时,我会收到同样的错误。因此,我认为我的存储帐户不允许来自我的 web 应用程序的流量,而它应该允许。
任何帮助将不胜感激。
谢谢,
叮当
【问题讨论】:
你好@clank,我可以知道网络应用程序是否使用托管标识吗?如果它使用那么你可以尝试向它添加存储 blob 数据贡献者角色.. 您需要对 Blob 存储的写入权限吗? 您好@AnsumanBal-MT,是的,我会尝试这种方式,但我还没有必要的权利来尝试这种方式。谢谢! 你好@CSharpRocks,是的,我确实需要写权限。 好的,排除了路径映射到 Blob 功能,因为它是只读的。 【参考方案1】:您可以利用托管标识从 Web 应用程序提供对存储 blob 的访问。
您需要为 webapp 分配“存储 Blob 数据贡献者”访问权限。您可以按照以下步骤进行操作。
存储帐户 -> 访问控制 (IAM) -> 授予对此资源的访问权限 -> 'Storage Blob Data Contributor' -> 选择资源(网络应用)
【讨论】:
以上是关于从 webapp (azure) 访问 blob 存储的主要内容,如果未能解决你的问题,请参考以下文章
自动将 Azure Webapp wwwroot 目录备份到 azure blob 存储
使用 epplus 从 blob 触发 azure 函数访问 excel 文件