【问题标题】:Is there a way to add ACL per Blob (File) in an Azure Storage Blob Container?有没有办法在 Azure 存储 Blob 容器中为每个 Blob(文件)添加 ACL?
【发布时间】:2020-08-15 09:33:13
【问题描述】:

我正在将一些文件从 S3 移动到 Azure 存储。我在 S3 帐户中的每个文件都使用 ACL,所以我在同一个存储桶中有一些私有文件和一些公共文件。

问题是我找不到在 Azure 存储中为每个文件设置 ACL 的方法,我看到我可以在容器中设置 ACL,但不能在 Blob 中设置。

有没有办法做到这一点,或者在 Azure 存储中是不可能的?

编辑:

我最终将一个容器用于公共文件,一个容器用于私有文件,这使得从 S3 到 Azure 存储的过渡更加困难,但我不想为我的应用程序增加另一层复杂性(Azure 数据湖)。

【问题讨论】:

  • Azure Data Lake STORAGE 并不比 blob 存储复杂多少(但功能更强大、更灵活),一般不要将其与 Azure Data Lake 混淆

标签: azure azure-storage azure-blob-storage


【解决方案1】:

问题是我找不到在 Azure 中为每个文件设置 ACL 的方法 存储,我看到我可以在容器中设置 ACL,但不能在 Blob 中。

有没有办法做到这一点,或者在 Azure 存储中是不可能的?

这个问题的答案是否定的。不能仅通过将 ACL 设置为以下任何值来在 blob 容器级别设置 ACL - PrivateBlobContainer (Full)。该容器中的所有 Blob 都将遵循相同的 ACL。

此外,RBAC 访问再次应用于 Blob 容器级别,而不是 Blob 级别。

【讨论】:

    【解决方案2】:

    我不确定这是否正是您想要的。

    我们可以在 ADLS2 中的单个文件夹/文件级别设置 ACL。存储资源管理器中有一个管理访问访问选项,您可以从那里设置权限。这记录在here

    【讨论】:

      【解决方案3】:

      Azure Data Lake Storage (ADLS) Gen 2 在文件和目录级别内置了对ACLs 的支持。 ADLS Gen 2 基于 Blob 存储构建。您可以使用多种工具/语言轻松管理 ACL,例如 Storage ExplorerPowerShellPython

      【讨论】:

      • 谢谢,这似乎是我要找的,不过有个问题,这似乎是专门用于分析的,如果我只将它用于我的应用程序的文件存储可以吗?
      • 您可以使用 SAS(共享访问签名)来提供对容器上特定文件的公共访问。您甚至可以指定允许的 IP 范围:docs.microsoft.com/en-us/azure/storage/common/…
      • 因此您可能需要再次考虑文件级 ACL 是否真的是您需要的,或者您应该利用 SAS。
      猜你喜欢
      • 2021-07-15
      • 1970-01-01
      • 2020-02-24
      • 2020-01-14
      • 2011-02-24
      • 2020-04-09
      • 1970-01-01
      • 2020-10-05
      • 2021-07-09
      相关资源
      最近更新 更多