有没有一种方法可以在Azure存储Blob容器中为每个Blob(文件)添加ACL?

时间:2020-04-30 21:43:02

标签: azure azure-storage azure-storage-blobs

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

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

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

编辑:

我最终使用了一个容器来存储公共文件,并使用了一个容器来存储私人文件,这使得从S3到Azure存储的过渡变得更加困难,但是我不想在我的应用程序中增加另一层复杂性(Azure Data湖)。

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

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

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

答案 2 :(得分:0)

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

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