【Azure ADLS】为Azure Data Lake Storage的Container赋予了操作权限后创建子文件夹遇见403报错
问题描述
在ADF操作Storage Account( Azure Data Lake Storage), 在已经为根Container赋予了权限后,创建子文件夹的时候还是报错403
"This request is not authorized to perform this operation using this permission" 403
问题解答
这是因为ADLS Container的ACL权限有两种类型: Access Permissions 和 Default Permissions
Access Permissions : 控制对某个对象的访问权限。 文件和目录都具有访问 ACL。
Default Permissions : 是与目录关联的 ACL 模板,用于确定在该目录下创建的任何子项的访问 ACL。
Access Permission的权限只对当前本文件夹(Container)有效,对于子文件夹,需要在Default Permission中配置操作权限。
同时,也必须注意:修改文件夹的权限时,不是在页面目录左边选择(这里只能修改Container的ACL), 而是需要选中一个文件夹后,在右边的三个点"..."中选"Manage ACL"
然后,在Default Permission中设置读/写/执行的权限后,就可以被它的子文件夹继承。
为Default Permissions添加正确的权限后,在ADF中创建子文件夹成功!
参考资料
ADLS ACL 的类型 : https://docs.azure.cn/zh-cn/storage/blobs/data-lake-storage-access-control#types-of-acls
当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!