Azure 存储资源管理器 - 资源类型访问不足
Posted
技术标签:
【中文标题】Azure 存储资源管理器 - 资源类型访问不足【英文标题】:Azure Storage Explorer - Inadequate resource type access 【发布时间】:2019-12-05 01:37:27 【问题描述】:我正在尝试使用 Microsoft Azure 存储资源管理器,并附加一个 SAS URI。但我总是得到错误:
资源类型访问不足。至少服务级别('s')访问 是必需的。
这是我的部分被混淆的 SAS URI:
https://ti<...>hare.blob.core.windows.net/?sv=2018-03-28&ss=b&srt=co&sp=rwdl&se=2027-07-01T00:00:00Z&st=2019-07-01T00:00:00Z&sip=52.<...>.235&spr=https&sig=yD%2FRUD<...>U0%3D
这是我的部分混淆的连接字符串:
BlobEndpoint=https://tidi<...>are.blob.core.windows.net/;QueueEndpoint=https://tidi<...>hare.queue.core.windows.net/;FileEndpoint=https://ti<...>are.file.core.windows.net/;TableEndpoint=https://tid<...>hare.table.core.windows.net/;SharedAccessSignature=sv=2018-03-28&ss=b&srt=co&sp=rwdl&se=2027-07-01T00:00:00Z&st=2019-07-01T00:00:00Z&sip=52.<...>.235&spr=https&sig=yD%2FRU<...>YU0%3D
问题似乎在于我的 URI/endpoints/connectionstring/etc 的构造,而不是在服务器上授予我的权限,因为当我单击下一步时,错误会立即显示。我不相信它甚至试图联系服务器。
我做错了什么? (一旦我开始工作,我将使用 URI/etc 嵌入到我的 c# 应用程序中进行编程访问。)提前致谢。
【问题讨论】:
您似乎打算使用帐户 SAS,但 SAS 没有必需的 SignedResourceTypes (srt) 参数(请参阅文档)。docs.microsoft.com/en-us/rest/api/storageservices/…您从哪里获得 SAS从?或者你是如何生成 SAS 的? @SumanthMarigowda-MSFT 问题中的链接有“srt=co”。这是不正确的吗? 【参考方案1】:您需要连接的是 URI 的“SRT”部分的服务要求。 您拥有的 URI 具有“CO”容器和对象的 SRT,并且需要“S”部分,您需要创建一个新的 sas 密钥,这可以在门户、azure cli 或 powershell 中生成。
在门户中是这个部分: 您必须输入存储帐户并选择您需要的内容:
允许的服务(如果您正在寻找 blob) 斑点
允许的资源类型
-
服务(确保已激活)
容器
对象
允许的权限(这可以做所有事情)
-
阅读
写
删除
列表
添加
创建
查看示例
如果您需要更多信息,请看这里:
https://docs.microsoft.com/en-us/rest/api/storageservices/create-account-sas?redirectedfrom=MSDN
如果您想在 CLI 中创建 SAS 密钥,请使用:
https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-user-delegation-sas-create-cli
如果您想在 powershell 中创建 SAS 密钥,请使用:
https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-user-delegation-sas-create-powershell
【讨论】:
【参考方案2】:我遇到了同样的问题,并设法通过破解 URL 并将“srt=co”更改为“srt=sco”来解决这个问题。它似乎需要“s”。
【讨论】:
以上是关于Azure 存储资源管理器 - 资源类型访问不足的主要内容,如果未能解决你的问题,请参考以下文章
如何公开访问 Microsoft Azure 存储服务中的对象?
如何在 Microsoft azure 存储资源管理器工具中删除表列名称?