Azure Lei Zhang的博客

weibo: LeiZhang的微博/QQ: 185165016/QQ群:319036205/邮箱:leizhang1984@outlook.com/TeL:139-161-22926

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  415 随笔 :: 0 文章 :: 401 评论 :: 0 引用

  《Windows Azure Platform 系列文章目录

 

  我们在使用Azure Storage的时候,为了设置访问权限,我们会使用Azure Storage Shared Access Signature (SAS)。

  SAS有以下属性:

权限 Read
Write
Delete
List
Add
Create
Update
Process
访问开始时间、访问结束时间

Start Time, Expire Time

允许的IP Allow IP
允许的协议 HTTPS or HTTP
访问秘钥 SAS Token

  一个标准的SAS Token,如下图:

  https://leizhangstorage.blob.core.chinacloudapi.cn/?sv=2019-10-10&ss=bfqt&srt=o&sp=rwdlacup&se=2020-06-29T14:58:36Z&st=2020-06-29T06:58:36Z&sip=202.96.225.228&spr=https&sig=KLn5mZ8s4YN9ae%2FNKRzzFYRSgu06mtadqy3UOTZ%2FE1E%3D

  上图中:

权限 rwdlacup
访问开始时间 2020-06-29T06:58:36Z
访问结束时间 2020-06-29T14:58:36Z
允许的IP 202.96.225.228
允许的协议 https
访问秘钥 KLn5mZ8s4YN9ae%2FNKRzzFYRSgu06mtadqy3UOTZ%2FE1E%3D

 

  SAS Token使用起来非常方便,但是也有一些缺点,比如:

  1.如果SAS Token被供应商泄漏了,怎么办?

  2.如果SAS Token过期时间只有14天,且已经在代码里面hard code了,我们想继续使用现有的SAS Token,且过期时间为1年

 

  这时候使用SAS Token的话,就需要重新生成一个新的SAS Token,并且需要做很多修改。这时候就可以考虑使用Access Policy。

 

  什么是Access Policy?

  Access Policy可以理解为在服务器端管理SAS Token,因为Access Policy保存在服务器端,所以我们可以修改Access Policy,继续使用现有的SAS Token。

 

  如何使用Access Policy,我们以Azure Storage Explorer为例:

  1.首先,我们创建1个新的存储账户,创建1个Container,Public Access Level为Private。如下图:

  

  2.往这个存储账户上传1个文件,步骤略。

  3.然后我们使用Azure Storage Explorer,链接这个存储账户。步骤略

  4.选择之前创建的container,右键Manage Access Policies。如下图:

  

  5.在弹出的窗口中,创建新的Policy。

  访问开始时间为2020年6月29日,下午5点44分。

  访问结束时间为2020年6月29日,下午5点54分。

  访问权限为Read和List

  

  6.选择一个blob,右键,Get Shared Access Signature

  

  7.在弹出的窗口中,选择之前创建的policy1。如下图:

  

  8.点击上图的Create,会显示SAS Token的URL。如下图:

  

  9.我们打开新的浏览器,就可以通过SAS Token访问该资源。如下图:

  

 

  10.如果我们在时间过期之后,即(为2020年6月29日,下午5点54分)之后访问,会显示访问错误。如下图:

  

  

  11.如果我们不采用Access Policy,则需要重新申请新的SAS Token URL。

  而采用Access Policy,我们只需要修改Policy的策略,策略更新后,采用老的SAS Token URL可以继续访问该资源。

  我们点击选图的Manage Access Policies:

  

 

  12.在弹出的窗口中,将过期时间修改的更长一点:

  

 

  13.修改完毕后,我们再复用步骤8中的SAS URL,可以继续访问原有资源。

  

 

posted on 2020-06-29 17:57  Lei Zhang的博客  阅读(220)  评论(0编辑  收藏