【发布时间】:2021-10-15 01:26:45
【问题描述】:
我正在使用 Azure Blob 存储来为我的 .网络应用程序。 在应用程序的一部分中,用户可以将图像附加到报告并保存。这将保存文件,它将位于以下形式的 url 下:
"https://{storageAccountName}.blob.core.windows.net/.../{exportPath}";
之后,如果生成的 url 将由用户共享,则任何人都可以使用它(无需任何授权)来下载该图像。
我想确保只有授权用户才能访问这些文件。
对于这种无法计算访问授权的外部存储资源的直接访问链接,我应该怎么做,这样我的文件将无法通过 azure blob 链接提供给任何人?
我正在阅读 Microsoft 提供的有关 Azure Blob(主要是 SAS)的文档(这样我就可以让我的文件只有授权用户可以访问) https://docs.microsoft.com/en-us/azure/storage/blobs/sas-service-create?tabs=dotnet https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-user-delegation-sas-create-dotnet,但我还没有弄清楚是不是这样。 (也是快速过期令牌)
【问题讨论】:
-
不确定我是否理解您的问题。您能否编辑您的问题并详细说明?
-
@GauravMantri 我已经编辑过了。简短说明:我正在将文件上传到 azure blob 存储。如果您有该文件的链接,则无需授权即可访问它。我不希望这种情况发生(我希望授权用户可以访问它)并且我正在寻找解决方案(SAS/快速到期令牌)
-
另外:blob 容器默认是私有的,这意味着其中的任何文件也是私有的。如果您的文件可访问,这意味着您将容器明确设置为公开可用。您可能正在寻找使用托管标识、正确的连接字符串或 SAS 创建私有容器并在其中存储文件。 (请注意,里面有一些有趣的搜索词??????)
标签: c# .net asp.net-mvc azure azure-blob-storage