Azure SAS和许可
GetSaSForBlobContainer(容器,SharedAccessBlobPermissions.List | SharedAccessBlobPermissions.Read);Azure SAS和许可
public static string **GetSaSForBlobContainer**(CloudBlobContainer blobContainer, SharedAccessBlobPermissions permission)
{
var sas = blobContainer.GetSharedAccessSignature(new SharedAccessBlobPolicy()
{
Permissions = permission,
SharedAccessStartTime = DateTime.UtcNow.AddMinutes(-5),//SAS Start time is back by 5 minutes to take clock skewness into consideration
SharedAccessExpiryTime = DateTime.UtcNow.AddMinutes(15),
});
return string.Format(CultureInfo.InvariantCulture, "{0}{1}", blobContainer.Uri, sas);
}
- 当我尝试这一点,在我的stroge帐户我的容器访问private.Can我列出在Internet Explorer中的容器的斑点?我尝试用BLOB和容器的访问类型的失败总是:
AuthenticationFailed
服务器无法验证请求。确保授权标头的值正确形成,包括签名。 RequestId:2c504f81-0001-00ea-3815-be7271000000时间:2017-04-25T22:47:20.9382490Z 签名不符。串签所用的是RL 2017-04-25T22:38:15Z 2017-04-25T22:58:15Z/BLOB/onlineeducation/$根2015年12月11日
但当我尝试这个我可以看到斑点,
foreach (IListBlobItem blob in blobs)
{
CloudBlockBlob blob1 = new CloudBlockBlob(blob.Uri);
string name = blob1.Name;
}
1)我不明白一两件事,当我创建GetSaSForBlobContainer和我的容器访问类型是私人会发生什么(适用于Internet Explorer和代码)? 2)当我在未经许可的情况下获得我的私有容器的引用,然后创建blob uri + SAS。示例将会发生什么情况可以看到我的容器?或者我可以只写入引用blob(我的blob权限只写)..
3 - 会发生什么,容器uri + sas - 在Internet Explorer中尝试时可以看到容器吗?
4-)什么是这里的不同,
我的容器访问类型在我储存我得到continer 没有任何PERMSSION和SAS参考私人,然后创建BLOB URI与r ead permssion和SAS。
集装箱ACCES类型是我的存储私人我得到容器与PERMSSION和SAS参考,然后创建BLOB URI与读PERMSSION和SAS
当我试试这个,我在我的stroge帐户中访问我的容器是 private.Can我可以用Internet Explorer在容器中列出blob吗?我 与BLOB和容器访问类型尝试的失败总是
要解决这个问题,首先请加List
在你的SAS许可,然后添加&restype=container&comp=list
到您请求的URL。有关此问题的更多解释,请参阅此主题:Azure Shared Access Signature - Signature did not match。
1)我不明白一两件事,当我创建GetSaSForBlobContainer 和我的容器访问类型是私人会发生什么(对于互联网 Explorer和代码)?
没有什么会发生,除非你做了什么:)。根据SAS中包含的权限,拥有此SAS URL的用户将能够执行某些操作。例如,如果您使用List
权限创建SAS,则用户将只能列出该容器中的斑点。他们甚至无法下载blob(为此,SAS必须包含Read
权限)。
2-)当我擅自引用我的私人容器, 然后创建BLOB URI + SAS.Example会发生什么,我可以看到我的 容器?或者我只能写引用的BLOB(我BLOB许可 是只写)..
不,你不能看到你的容器作为SAS是唯一的容器。再次因为您包含Read
权限,您将只能读取blob内容。您将无法上传斑点。
3,会发生什么事,容器URI + SAS - 斑点URI + SAS(权限 读取)=>我只能上传文件或我可以看到容器 当尝试在Internet Explorer中。
不,具有Read
权限,您无法上传文件。您甚至不能使用Read
权限查看Blob列表。为此,您需要List
权限。
关于#4,直到您实际使用SAS网址时才有所区别。在第一种情况下,你会得到一个错误,在第二种情况下,你将能够看到这个blob。
所有你的答案对我来说都是宝贵的。我感谢你关于4# - 我的容器访问类型是私人的在我的存储 我得到continer没有任何permssion和SAS的参考, 然后使用读取Permssion和SAS创建Blob URI。 =>我明白在这里,我只能去我的blob并且因为读取权限下载它 ,但是当我尝试看到blob的容器(可下载的blob)时,我看不到容器。 (我认为它没有关系我为blob权限和SAS创建的,没有权限的容器 ,没有SAS我可以看到它。) –
你能否详细说明你的意思是'资源管理器'?你的意思是微软的Azure存储资源管理器或Internet Explorer(浏览器)? –
是的先生,Internet Explorer我现在编辑:) –