【Azure ADLS】为Azure Data Lake Storage的Container赋予了操作权限后创建子文件夹遇见403报错 - LuBu0505/My-Code GitHub Wiki

问题描述

在ADF操作Storage Account( Azure Data Lake Storage), 在已经为根Container赋予了权限后,创建子文件夹的时候还是报错403

"This request is not authorized to perform this operation using this permission" 403 image.png

问题解答

这是因为ADLS Container的ACL权限有两种类型: Access Permissions 和 Default Permissions

Access Permissions : 控制对某个对象的访问权限。 文件和目录都具有访问 ACL。

Default Permissions : 是与目录关联的 ACL 模板,用于确定在该目录下创建的任何子项的访问 ACL。

Access Permission的权限只对当前本文件夹(Container)有效,对于子文件夹,需要在Default Permission中配置操作权限。

同时,也必须注意:修改文件夹的权限时,不是在页面目录左边选择(这里只能修改Container的ACL),  而是需要选中一个文件夹后,在右边的三个点"..."中选"Manage ACL" image.png

然后,在Default Permission中设置读/写/执行的权限后,就可以被它的子文件夹继承。 image.png

为Default Permissions添加正确的权限后,在ADF中创建子文件夹成功!

参考资料

ADLS ACL 的类型 :  https://docs.azure.cn/zh-cn/storage/blobs/data-lake-storage-access-control#types-of-acls

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!