我的目标是限制对 Azure Data Lake Gen 2 存储的访问在目录级别(根据微软的承诺,这应该是可能的)。
我有两个目录data
, and sensitive
在第二代数据湖容器中。对于特定用户,我想授予对该目录的读取权限data
并阻止对目录的任何访问sensitive
.
沿着文档 https://learn.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-access-control#access-control-lists-on-files-and-directories我删除了该用户的所有 RBAC 分配(在存储帐户以及数据湖容器上),以便我对目录没有继承的读取访问权限。然后我添加了一个Read-ACL语句data
该用户的目录。
我的期望:
- 用户可以直接从网站下载文件
data
目录。
- 用户无法访问该文件
sensitive
目录
现实:
当我尝试从数据目录下载文件时,我得到一个403 ServiceCode=AuthorizationPermissionMismatch
az storage blob directory download -c containername -s data --account-name XXX --auth-mode login -d "./download" --recursive
RESPONSE Status: 403 This request is not authorized to perform this operation using this permission.
我希望这应该有效。否则,我只能通过分配 Storage Blob Reader 角色来授予访问权限,但这适用于容器内的所有目录和文件,并且不能被 ACL 语句覆盖。我这里有什么不对吗?
根据我的研究,如果要授予安全主体对文件的读取访问权限,我们需要向安全主体授予对容器以及通向该文件的文件夹层次结构中的每个文件夹的执行权限。欲了解更多详情,请参阅document https://learn.microsoft.com/en-us/azure/storage/blobs/data-lake-storage-access-control#common-scenarios-related-to-permissions
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)