【问题标题】:Grant access to Azure Data Lake Gen2 Access via ACLs only (no RBAC)仅通过 ACL 授予对 Azure Data Lake Gen2 访问权限(无 RBAC)
【发布时间】:2020-06-14 23:24:36
【问题描述】:

我的目标是在目录级别限制对 Azure Data Lake Gen 2 存储的访问(根据 Microsoft 的承诺,这应该是可能的)。

我在数据湖第 2 代容器中有两个目录 datasensitive。对于特定用户,我想授予对目录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 语句覆盖。我这里有什么问题吗?

【问题讨论】:

    标签: azure azure-rbac azure-data-lake-gen2


    【解决方案1】:

    根据我的研究,如果您想授予安全主体对文件的读取权限,我们需要授予安全主体对容器以及指向该文件的文件夹层次结构中的每个文件夹的执行权限。更多详情请参考document

    【讨论】:

    • 不知道可以在容器级别添加 ACL。这只能通过存储资源管理器应用程序而不是门户网站(或者通过 Azure CLI + 存储预览扩展)实现。将读取+执行权限添加到容器的根目录时,它按预期工作!谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 2020-07-21
    • 2019-09-10
    • 2020-08-09
    • 1970-01-01
    • 2020-02-25
    • 1970-01-01
    相关资源
    最近更新 更多