允许通过 SAS 令牌 URL 访问 Azure 存储帐户中的 BLOB

问题描述 投票:0回答:1

我有一个要求,需要生成 PDF 文件,将其上传到 Azure 存储 BLOB,使用帐户级别密钥构建带有 SAS 令牌的链接,并将此链接嵌入到发送给用户的电子邮件中。

我使用 spring boot stack 以及 spring-cloud-azure-starter-storage-blob 依赖项来生成 SAS 令牌 URL。但是,当用户尝试通过互联网访问 URL 时,会失败并显示“AuthorizationFailure”错误代码。我认为这是由于“公共网络访问”被完全禁用或仅从选定的 VNET 和 N/W 启用的事实。只有当我将我的 IP 显式添加到防火墙时,它才允许我访问链接。

允许使用 SAS 链接访问 BLOB 的最佳实践是什么?由于用户需要从 INTERNET 进行访问,因此我认为启用特定 IP 范围的访问不会起作用。那么,是启用所有 N/W 访问但禁用容器和/或 BLOB 匿名访问的唯一选项吗?

spring-boot azure azure-blob-storage sas-token azure-sdk-for-java
1个回答
0
投票

允许使用 SAS 链接访问 BLOB 的最佳实践是什么?由于用户需要从 INTERNET 进行访问,我认为启用来自特定 IP 范围的访问不会起作用。那么,是启用所有 N/W 访问但禁用容器和/或 BLOB 匿名访问的唯一选项吗?

要允许使用 SAS 链接访问 Azure 存储 Blob,这里是推荐的选项。

  1. 您可以在您信任的 firewalls and virtual networks
    storage account
    部分
    启用从所选虚拟网络和 IP 地址
    的访问,例如您组织的网络 IP 范围或用户特定网络的 IP 范围或 VNet 范围,以通过互联网使用 SAS 私下访问
    Blob

enter image description here

上述方法仅允许同一网络范围内的用户通过互联网使用SAS访问 blob。

enter image description here

2.使用专用端点:您可以为

Azure Storage account
创建专用端点,这将允许您通过
private
连接而不是
public
互联网访问 Blob。这是一个更安全的选项,因为它不会将 Blob 暴露给
public internet

参考配置对 Azure 存储的网络访问 使用 Azure 存储的专用终结点

© www.soinside.com 2019 - 2024. All rights reserved.