加入收藏 收藏网站 设为首页 设为首页
招生考试网
学历类| 阳光高考 研 究 生 自学考试 成人高考 专 升 本 中考会考 外语类| 四 六 级 职称英语 商务英语 公共英语 日语能力
资格类| 公 务 员 报 关 员 银行从业 司法考试 导 游 证 教师资格 财会类| 会 计 证 经 济 师 会计职称 注册会计 税 务 师
工程类| 一级建造 二级建造 造 价 师 造 价 员 咨 询 师 监 理 师 医学类| 卫生资格 执业医师 执业药师 执业护士 国际护士
计算机| 等级考试 软件水平 应用能力 其它类| 书画等级 美国高考 驾 驶 员 书法等级 少儿英语 报 检 员 单 证 员 出国留学
 招生考试网 - 计算机等级考试 - 考试辅导 - 计算机一级 - 正文

 
如何在Windows Azure中共享Blob
来源:fjzsksw.com 2010-7-1 编辑:zhanghaifeng 【字体:小 大】
Windows Azure存储使用对称密钥认证系统,一般来说,我们都采用256位密钥签署访问存储系统的每个HTTP请求,为了访问存储,你需要证明你知道这个密钥,这意味着你必须保护好这个密钥,这是一个全有或全无的例子,如果你有这个密钥,你可以做任何事,相反,如果你没有这个密钥,你什么事都做不了。

 

  Windows Azure存储使用对称密钥认证系统,一般来说,我们都采用256位密钥签署访问存储系统的每个HTTP请求,为了访问存储,你需要证明你知道这个密钥,这意味着你必须保护好这个密钥,这是一个全有或全无的例子,如果你有这个密钥,你可以做任何事,相反,如果你没有这个密钥,你什么事都做不了。

  对于大多数人来说,当他们了解到这个模式时,自然会问“我如何给别人授权访问,但不影响我的主密钥?”,解决办法就是使用Windows Azure中的共享访问签名( Shared Access Signatures ,SAS),SAS通过指定几个查询字符串参数工作,对它们做哈希算法,然后在查询字符串中签署哈希值,这样不仅可以创建一个唯一可安全访问的URL,而且可以证明是由拥有主密钥的人创建的,查询字符串中的参数包括:

  st:签名生效的开始时间,它是可选的,如果不提供,它将使用现在的时间。

  se:失效日期和时间,所有签名都是有时间限制的,这个参数是必需的。

  sr:签名应用的资源,要么是Blob,要么是容器,这个参数也是必需的。

  sp:这是你授予的权限设置,包括读(r),写(w),删除(d)和列表(l),这个参数是必需的。

  si:这是一个签名标识符,或一个策略,它是可选的。

  sig:这是签署的查询字符串的哈希值和证明它是使用主密钥创建的URI,这个参数是必需的。

  还有另一个重要的警告需要在这里重申一下,除非你使用签名标识符(我指的是一个策略),是没有办法让创建的签名寿命超过1小时的,如果使用超长的寿命错误地创建一个SAS URL,不使用签名标识符(策略)就不能撤销它,如果这个URL又被泄露出去了,你签署的资源将会长时间开放,存在被滥用的可能,通过签名限制最长的寿命为1小时,可以将暴露的时间范围控制住。

  如果你想创建一个长寿命的SAS,必需创建一个策略,这个策略是非常有趣的,因为这个策略包含了上述所有参数,并且是存储在服务中的,这意味着我们可以取消那些权限,或立即改变权限。

  我们以 MyAzureStorage.com 为例,当我登录到这个网站时,从顶部导航栏选择Blob选项,它将会显示我的所有容器,然后我选择一个容器的“行为”菜单,点击“管理策略”。

  接下来,我要创建两个策略(签名标识符),分别取名为Read和Write,它们有不同的生存周期和权限设置,注意我没有指定一个签名生效的开始时间,因此会立即生效。

  接下来我选择该容器下某个Blob的“行为”菜单,并点击“共享”,页面跳转到“共享Blob”,在这里我从策略下拉列表中选择一个前面创建的策略(这里选择了Read),应用给该Blob。

  你会发现除了可以选择策略外,其它如结束时间和权限都是不能修改的,其原因是策略就象一个模板,如果你在策略中没有设置某个参数值,在共享时还有最后的机会,如果在策略中设定了某个参数的值,在共享时就不能再做修改,要修改只能修改策略。从上图可以看出,我们要共享的资源类型是Blob,这里唯一可再修改的参数是开始时间,因为它是可选的,因此我打算保持默认值。

  当我点击“获得URL”按钮时,我会获得一个类似下面这样的URL:

  http://.blob.core.windows.net/shared/blobname?sr=b&si=read&sig=hIbD%.=

  假设这个URL不小心被泄露出去了,我希望不再提供该Blob上的读权限,这时我只需要删除“Read”策略或修改失效日期即可,它将会立即失效,下面是使用相同签名但没有使用策略创建的URL,可以对比一下:

  http://.blob.core.windows.net/shared/blobname?se=2010-02-13T02%3A17%3A46Z&sr=b&sp=r&sig=bYfBBb1yf.=

  这个签名是无法撤销的,必须等到它自然过期,或是我重新生成了主密钥为止。

  如果你想在你的Windows Azure存储账号中共享Blob或容器,或想查看SAS究竟是如何工作的,可以多试用一下 MyAzureStorage.com 。

 

 



 
网站版权与免责声明
①由于各方面情况的不断调整与变化,本网所提供的相关信息请以权威部门公布的正式信息为准.
②本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权等问题,请在两周内来电联系.
最新文章
推荐文章
  • 此栏目下没有推荐文章
  • 热门文章

    报名考试
    全国 | 黑龙江 | 吉林 | 辽宁 | 内蒙古
    青海 | 宁夏 | 甘肃 | 新疆 | 陕西
    西藏 | 北京 | 天津 | 河北 | 山东
    江苏 | 安徽 | 河南 | 上海 | 浙江
    福建 | 广东 | 山西 | 湖南 | 湖北
    江西 | 广西 | 海南 | 云南 | 贵州
    四川 | 重庆
    分省高校计算机考试
    黑龙江 | 吉林 | 辽宁 | 内蒙古 | 河北
    北京 | 天津 | 新疆 | 甘肃 | 宁夏
    青海 | 陕西 | 山西 | 河南 | 山东
    江苏 | 安徽 | 浙江 | 福建 | 广东
    海南 | 广西 | 江西 | 湖北 | 湖南
    四川 | 上海 | 重庆 | 贵州 | 云南
    西藏
    成绩查询
    报考指南
    试题答案
    模拟试题
    考试辅导
    计算机一级 | 计算机二级 | 计算机三级 | 计算机四级
    经验交流
    高校计算机