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

时间:2019-01-24 14:38:09

标签: azure authentication azure-storage azure-storage-blobs

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

2 个答案:

答案 0 :(得分:0)

您可以使用SAS(共享访问签名)

  • 您可以将Blob保留为静态网站,以“私人访问”权限(只有Blob所有者可以使用存储帐户密钥进行访问)
  • 然后,您可以使用简单的服务来对客户端(如果有)进行身份验证和授权,并生成SAS令牌以供其访问Blob(网页)。该服务还可以为其更新令牌。
  • 如果人数有限,您可以生成SAS并与客户共享链接。

您可以按照Blob(网页)的粒度执行此操作,这样您就可以授权某些页面阅读某些页面,而其他页面则无法阅读...等。

答案 1 :(得分:0)

静态网站托管使文件可用于匿名访问。如果需要控制哪些人可以访问文件,则可以将文件存储在Azure blob存储中,然后生成Using shared access signatures (SAS)  限制访问。

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

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

Using Azure CDN with SAS