首先,要使用ACL进行访问控制,授权的方式不能是SAS或Account Key。否则会绕过ACL检查。

所以,您如果想用ACL控制,需要用AAD RBAC授权。
根据以下文档:
使用RBAC授权,在已设好根目录及所有文件、目录的ACL权限后,无需在Subscription或Storage Account级别在IAM中,为RBAC添加Storage Blob Data Reader Role。

https://docs.azure.cn/zh-cn/storage/blobs/data-lake-storage-access-control-model#access-control-lists-acls
如果您给RBAC添加了额外的Role,则可能会导致ACL无效。
请一定记得,为根目录赋予足够的权限。可以使用StorageExplorer(在Subscription下操作):

假定您要禁止访问文件"20190518_modified002.jpg"。禁止其下载。可以去掉其ACL的Read及Execute权限:

在设置ACL时,首先使用"Add"按钮,加入您的Service Principal(AAD Application):

还需要把ACL配置中的Owner和Owning Group设置为无任何访问权限的任意Service Principal。
注意,保存时,要看到下方成功保存的信息:

如保存不成功,您需要为您登陆StorageExplorer的账号,在Subscription级别的IAM中,添加以下Role中部分的Role:

测试方法,可以参考以下用PowerShell的文档:
https://docs.azure.cn/zh-cn/storage/blobs/data-lake-storage-directory-file-acl-powershell

可以参考以下指令:
$Password = ConvertTo-SecureString -AsPlainText "<AAD Client Secret>" -Force
$Credential = New-Object System.Management.Automation.PSCredential ("<AAD Application ID / Client ID>", $Password)
$TenantId = "<Tenant ID>"
Connect-AzAccount -environment AzureChinaCloud -Subscription <Sub ID> -ServicePrincipal -Credential $Credential -Tenant $TenantId
$ctx = New-AzStorageContext -StorageAccountName 'davystore22' -UseConnectedAccount
Get-AzDataLakeGen2ChildItem -Context $ctx -FileSystem "davychen"
下载文件指令,可参考:
$filesystemName = "<Storage Container Name>"
$filePath = "20190518_modified002.jpg"
$downloadFilePath = "C:/20201211/temp2021/20210729/2107280010000887/01.jpg"
Get-AzDataLakeGen2ItemContent -Context $ctx -FileSystem $filesystemName -Path $filePath -Destination $downloadFilePath
有些客户想隐藏部分文件或文件夹,但是ACL无法控制List权限,仅能禁用Read和进入这个文件夹,无法隐藏。

https://docs.azure.cn/zh-cn/storage/blobs/data-lake-storage-access-control-model#permissions-table-combining-azure-rbac-and-acl