Azure 解决方案:如何有效地保护Azure 资源

51CTO 博客地址:https://blog.51cto.com/14669127 Azure培训视频地址:https://space.bilibili.com/2000820534 今天跟大家分享Azure中一个非常重要的Service:Shared Access Signature(共享访问签名),与Storage、 Account的安全性有关。大多数情况下,很多IT Admin 采用Azure Storage存储企业数据时,都面临相同的需求: **• 希望数据是安全的,并且能在特定时期内控制授权用户的访问权限 • 同时,也可以限制对Azure存储中户中的其他各种服务的访问。** 那么此时,就可以使用共享访问签名来实现上述需求,共享访问签名使我们能够对存储账户中的container或者blob授权有限的访问权,当我们配置一个SAS时,可以指定它的约束,包括允许客户端访问哪些Azure存储资源,他们对哪些资源有什么权限等等。我们可以在存储账户级别、容器级别以及特定的Blob级别配置共享访问签名(SAS),以下Azure Storage资源支持存储访问策略: • Blob containers • File shares • Queues • Tables **但是在为不同的资源配置SAS时,需要为不同的资源提供不同的信息,当我们生成一个共享访问签名时,Azure提供了2种方法创建签名:** • Ad Hoc SAS,在这种方法中,我们在创建时定义所有属性。 • SAS with Stored Access Policy,在这种方法中,我们创建了一个访问策略,其中我们将为多个SAS管理约束(权限、开始时间和结束时间) 本文,我们将以第一种方法为例,介绍一下相关实现过程。 1. 登录Azure门口,选择我们想要为其配置SAS的Blob 2. 当我们创建Blob时,访问级别设置为匿名读取,这样每个人都可以通过点击Blob URL访问Blob ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210614/1623639996783317.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 3. 获取到Blob URL ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210614/1623640004482938.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 4. 修改访问级别并设置为Private,以便只有授权用户才能访问Blob,点击选项“更改访问级别”,然后点击“确定” ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210614/1623640010943660.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 5. 访问之前的Blob URL,发现匿名访问被阻止了 ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210614/1623640017445405.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 6. 现在我们来配置共享访问签名,以便授权用户可以访问Blob,选择Blob,在设置页面中,选择生成SAS ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210614/1623640022166709.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 7. 在Permission下,我们可以选择任何一项:读、创建、写或者删除,出于安全考虑,建议选择“允许协议为Https”和Key1作为Signing Key。 ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210614/1623640028702478.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 8. 最后选择生成Blob SAS令牌和URL就好了。 9. 当我们将访问级别更改为Private之后,输入Blob URL时,将无法打开,神人验证failed。 另外,如前所述,我们也可以为存储账户配置共享访问签名,在这种情况下,概念是相同的,但是权限范围更高,这意味着存储在Storage 账户中的任何内容都可以被SAS访问,另一个不同之处是,在为存储账户配置共享访问签名时,需要如下图的不同输入: ![image.png](http://www.icode9.com/i/li/?n=2&i=images/20210614/1623640034818769.png?,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=) 谢谢大家的阅读,若有疑问,欢迎线下讨论。
上一篇:【Azure Developer】使用 Python SDK连接Azure Storage Account, 计算Blob大小代码示例


下一篇:ckeditor实现WORD粘贴图片自动上传,jsp应用