运维开发网

Azure Storage access policy 应用

运维开发网 https://www.qedev.com 2021-01-08 10:03 出处:51CTO 作者:mxy00000
这次来谈的主要是关于azure storage授权的一些话题,如果想要让用户或者应用拿到授权来访问storage的话有很多种方法,每种方法针对的场景也不尽相同,总的来说有这么几种 Shared Key - 最简单粗暴的方法,相当于把密码直接给你 SAS - 作为应用或者脚本来说比较合适的方法,可以自由控制权限的发送和收回,也可以控制授权的范围 Azure AD - 用Azure AD的账号来授权,比较折中,也好管理

这次来谈的主要是关于azure storage授权的一些话题,如果想要让用户或者应用拿到授权来访问storage的话有很多种方法,每种方法针对的场景也不尽相同,总的来说有这么几种

  1. Shared Key - 最简单粗暴的方法,相当于把密码直接给你

  2. SAS - 作为应用或者脚本来说比较合适的方法,可以自由控制权限的发送和收回,也可以控制授权的范围

  3. Azure AD - 用Azure AD的账号来授权,比较折中,也好管理

详细的介绍可以看看微软的官方网站

https://docs.microsoft.com/en-us/azure/storage/common/storage-auth?toc=/azure/storage/blobs/toc.json?WT.mc_id=AZ-MVP-5001235

Azure AD其实是之后才出现的授权方式,在这之前SAS算是最常用的授权方法了,在实际环境很少会推荐直接把storage key分享出去,因为权限太大了,一旦泄露也不可控

而SAS实际上现在也分很多种,有兴趣的可以看看官网

https://docs.microsoft.com/en-us/azure/storage/common/storage-sas-overview?toc=/azure/storage/blobs/toc.json?WT.mc_id=AZ-MVP-5001235

以前用的最常见的方式其实是ad-hoc SAS,算是那种特定的场景吧,除了这种方式之外,其实还有一种生成SAS的方式是通过access policy来做

这种方式相比于ad-hoc有一些优势,比如说可以自由控制访问策略,而不需要重新生成Token,用户拿到的URI也不需要有变化,还可以由管理员统一管理SAS的策略,相比较零散的AD HOC SAS,更适合企业使用

生成的方法也很简单,不比ad-hoc复杂多少

首先在container里可以找到access policy这个选项,直接添加即可,可以看到这个界面和生成SAS的时候有一些类似,也是配置权限和起始结束的时间

Azure Storage access policy 应用

确定之后就生成好了

Azure Storage access policy 应用

但是光这样其实并不算生成了SAS,接下来的操作需要在storage explorer里进行

在storage explorer里获取共享访问签名的时候可以选择access policy

Azure Storage access policy 应用

选择之后,会发现时间和权限都是access policy定义好的,没办法修改

点击创建后,会生成URI

Azure Storage access policy 应用

在URI里添加想要访问的文件名,即可直接访问文件

https://mxyarmtemplate.blob.core.windows.net/template/Linuxvmdeploy.json?sv=2019-12-12&si=testpolicy&sr=c&sig=yWhdJBjO5tsO2%2FnmQ9o2AoLaEGiIPFvpoUfZoF9h4qo%3D

Azure Storage access policy 应用

尝试修改access policy,把有效时间改成一个过去的时间,也就是说让这个access policy失效

Azure Storage access policy 应用

等一段时间之后会发现之前的链接没办法访问了,在这个过程中你的URI是不需要有任何修改的,因为URI里本身也不包含起始和结束时间,这点比ad-hoc SAS要好多了,如果还想继续访问的话,还可以再修改access policy

Azure Storage access policy 应用

0

精彩评论

暂无评论...
验证码 换一张
取 消