【问题标题】:Can Shared Access Signatures + Policies + $log data be used to enforce storage quotas?可以使用共享访问签名 + 策略 + $log 数据来强制执行存储配额吗?
【发布时间】:2017-05-17 20:16:57
【问题描述】:

我正在探索是否可以将Azure Storage $logsAccess Policy 结合使用来创建和实施最终用户配额。访问策略将允许我终止因任何原因而无效的新会话。

这个问题主要是关于活动连接的,因为我很确定非流数据没有问题或风险。

假设我正在积极阅读 $logs,并在达到阈值后禁用共享访问签名,那么会有哪些“丢失数据”可被利用?

例如:

  • 是否记录了打开/正在进行的上传或下载? (我无法审核我还看不到的内容)

  • 一旦撤销策略,相关的会话是否终止? (他们可以上传、下载或在流中搜索)

  • 我能否读取 Azure 日志记录服务“打开”的日志并保持一些最新的指标?

我的假设是这一切都不会发生,即使有访问策略,也有多种滥用途径。

【问题讨论】:

  • 你能描述一下你所说的“剥削”是什么意思吗?您的意思是即使您禁用了 SAS,用户是否仍可以继续获取数据?
  • @GauravMantri 在这种情况下,假设用户与数百/千人共享密钥是一个大型下载。此出口是可计费的,并且表明违反了 ToS(版权或与手头数据相关的其他术语)
  • 因此,一旦您使 SAS 无效,使用该 SAS 完成的任何操作都会从那时起导致 403 错误。假设您的下载是分块实现的,在这种情况下,用户将获得部分数据。这能回答你的问题吗?
  • @GauravMantri 这回答了第二个问题。但我不确定我是否获得了飞行中的数据......或者我是否可以要求所有数据都以块的形式下载。
  • 我认为 SAS 更像是一个看门人。当请求到达 Azure 存储时,它会得到验证。因此,假设您有一个需要 15 秒才能处理的请求。当请求到达 Azure 存储时,将验证 SAS。如果它有效,则服务开始处理数据。现在,当服务仍在处理数据时,您使 SAS 无效。在这种情况下,请求将成功。

标签: security azure azure-storage azure-blob-storage azcopy


【解决方案1】:

是否记录了打开/正在进行的上传或下载? (我无法审核我还看不到的内容)

据我所知,针对 Azure 存储服务的操作基于存储服务 REST API。下面是对应存储服务的详细操作记录,可以参考这个官方document

一旦政策被撤销,相关的会话是否会终止? (他们可以上传、下载或在流中搜索)

我尝试使用 SAS 和访问策略将我的大文件上传到 Azure Blob,当我撤销该策略时,随后的上传请求将被中断并返回 403,如下所示:

对于下载大文件,如果请求到达 Azure 存储服务并且认证通过,那么我撤销了该策略。此时,预认证的下载请求将继续,文件将成功下载。我所有的测试都完全符合 Gaurav Mantri 的 cmets。

我能否读取 Azure 日志记录服务“打开”的日志并保持一些最新的指标?

据我了解,我们可以利用Microsoft Azure Storage Explorer 以一种简单的方式检索存储分析日志文件。我们可以下载日志文件并验证详细请求。据我所知,没有任何内置功能或工具可以读取存储分析日志并使您打开的日志内容保持最新。

【讨论】:

  • 谢谢,您知道获取信息所需的最低日志记录吗? (我不记得有 3 个设置,基本的、调试的 - 或类似的东西)
  • 据我所知,对于存储帐户(现代),您可以启用“监控 > 诊断”下的“Blob 日志”选项来记录对 Blob 存储的详细请求。对于存储帐户(经典),您可以在旧门户中存储帐户的“配置 > 日志记录”部分下为存储服务记录“读取请求”或“写入请求”或“删除请求”。如果我误解了您的想法,请说明您的疑问。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-27
  • 2022-08-02
  • 2013-05-29
  • 2020-02-24
  • 1970-01-01
  • 2017-02-11
相关资源
最近更新 更多