Globally unique resources that provide access to data management services and serve as the parent namespace for the services.
Hello @ Danish Ahmed Khan,
Thank you for reaching out to Microsoft Q&A.
When you see ADLS “Read” entries that show dataset names and read counts but SPN_ID and UPN_ID as null, it usually means the operation wasn’t authenticated by a user or service principal that Azure AD can surface in the log. A few common culprits:
• SAS tokens or storage account keys – Reads done via a Shared Access Signature or account key don’t go through Azure AD, so there is no SPN or UPN to stamp on the log.
• Internal or system-level processes – Some background services (e.g., internal metadata crawlers, platform health checks, Purview scans, etc.) use built-in service accounts that don’t appear as customer-facing SPNs in diagnostic logs.
• Anonymous/guest access – If the container or file system allows anonymous reads, those requests likewise won’t have an Azure AD identity.
What you’re seeing is expected behavior: if there’s no true Azure AD principal on the call, SPN_ID and UPN_ID come through as null. If you need visibility into who (or what) is hitting your data, you can:
- Switch to Azure AD–authenticated access only (disable anonymous/SAS where possible).
- Use Azure RBAC or service principals/managed identities for all data reads.
- Correlate with other logs (e.g., Azure AD sign-in logs or your own application logs).
If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".