Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Hi everyone,
I’m new to Fabric and Azure, and I’m trying to set up a local development workflow.
I’m running PySpark inside a container on my machine. I can access Microsoft Fabric using only my Microsoft Entra ID (no Azure subscription tied to me personally). Using azure.identity, I’m able to generate tokens and successfully access files in OneLake through the Python SDK.
What I haven’t been able to do is configure my local Spark environment to use these tokens to read data directly from OneLake using abfss:// paths. Every attempt to configure the ABFS drivers fails, and I’ve seen some comments suggesting that this scenario isn’t currently supported.
Right now it looks like the only viable approach for local Spark development is to download the files from OneLake (via the SDK) and work with them locally, essentially mirroring the Lakehouse on my machine.
Given that my access is limited, I’m wondering:
Is there any supported way to authenticate Spark directly against OneLake from outside Fabric?
If token‑based access isn’t possible, is there another authentication method or permission I could request that would allow this?
Any guidance or clarification would be greatly appreciated.
I have personally used cli to login to Fabric Tenant and used Azure.Identity to authenticate and this has worked for me to connect and test things in local ,though it may not be suitable for production deployments .
az login --allow-no-subscriptions --tenant <TenantId>
from azure.identity import DefaultAzureCredential
delta_token = DefaultAzureCredential().get_token("https://storage.azure.com/.default").token
storage_options = {"bearer_token": delta_token, "use_fabric_endpoint": "true"}
DELTA_TABLE_PATH: str = '<complete abfss path of the lakehouse in Fabric>'
df = DeltaTable(DELTA_TABLE_PATH, storage_options=storage_options)
print(df.to_pandas().head(10))If this code helps ,Accept as a Solution to help others as well
Hi @AparnaRamakris I agree, connecting to Fabric OneLake from local Python (Pandas) is not an issue - it works! I think the user was trying to connect local Spark to Fabric, which is slightly different.
Hi @dead_DE , Hope you're doing fine. Can you confirm if the problem is solved or still persists? Sharing your details will help others in the community.
Hi @deborshi_nag , Thank you for reaching out to the Microsoft Community Forum.
We find the answer shared by @deborshi_nag is correct. Can you please confirm if the solution worked for you. It will help others with similar issues find the answer easily.
Thank you @deborshi_nag for your valuable response.
Hello @dead_DE
You can use local spark to access your OneLake storage, however you'd have to use a service principal. These are the prerequisites and the steps involved -
1. Make sure your Fabric tenant allows external apps
Your Fabric admin must enable:
2. Collect the OneLake ABFSS path
OneLake uses ADLS Gen2‑compatible URIs. The account name is always onelake, and the filesystem is your workspace name (or GUID). Typical pattern:
You need Hadoop’s hadoop-azure (ABFS) + azure-storage bits on the classpath.
Record Tenant (Directory) ID, Client ID (Application ID), and Client Secret, and grant the SP access to your Fabric workspace
pyspark \
--conf "fs.azure.account.auth.type.onelake.dfs.fabric.microsoft.com=OAuth" \
--conf "fs.azure.account.oauth.provider.type.onelake.dfs.fabric.microsoft.com=org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider" \
--conf "fs.azure.account.oauth2.client.id.onelake.dfs.fabric.microsoft.com=<APP_CLIENT_ID>" \
--conf "fs.azure.account.oauth2.client.secret.onelake.dfs.fabric.microsoft.com=<APP_CLIENT_SECRET>" \
--conf "fs.azure.account.oauth2.client.endpoint.onelake.dfs.fabric.microsoft.com=https://login.microsoftonline.com/<TENANT_ID>/oauth2/token"
Kindly accept this solution if it solves your problem.
thank you, i will look into getting a service principal from my organization and check back on this some time this upcoming week.
just a heads up i am still trying to get more than entra level access to the account to try this solution.
will update soon
Hi @dead_DE , Thanks for the update. Hope you will get the access soon. Please share the details here once you had a chance to try it.
I'm not sure about ABFSS paths, but I've successfully accessed data in OneLake using the ADLS dfs endpoints.
I tend to use SPN (rather than organization) credentials, but it works just fine.
I've connected to the SQL Endpoint too.
Having had a read around, this may be of use;
https://christianhenrikreich.medium.com/microsoft-fabric-diving-into-lakehouse-access-from-local-mac...
If this helps, please Accept as a Solution to help others find it more easily.