使用PowerShell创建Azure Storage的SAS Token访问Azure Blob文件

Azure的存储包含Storage Account、Container、Blob等具体的关系如下:

我们常用的blob存储,存放在Storage Account的Container里面。

目前有三种方式可以把Blob里的内容共享给其他用户,这三种方式是:

1.把Container的属性设置为公共容器

2.把Blob属性设置为公共公共Blob

设置好后,blob就可以通过wget的方式下载下来。

3.通过SAS Token的方式实现在一定时间段内的文件共享

SAS是shared access signature (SAS),可以实现文件共享。

SAS Provider Service通过旁路的方式生成SAS的token,客户通过这个SAS Token实现在一定时间内,一定权限的访问。

下面将采用powershell的方式生成SAS Token,给客户访问的权限。

有一个文件:

Get-AzureStorageBlob -Container hengweisoft -Blob googlechrome.dmg

Container Uri: https://portalvhds6mlqtd15wqmm7.blob.core.chinacloudapi.cn/hengweisoft

Name BlobType Length ContentType LastModified SnapshotTime

---- -------- ------ ----------- ------------ ------------

googlechrome.dmg BlockBlob 65936251 application/octet-stream 2015/7/6 8:09:00 +00:00

其中hengweisoft这个Container是private的Container。

$startTime = Get-Date

$endTime = $startTime.AddHours(2.0)

New-AzureStorageBlobSASToken -Container hengweisoft -Blob googlechrome.dmg -Permission rwd -StartTime $startTime -ExpiryTime $endTime

通过这个命令可以生成一串SAS的Token:

?sv=2015-02-21&sr=b&sig=Ifn6JFOinaLQpYGKCKsYiUieQ58WdExxV2Z52Nx%2Fdjs%3D&st=2016-02-05T09%3A36%3A57Z&se=2016-02-05T11%3A36%3A57Z&sp=rwd

将这一串Token连接到Blob的URL上:

https://portalvhds6mlqtd15wqmm7.blob.core.chinacloudapi.cn/hengweisoft/googlechrome.dmg?sv=2015-02-21&sr=b&sig=Ifn6JFOinaLQpYGKCKsYiUieQ58WdExxV2Z52Nx%2Fdjs%3D&st=2016-02-05T09%3A36%3A57Z&se=2016-02-05T11%3A36%3A57Z&sp=rwd

这个文件在2个小时之内是可以进行不需要认证的访问的。

可以通过:

wget https://portalvhds6mlqtd15wqmm7.blob.core.chinacloudapi.cn/hengweisoft/googlechrome.dmg?sv=2015-02-21&sr=b&sig=Ifn6JFOinaLQpYGKCKsYiUieQ58WdExxV2Z52Nx%2Fdjs%3D&st=2016-02-05T09%3A36%3A57Z&se=2016-02-05T11%3A36%3A57Z&sp=rwd

直接获得这个文件。

时间: 2024-10-06 19:22:31

使用PowerShell创建Azure Storage的SAS Token访问Azure Blob文件的相关文章

Azure China (10) 使用Azure China SAS Token

<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China 在笔者之前的文章中,我们介绍了Azure Share Access Signature,可以对设置为Private属性的Azure Container,设置一个临时的访问Token,在这个可以访问的时间内,对某一个Azure Blob资源进行访问. 具体可以参考笔者之前写的文章: Windows Azure Storage (1) Windows Azure Storage

浅谈Azure Storage的安全性

在今天的博文中我们将讨论Azure Storage的安全性以及如何使用共享访问签名(SAS)和存储的访问策略来控制对容器和Blob的访问.SAS基本上是带有查询参数的URI,该查询参数指定诸如到期时间,权限和签名等选项.我将在本文后面详细介绍这些内容.请注意,共享访问签名也可以与表和队列一起使用,但是我将仅在Blob存储方面进行讨论 什么是共享访问签名(SAS)共享访问签名(SAS)是URI,它允许使用者在指定时间范围具有访问存储资源(例如blob或容器)所允许的权限.时间跨度和权限可以从存储的

细说 Azure Storage 的冗余策略

当我们想要把应用搬到云端的时候,首先要关注的便是数据的安全性.当然所有的云服务厂商都会对用户数据承诺一个非常高的安全性,但万一出现意外呢?我们是不是还要有适当的应对方案?比如今年的3月8日晚间,Azure 某个区域中的存储几乎全部不能访问,持续达两个多小时.当时最担心的是:用户的数据万一丢掉怎么办?同时,我们是不是可以根据云服务提供的数据服务的特点来优化程序的性能呢?基于如此种种的原因,我们需要了解云端数据服务的一些特性的详情,这将对我们很有帮助.本文将和大家一起探讨 Azure Storage

ES(3): ES Cluster Extended Azure Storage

Azure VM的磁盘空间远远不能满足ES集群存储需求(还需除掉VM的临时盘),同时也未找着ES配置 block blob storage 存储的组件,因此下文介绍通过挂载附加盘的方式增加ES集群存储空间容量的操作过程. 目录: LVM基本术语 Azure Storage 介绍 ES cluster 配置Azure Storage LVM基本术语 LVM:是Linux提供的逻辑盘卷管理(Logical VolumeManager)的简称 物理存储介质(The physical media): 这

Windows Azure Storage (18) 使用HTML5 Portal的Azure CDN服务

<Windows Azure Platform 系列文章目录> 熟悉Microsoft Azure的读者都知道,Azure在以前的Silverlight Management Portal中,已经提供CDN服务.但是自从改版成HTML5的Management Portal之后,CDN从Azure界面中消失了,用户没法创建新的CDN服务. 好消息是,最近HTML5的Management Portal又重新提供了Azure CDN服务,相比之前的Silverlight版本有一些区别,笔者在这里向大

Azure Queue Storage 基本用法 -- Azure Storage 之 Queue

Azure Storage 是微软 Azure 云提供的云端存储解决方案,当前支持的存储类型有 Blob.Queue.File 和 Table. 笔者在<Azure File Storage 基本用法>中介绍了 File Storage 的基本用法,本文将介绍 Queue Storage 的主要使用方法. Queue Storage 是什么? Azure Queue Storage 是一个存储大量消息的存储服务,这些消息可以在任何地方通过 HTTP/HTTPS 访问.每条消息最大 64K,消息

Azure File Storage 基本用法 -- Azure Storage 之 File

Azure Storage 是微软 Azure 云提供的云端存储解决方案,当前支持的存储类型有 Blob.Queue.File 和 Table. 笔者在<Azure Blob Storage 基本用法>中介绍了 Blob Storage 的基本用法,本文将介绍 File Storage 的主要使用方法. File Storage 是什么? Azure File Storage 是一个通过 Server Message Block (SMB) 协议提供云端文件共享的服务.通过 File Stor

Windows Azure Storage (22) Azure Storage如何支持多级目录

<Windows Azure Platform 系列文章目录> 熟悉Azure平台的读者都知道,Azure Blob有三层架构.如下图:(注意blob.core.chinacloudapi.net是Azure China的Service Endpoint) 1.Blob Name: 存储账号名称 2.Container Name,容器名称.概念上类似于文件夹 3.Blob Name:文件名称 Azure Storage Block Blob概念上类似网盘,用户可以把文件.图片.照片直接保存到A

Azure VMSS ---- PowerShell创建标准镜像的VMSS集群

VMSS的创建可以采用Portal.Powershell.Azure CLI或者Template. 但目前Portal创建有很多限制,本文将介绍如何用PowerShell来创建VMSS的集群. 具体的创建过程有以下几个步骤: 1 创建Resource Group 2 创建Vnet 3 创建Public IP.LoadBalancer 4 创建VMSS 5 增加VMSS的Autoscale规则 一 创建Resource Group 具体命令如下: $loc = 'chinanorth'; $rgn