问题描述
在一个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