gpt4 book ai didi

Azure SAS token 授权资源类型不匹配

转载 作者:行者123 更新时间:2023-12-03 04:42:54 25 4
gpt4 key购买 nike

我已创建 azure 存储帐户。我已经创建了文件存储。我已经生成了 SAS token 。当我尝试使用 sas token 访问文件时显示错误“远程服务器返回错误:(403) 禁止。”

我能够生成 SAS token 。当我尝试访问文件存储中的文件时抛出异常。我尝试在浏览器上复制并粘贴网址,但会引发错误“

<Error>
<Code>AuthorizationResourceTypeMismatch</Code>
<Message>
This request is not authorized to perform this operation using
this resource type. RequestId:4cbc0cbe-401a-00c2-2edf-
202bc4000000 Time:2019-06-12T05:26:39.4816687Z
</Message>
</Error>"

我用来生成 SAS token 的代码

静态字符串GetAccountSASToken()

      SharedAccessAccountPolicy policy = new 
SharedAccessAccountPolicy()
{
Permissions = SharedAccessAccountPermissions.Read |
SharedAccessAccountPermissions.Write |
SharedAccessAccountPermissions.List,
Services = SharedAccessAccountServices.File,
ResourceTypes = SharedAccessAccountResourceTypes.Service,
SharedAccessExpiryTime = DateTime.UtcNow.AddHours(24),
Protocols = SharedAccessProtocol.HttpsOnly,


};

我用来访问文件的代码

 XDocument objdoc = XDocument.Load(filepath+ sasToken);

将文件加载到 XDocument 后,我​​必须执行一些读写操作。请帮助查找我正在执行的错误

最佳答案

我遇到了同样的问题,user3404686(2019-07-13)的解决方案是正确的。事后就更清楚了,但当问题仍然没有得到解决时,它可能会令人困惑。

资源类型的授权是相互独立的,而不是有层次结构,即“服务”不包括“容器”和“对象”授权(这是我的误解)。

storageservices API documentation描述如何分配资源类型权限:

  • Service (s): Access to service-level APIs (e.g., Get/Set Service Properties, Get Service Stats, List Containers/Queues/Tables/Shares)
  • Container (c): Access to container-level APIs (e.g., Create/Delete Container, Create/Delete Queue, Create/Delete Table, Create/DeleteShare, List Blobs/Files and Directories)
  • Object (o): Access to object-level APIs for blobs, queue messages, table entities, and files(e.g. Put Blob, Query Entity, Get Messages,Create File, etc.)

在同一文档中,它进一步提供了您可能使用的各种操作所需的服务、资源类型和权限的示例,允许使用 SA token 向服务分配权限的最小所需权限粒度.

理解这一点后,错误代码 AuthorizationResourceTypeMismatch 就更有意义了 - SAS token 授权的资源类型与您尝试访问的资源类型不匹配。

关于Azure SAS token 授权资源类型不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56555383/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com