Azure SAS and Permission



getsasforblobcontainer (容器,sharedAccessblobpermissions.list | sharedAccessblobpermissions.read(;

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帐户中的容器访问是私有的。我可以在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/inlineDucation/$ root 2015-12-11

但是当我尝试一下时,我可以看到斑点,

 foreach (IListBlobItem blob in blobs)
{
   CloudBlockBlob blob1 = new CloudBlockBlob(blob.Uri);
   string name = blob1.Name;
}

1-(当我创建GetSasforblobContainer和我的容器访问类型是私有的(对于Internet Explorer和Code(时,我不明白一件事?

2-(当我在未经许可的情况下获得参考时,我的私人容器,然后创建Blob Uri SAS。例如,示例会发生什么我可以看到我的容器?或者我只能写引用的斑点(我的斑点的权限仅是写入(..

3-会发生什么,容器URI SAS -BLOB URI SAS(读取权限(=>我只能上传文件,或者在Internet Explorer中尝试时可以看到容器。

4-(这里有什么不同,

  • 我的容器访问类型是 private 在我的存储中,我在没有任何permss和sas 的情况下获得了Contarer 的引用,然后使用R

    尝试此操作时,我的stroge帐户中的容器访问是 私人。我可以用Internet Explorer列出容器中的斑点吗?我 尝试使用BLOB和容器访问类型,失败始终

    要解决此问题,首先,请在您的SAS中添加List作为权限,然后将&restype=container&comp=list添加到您的请求URL中。有关此问题的更多说明,请参阅此线程:Azure共享访问签名 - 签名与不匹配。

    1-(当我创建GetSasforblobContainer时,我不明白一件事 我的容器访问类型是私人的(对于互联网 资源管理器和代码(?

    除非您对此做某事,否则什么都不会发生:)。根据SAS中包含的权限,拥有此SAS URL的用户将能够执行某些操作。例如,如果您使用List权限创建SAS,则用户将仅列出该容器中的斑点。他们甚至无法下载斑点(因为SAS必须包括Read许可(。

    2-(当我在未经私人容器允许的情况下获得参考时, 然后创建blob uri sas。示例我会看到我的 容器?还是我只能写引用的斑点(我的斑点许可 只是写(..

    不,您看不到容器,因为SAS仅适用于容器。同样,因为您包括Read许可,因此您只能读取Blob内容。您将无法上传斑点。

    3-会发生什么,容器URI SAS -BLOB URI SAS(许可 读(=>我只能上传文件还是可以看到容器 在Internet Explorer中尝试时。

    no,使用Read许可,您无法上传文件。您甚至无法使用Read权限查看BLOBS列表。为此,您需要List许可。

    关于#4,直到您实际使用SAS URL的时间才有区别。在第一种情况下,您将遇到错误,在第二个情况下,您将能够看到斑点。

最新更新