Azure CLI更新ADLS Gen2目录ACL安全主体权限报InvalidPermission如何解决
错误根因
你调用命令时使用了错误的参数。--permissions参数仅支持传入八进制格式的短权限标识(如750、775),无法传入user:对象ID:权限格式的ACL条目,因此触发了权限值无效的报错。
正确操作方法
要实现新增/更新指定安全主体的ACL、且不修改其他已有ACL条目,直接将原命令中的--permissions参数替换为--acl参数即可,正确命令如下:
az storage fs access set --acl "user:objctidxxxxxxxxxx:rwx" -p /testdata01blob01directory01/testdatablob01directory01sub01 -f testdatablob01 --account-name testdata0
额外注意事项
- 如果需要给该目录设置默认ACL(即目录下后续新创建的文件/子目录会自动继承该权限),可以在ACL条目前增加
default:前缀,如需同时配置访问ACL和默认ACL,用逗号分隔两个条目即可:
az storage fs access set --acl "user:objctidxxxxxxxxxx:rwx,default:user:objctidxxxxxxxxxx:rwx" -p /testdata01blob01directory01/testdatablob01directory01sub01 -f testdatablob01 --account-name testdata0
- 该操作仅支持启用了分层命名空间的ADLS Gen2存储账户,普通Blob存储账户不支持ACL配置
- 执行命令的身份需要具备目标存储目录的所有者权限或ACL管理权限,普通读写权限无法修改ACL配置
内容的提问来源于stack exchange,提问作者Vowneee
相关产品推荐
相关产品推荐

