【Azure 存储服务】关于对Azure Storage Account 的 Folder 权限管理和设定


问题描述

在一个storage account下面有很多folder,需要对不同的folder设置不同的权限给到不同的用户来访问使用,怎么样设定比较合理?

问题解答

一:可以使用SAS共享访问签名进行控制:可以通过生成SAS token和URL进行权限访问限制。

详情可以参考此文档:https://docs.microsoft.com/zh-cn/rest/api/storageservices/authorize-with-shared-key

1:生成共享访问签名URL(选择相应的权限)

2:通过Azure门户,进入具体的某一个Container 或者是具体的某一个文件,文件夹中,同样通过共享访问签名方式(SAS)生成访问的URL

3:通过生成的URL进行访问即可访问对于的文件夹,可以在 Microsoft Azure Storage Explorer 工具中通过该连接URL查看

二:基于角色的访问控制 (Azure RBAC) 

存储 Blob 数据所有者

对 Blob 存储容器和数据的完全访问权限。 此访问权限允许安全主体设置项的所有者,以及修改所有项的 ACL。

存储 Blob 数据参与者

对 Blob 存储容器和 Blob 的读取、写入和删除访问权限。 此访问权限不允许安全主体设置项的所有权,但它可以修改安全主体拥有的项的 ACL。

存储 Blob 数据读者

读取和列出存储容器与 Blob。

这种方式主要是基于AAD应用注册授权来进行的访问控制。

三: 使用访问控制列表 (ACL)

使用 Azure 存储资源管理器在 Azure Data Lake Storage Gen2 中管理 ACL: https://docs.azure.cn/zh-cn/storage/blobs/data-lake-storage-explorer-acl

Azure Data Lake Storage Gen2 中的访问控制列表:  https://docs.azure.cn/zh-cn/storage/blobs/data-lake-storage-access-control#common-scenarios-related-to-acl-permissions