管理存储访问策略

Managing Stored Access Policy

我有一个 Azure Storage,其中包含一个 blob 容器,此容器中有多个文件夹,这些文件夹中有文本文件。

我想使用 SAS tokens 管理访问权限。我找到了很多例子,但我没有得到我需要的所有答案。

我可以在我的容器的不同层次上设置 policies 并生成 SAS tokens 吗?喜欢:

  1. 整个容器的签名
  2. 一个文件夹(及其包含的所有内容)的签名仅在该容器中
  3. 一个文件的签名仅在那些文件夹

有哪些可能的选项?

似乎 Azure Portal 只允许我在容器级别生成 SAS tokenspolicies 是否仅通过代码创建?与特定 SAS tokens(选项 2 和 3)相同?

谢谢

回答您的问题:

  • 策略是在容器级别设置的。对于每个容器,最多可以有 5 个访问策略。
  • 可以在容器上创建的 SAS 令牌数量没有限制。要创建 SAS 令牌,您可以使用访问策略,也可以在不使用访问策略的情况下创建 SAS 令牌。
  • 由于 blob 存储中没有文件夹的概念(它们只是 blob 的前缀),您无法为文件夹创建 SAS 令牌。
  • 您可以为单个 blob 创建 SAS 令牌。同样,您可以为 blob 创建的 SAS 令牌数量没有限制。您可以使用 blob 所在的 blob 容器上的访问策略或不使用访问策略为 blob 创建 SAS 令牌。
  • 当使用没有访问策略的方式创建 SAS 令牌时,在它过期之前撤销它的唯一方法是更改​​帐户密钥。使用访问策略创建 SAS 令牌时,可以通过更改访问策略标识符的值或更改该访问策略的参数来在其过期之前将其撤销。

政策似乎也只能包含 date/time 限制和权限。它不能包含 IP 地址限制(不幸的是)。