Hello Christopher !
Thank you for posting on Microsoft Learn.
Are you authenticating with Azure AD token using the Service Principal?
If you are using tools like azcopy, Python SDK, or Azure CLI, you need to make sure that you're authenticating like this:
az login --service-principal -u <appId> -p <secret> --tenant <tenantId>
ADLS Gen2 uses RBAC (Azure Role-Based Access Control) and POSIX-style ACLs.
Even if the Service Principal has Storage Blob Data Contributor at the storage account level, you must also set ACLs on the container and/or folders if you're accessing Data Lake Gen2 hierarchical namespaces.
Also, if the storage account has Hierarchical Namespace enabled (HNS = true), ACLs are mandatory.