【问题标题】:Azure Blob Resource Not Found for Access Level Private未找到访问级别专用的 Azure Blob 资源
【发布时间】:2021-10-05 15:30:06
【问题描述】:

我的容器的访问级别是“私人(无匿名访问)”。我更喜欢这种访问级别,因为我只希望授权用户查看我的内容。但是,当我尝试通过容器 URL 访问文件时,我收到 ResourceNotFound 错误。

我猜有其他步骤可以验证请求的有效性。有人可以通过让我知道显示文件的步骤来帮助我吗?

我的前端是 Angular/HTML。

【问题讨论】:

    标签: c# angular azure azure-blob-storage


    【解决方案1】:

    这是预期的行为。如果 blob 位于具有 Private ACL 的 blob 容器中,则不能直接访问它。

    您需要做的是在具有至少read 权限的 blob 上创建 Shared Access Signature (SAS),并使用 blob 的 SAS URL。您可以在 blob 上创建 Service SAS

    通常的工作方式是,您将在后端 API 中的 blob 上创建一个 SAS,然后将该 SAS 令牌/URL 传递到您的前端。

    【讨论】:

    • 想象一下我获得 SAS 令牌/URL 并有权访问文件的情况(如您所述)。因此,我应该能够获取此 URL 并将其粘贴到任何浏览器中以查看内容。正确的 ?如何防止未经授权的用户访问此内容?
    • Therefore, I should be able to take this URL and paste it in any browser to view the content. Right ? - 没错。 How can I prevent unauthorised users from accessing this content ? - 请参阅 link 了解使用 SAS 时的最佳实践。
    • 谢谢。这是一个很好的指针。您是否有任何机会知道显示此操作的博客或帖子?抱歉,我是新手。
    • 不用担心 :)。您可以使用任何存储 SDK 来创建 SAS 令牌。存储 SDK 可用于所有主要编程语言(.Net、Java、Node/JavaScript 等)。
    猜你喜欢
    • 2021-06-27
    • 2013-12-31
    • 2013-08-10
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-18
    • 1970-01-01
    相关资源
    最近更新 更多