Azure Blob 存储中的静态网站:如何启用 Azure AD 身份验证?

Rub*_*atz 8 azure azure-storage azure-storage-blobs azure-active-directory

我正在通过$webAzure 存储帐户的 BLOB 存储中的容器托管一个静态网站。该容器中的缩小 JS 包含敏感数据,例如 azure-tables 键。

根据文档

您可以修改 $web 容器的公共访问级别,但这对主要静态网站端点没有影响,因为这些文件是通过匿名访问请求提供的。这意味着对所有文件的公共(只读)访问。

有什么方法可以限制对网站内容的访问(尤其是$web容器中的缩小版 JS )?

Rub*_*atz 3

首先,无论 JS 多么精简,在网站代码中存储数据访问令牌都是非常糟糕的做法。任何具有网站读取权限的人都可能有意或无意地泄露访问令牌。这包括能够在浏览器中打开和查看该网站。

如果您已经在考虑身份验证,那么 Azure Blob 存储服务并不能解决这个问题。您可能需要一两个免费的 Azure Web 应用程序(一个用于前端,一个用于后端)。服务器端代码比浏览器代码安全得多,并且支持正确的用户输入验证等功能。此外,如果您使用的是 Azure Web Apps,只需单击一下即可启用 Azure AD 身份验证。

可以生成 SAS 令牌,要求用户在访问 Blob 之前通过 Azure AD 进行身份验证,但我个人还没有尝试过。