限制目标用户访问 Azure 存储上托管的静态网站



我使用静态网站功能在 Azure 存储中托管了一个简单的网站。该网站的网址现已公开。(任何拥有该网址的人都可以访问该网站)。但我的目的是只向我想要的用户提供访问权限。有没有办法限制对 Azure 存储中托管的静态网站的公共访问?

静态网站托管使文件可供匿名访问。如果需要控制谁可以访问这些文件,可以将文件存储在 Azure Blob 存储中,然后生成使用共享访问签名 (SAS) 以限制访问。

交付给客户端的页面中的链接必须指定资源的完整 URL。如果资源受代客密钥(如共享访问签名)保护,则此签名必须包含在 URL 中。https://learn.microsoft.com/en-us/azure/architecture/patterns/static-content-hosting

可以尝试将 CDN 终结点配置为通过 SAS 令牌访问专用 Blob 容器(不要使用静态网站功能,因为终结点是完全公开的)。Azure CDN 本机支持此方案 - 在最坏的情况下,可以编写重写规则,以使用 SAS 令牌将请求重定向到 Blob 终结点。

将 Azure CDN 与 SAS 结合使用

可以使用

SAS(共享访问签名)

    可以将 Blob 保留在
  • 静态网站中作为专用访问(只有 Blob 所有者可以使用存储帐户密钥进行访问)
  • 然后,可以使用简单的服务对客户端(如果很多)进行身份验证和授权,并为它们生成 SAS 令牌以访问 Blob(网页)。此服务还可以为它们续订令牌。
  • 如果人数有限,您可以生成 SAS 并简单地与客户共享链接。

您可以在 blob(网页)的粒度上执行此操作,以便您可以授权某些页面读取某些页面,而他们无法读取其他页面......等。

最新更新