我有一个要求,需要生成 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 匿名访问的唯一选项吗?
允许使用 SAS 链接访问 BLOB 的最佳实践是什么?由于用户需要从 INTERNET 进行访问,我认为启用来自特定 IP 范围的访问不会起作用。那么,是启用所有 N/W 访问但禁用容器和/或 BLOB 匿名访问的唯一选项吗?
要允许使用 SAS 链接访问 Azure 存储 Blob,这里是推荐的选项。
firewalls and virtual networks
的 storage account
部分启用从所选虚拟网络和 IP 地址的访问,例如您组织的网络 IP 范围或用户特定网络的 IP 范围或 VNet 范围,以通过互联网使用
SAS
私下访问 Blob。
上述方法仅允许同一网络范围内的用户通过互联网使用SAS访问 blob。
2.使用专用端点:您可以为
Azure Storage account
创建专用端点,这将允许您通过 private
连接而不是 public
互联网访问 Blob。这是一个更安全的选项,因为它不会将 Blob 暴露给 public internet
。