保护与 Azure 存储的应用服务连接

Posted

技术标签:

【中文标题】保护与 Azure 存储的应用服务连接【英文标题】:securing app service connectivity to azure storage 【发布时间】:2021-11-21 00:20:45 【问题描述】:

我们有一个匿名访问(对互联网开放)的 blob 容器和一个与之通信的应用服务。

我们有哪些选择可以确保只有 appservice 可以与这个存储端点通信? vnet 集成是我们最后的选择。

谢谢-nen

【问题讨论】:

【参考方案1】:

我们有哪些选项可以确保只有 appservice 可以与之通信 这个存储端点?

一种选择是使用 Azure 基于角色的访问控制 (RBAC) 数据角色

为此,首先将托管标识分配给应用服务,然后为该标识分配适当的 Azure 存储 RBAC 数据角色。

您还需要通过访问密钥或共享访问签名阻止对存储帐户的访问,以便只有您的应用服务可以使用 Azure AD 授权连接到您的存储帐户。

您可以在此处阅读更多信息:https://docs.microsoft.com/en-us/azure/storage/blobs/assign-azure-role-data-access?tabs=portal。

【讨论】:

我们从网络层面考虑更多,我们可以利用防火墙选项吗? appservice ip 将在存储帐户的网络选项卡中列入白名单。 您当然可以,但您需要知道您的应用服务的 IP 地址。如果为应用服务分配了新的 IP 地址,则需要更新防火墙设置。

以上是关于保护与 Azure 存储的应用服务连接的主要内容,如果未能解决你的问题,请参考以下文章

保护 Azure 存储帐户中托管的静态网站的路由

将一个存储库上的 Azure 静态 Web 应用程序与另一个存储库上的 API 连接起来

我想通过 NodeJS Express 应用程序将 Azure blob 存储与 Angular 应用程序连接起来

使用SAS保护Azure Storage的安全性

AIP(Azure 信息保护)之一:启用与激活服务

从 PowerApp(或逻辑应用)调用受 AAD 保护的 Azure 函数