使用共享访问签名删除没有“删除”权限的Blob内容

洋下

我正在使用Azure blob存储来存储来自客户端的数据。

客户端具有共享访问签名,没有“删除”权限。

不过,我可以使用以下代码删除具有“删除”权限的blob内容:

// sharedKey doesn't contain 'Delete' permission
var credentials = new StorageCredentials(sharedKey);
var blob = new CloudBlockBlob(blobPath, credentials);
var blockIds = new List<string>();

// If not getting all current blocks ids, all current data will be lost.
// if (blob.Exists())
// {
//  blockIds.AddRange(blob.DownloadBlockList().Select(b => b.Name));
// }

var blockId =
Convert.ToBase64String(
    Encoding.Default.GetBytes(blockIds.Count.ToString("d6",    CultureInfo.InvariantCulture)));
 blockIds.Add(blockId);

byte[] eventInBytes = Encoding.Default.GetBytes(string.Format(CultureInfo.InvariantCulture, "{0}\n",   formattedEvent));

using (var eventStream = new MemoryStream(eventInBytes))
{
    blob.PutBlock(blockId, eventStream, null);
}

blob.PutBlockList(blockIds);

这是Azure缺陷吗(或者我缺少共享访问签名的概念?。有什么办法可以解决此问题?

谢谢!

内森

可以通过以下方式为用户授予“共享访问权限”的实现权限:删除,列表,无,读取,写入(请参阅本文)。使用这种粒度级别,如果您希望用户能够创建Blob,那么他们也将能够更新Blob。尽管您可以通过发出没有删除权限的SAS来阻止用户删除Blob,但是您不能阻止用户修改Blob,除非您还拒绝用户创建Blob的能力,这两者均由“写入”权限控制。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

删除没有root访问权限的Google Glass apk?

来自分类Dev

有没有一种方法可以使用Java / python代码中的SAS(共享访问签名)URI访问Azure Blob存储

来自分类Dev

没有对 samba 共享的写访问权限

来自分类Dev

使用wget或curl下载具有共享访问签名的Azure Blob

来自分类Dev

使用共享访问签名的Azure Blob存储虚拟目录

来自分类Dev

使用共享访问签名的Azure Blob存储虚拟目录

来自分类Dev

setfacl删除所有写访问权限

来自分类Dev

如何使用Java在Azure Blob存储中创建/删除共享访问策略?

来自分类Dev

如何删除没有权限的文件?

来自分类Dev

如何删除没有权限的文件?

来自分类Dev

如果没有足够的访问权限,如何删除垃圾箱中的文件?

来自分类Dev

如何从没有访问权限的脚本中的div中删除javascript / jquery悬停事件?

来自分类Dev

有没有办法防止使用SignTool删除签名?

来自分类Dev

如何知道我是否可以使用oracle用户删除?没有实际删除任何内容?

来自分类Dev

如何删除没有内容的标签

来自分类Dev

使用Powershell从交换中删除邮箱中的所有用户访问权限

来自分类Dev

我可以在Azure Blob存储中为单个文件具有多个共享访问签名吗?

来自分类Dev

我可以在azure blob存储中为单个文件具有多个共享访问签名吗?

来自分类Dev

删除没有管理员权限的计划任务

来自分类Dev

删除没有任何权限和属性的文件

来自分类Dev

我创建的用户没有默认权限(添加,删除,更改)?

来自分类Dev

如何在Windows中删除没有“修改”权限的文件?

来自分类Dev

能够在没有权限的情况下删除文件

来自分类Dev

如何使用最新的Azure SDK .NET API v12在Blob上获取共享访问签名?

来自分类Dev

Azure Powershell - 如何使用“只写”共享访问签名 (SAS) 将文件上传到 Blob 存储?

来自分类Dev

使用记事本++删除所有没有数字的内容

来自分类Dev

有没有办法删除已搁置的内容?

来自分类Dev

使用awk删除没有以下内容行的标题行

来自分类Dev

Azure Blob存储:多个容器的共享访问签名?

Related 相关文章

  1. 1

    删除没有root访问权限的Google Glass apk?

  2. 2

    有没有一种方法可以使用Java / python代码中的SAS(共享访问签名)URI访问Azure Blob存储

  3. 3

    没有对 samba 共享的写访问权限

  4. 4

    使用wget或curl下载具有共享访问签名的Azure Blob

  5. 5

    使用共享访问签名的Azure Blob存储虚拟目录

  6. 6

    使用共享访问签名的Azure Blob存储虚拟目录

  7. 7

    setfacl删除所有写访问权限

  8. 8

    如何使用Java在Azure Blob存储中创建/删除共享访问策略?

  9. 9

    如何删除没有权限的文件?

  10. 10

    如何删除没有权限的文件?

  11. 11

    如果没有足够的访问权限,如何删除垃圾箱中的文件?

  12. 12

    如何从没有访问权限的脚本中的div中删除javascript / jquery悬停事件?

  13. 13

    有没有办法防止使用SignTool删除签名?

  14. 14

    如何知道我是否可以使用oracle用户删除?没有实际删除任何内容?

  15. 15

    如何删除没有内容的标签

  16. 16

    使用Powershell从交换中删除邮箱中的所有用户访问权限

  17. 17

    我可以在Azure Blob存储中为单个文件具有多个共享访问签名吗?

  18. 18

    我可以在azure blob存储中为单个文件具有多个共享访问签名吗?

  19. 19

    删除没有管理员权限的计划任务

  20. 20

    删除没有任何权限和属性的文件

  21. 21

    我创建的用户没有默认权限(添加,删除,更改)?

  22. 22

    如何在Windows中删除没有“修改”权限的文件?

  23. 23

    能够在没有权限的情况下删除文件

  24. 24

    如何使用最新的Azure SDK .NET API v12在Blob上获取共享访问签名?

  25. 25

    Azure Powershell - 如何使用“只写”共享访问签名 (SAS) 将文件上传到 Blob 存储?

  26. 26

    使用记事本++删除所有没有数字的内容

  27. 27

    有没有办法删除已搁置的内容?

  28. 28

    使用awk删除没有以下内容行的标题行

  29. 29

    Azure Blob存储:多个容器的共享访问签名?

热门标签

归档