防止直接访问Azure文件,除非通过Ember应用程序

Prevent direct access to Azure file except through Ember Application

本文关键字:应用程序 Ember 文件 访问 Azure      更新时间:2023-09-26

我需要阻止访问我的应用程序可以显示的文件。我们在Node上运行Ember.js(还不是Ember-cli),通过Ember模型检索文件。当通过我们的应用程序上传时,文件本身存储在Azure Blob Storage中,我们的应用程序通过Azure托管。

Azure Blob似乎有访问控制,但我认为所有的教程都是针对。net的,而且我目前无法将过程一一映射,因为http://www.dotnetcurry.com/windows-azure/901/protect-azure-blob-storage-shared-access-signature等教程似乎使用SDK。

因此,例如,我需要提供一个链接来访问.pdf文件。我使用ember动作在新选项卡中打开它,但选项卡的url为:

"https://myapplication.blob.core.windows.net/containing-folder/sensitiveFile.pdf"

如果我复制粘贴到另一个窗口,或者另一个选项卡,我可以很容易地访问它。

基于此,我有几个问题:

  1. 我可以限制访问这个文件,除了通过我们的应用程序吗?如果是这样的话,是只能通过。net实现呢,还是有一个javascript的等效版本?我该怎么做呢?
  2. 是否有更广泛的方法来显示文件,但限制访问url?到目前为止,我能看到的最接近的事情是在一个新的窗口打开它,隐藏地址栏,但这使得它危险地接近一个弹出+你可以很容易地检索这个url。

我说得太早了。我发现了一个教程与共享访问键re: Node.js,我似乎已经错过了第一次。

https://azure.microsoft.com/en-us/documentation/articles/storage-nodejs-how-to-use-blob-storage/work-with-shared-access-signatures