我的目标是在目录级别限制对 Azure Data Lake Gen 2 存储的访问(根据微软的承诺,这应该是可能的)。
我有两个目录data
,并且sensitive
在数据湖第 2 代容器中。对于特定用户,我想授予对目录的读取权限data
并阻止对目录的任何访问sensitive
。
在文档中,我删除了该用户的所有 RBAC 分配(在存储帐户以及数据湖容器上),因此我对目录没有继承的读取访问权限。data
然后,我在该用户的目录中添加了一条 Read-ACL 语句。
我的期望:
- 用户可以直接从
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 语句覆盖。我这里有什么问题吗?