仅通过 ACL(无 RBAC)授予对 Azure Data Lake Gen2 Access 的访问权限
Grant access to Azure Data Lake Gen2 Access via ACLs only (no RBAC)
我的目标是在目录级别限制对 Azure Data Lake Gen 2 存储的访问(根据 Microsoft 的承诺,这应该是可能的)。
我在第 2 代数据湖容器中有两个目录 data
和 sensitive
。对于特定用户,我想授予对目录 data
的读取权限并阻止对目录 sensitive
的任何访问。
沿着 documentation 我删除了该用户的所有 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 语句覆盖。我这里有什么问题吗?
根据我的研究,如果您想授予安全主体对文件的读取权限,我们需要向安全主体授予容器的执行权限,以及文件夹层次结构中导致文件。更多详情,请参考document
我的目标是在目录级别限制对 Azure Data Lake Gen 2 存储的访问(根据 Microsoft 的承诺,这应该是可能的)。
我在第 2 代数据湖容器中有两个目录 data
和 sensitive
。对于特定用户,我想授予对目录 data
的读取权限并阻止对目录 sensitive
的任何访问。
沿着 documentation 我删除了该用户的所有 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 语句覆盖。我这里有什么问题吗?
根据我的研究,如果您想授予安全主体对文件的读取权限,我们需要向安全主体授予容器的执行权限,以及文件夹层次结构中导致文件。更多详情,请参考document