gpt4 book ai didi

azure - Windows Azure 共享访问签名 SAS

转载 作者:行者123 更新时间:2023-12-01 23:49:00 25 4
gpt4 key购买 nike

我正在开发一个文件共享网站,我有几个有关 Windows Azure 共享访问签名的问题。

关于我的网站:注册用户可以使用 blob 存储上传、共享和存储他们的文件。文件大小最大可达 2GB,因此我希望上传和下载尽可能快。它是同样重要的是,我作为主持人的管理成本是最低的。用户存储的文件必须是私有(private)的。

我同意使用 SAS URI 进行上传,但对于下载,我有点害怕。

问题:

1. 用户可以在其帐户上存储文件,并且这些文件只能由该用户访问。如果我要在此处使用 SAS URI 下载,则文件将始终通过 URI 可用,只要URI 有效(如果您知道 URI,则不需要登录,只需下载该文件即可)。如果您希望文件保密,这是非常可怕的。我知道 SAS URI 中的签名是“使用 SHA256 算法对要签名的字符串和 key 计算 HMAC,然后使用 Base64 编码进行编码”,这安全吗?使用 SAS URI 进行下载是否可以接受,即使文件是私有(private)的吗?我是否应该在服务器和网站之间传输文件(这会更安全,但速度会受到影响,管理成本也会上升)。

2.如果我在(服务器、网站、用户)之间传输下载而不是使用 SAS(服务器直接到用户),速度会慢多少,成本会高多少?

3.如果我将 SAS URI 到期时间设置为 1 小时,并且下载时间超过 1 小时,那么如果在到期时间之前开始下载,下载会取消吗?

4. 如果我的网站是在 x.azurewebsites.net 注册的,并且我使用的是购买的域名,以便可以访问我的网站 www.x.com,是否可以将SAS URI 看起来像这样: https://x.com/blobpath而不是https://x.blob.core.windows.net/blobpath ,(我的猜测是否定的..)。

抱歉文字墙!

最佳答案

  1. 没有什么可以阻止某人共享 URI,无论是否有 SAS。因此,从安全角度来看,如果将到期日期设置为遥远的 future ,则 URI 将仍然可以通过 SAS 编码的 URI 进行访问。从整体安全角度来看:由于您的 blob 是私有(private)的,因此如果没有 SAS 编码的 URI,其他人将无法访问该 blob。限制 SAS 使用:如果用户访问网页(或 API)来请求文件访问,而不是获得长期存在的 SAS URI,则您可以为更小的时间窗口生成新的 SAS URI;此时,最终用户仍然能够直接访问 blob,而无需通过 VM 流式传输内容(这只是添加了一个额外的网络跃点来获取 URI,以及托管 Web/API 服务器所需的任何内容) 。还与安全性相关:如果您使用存储访问策略,则可以在发出 SAS 后修改访问权限,而不是将开始+结束时间直接嵌入到 SAS URI 本身中(请参阅 here有关访问策略的信息)。
  2. 您将承担用于处理 URI 请求的虚拟机的费用。出站带宽成本与直接使用 blob 访问相同:您只需支付出站带宽费用。如果使用虚拟机,性能会受到许多因素的影响:虚拟机大小、虚拟机资源使用(例如,如果您的虚拟机以 100% CPU 运行,您可能会看到性能下降)、并发访问数量等。
  3. 是的,如果用户达到到期时间,链接将不再有效。
  4. 是的,您可以将 SAS 与用于存储的自定义域名结合使用。请参阅here了解有关设置自定义域名进行存储的更多信息。

关于azure - Windows Azure 共享访问签名 SAS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27545200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com