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
Hello,
I am trying to use a service principal on a remote semantic model on DirectLake.
But there is a specific case:
https://learn.microsoft.com/en-us/fabric/fundamentals/direct-lake-overview
Power BI Direct Lake semantic models can be created and queried by Service Principals and Viewer role membership with Service Principals is supported, but the default Direct Lake semantic models on lakehouse/warehouse don't support this scenario.
Can anybody explain what is a diff between service principal semantic model on DirectLake vs default DirectLake semantic model?
Best,
Jacek
In Fabric there are two different kinds of DirectLake semantic models, and that’s what the doc is referring to.
When you create a semantic model explicitly (for example: New semantic model → choose tables → save it as its own object), that model is a first-class semantic model. It has its own permissions, supports service principals, Viewer role assignment, XMLA, REST APIs, etc. Service principals can query it just like users.
The default DirectLake semantic model is different. This is the auto-generated model that Fabric creates for every Lakehouse or Warehouse so you can immediately build reports. It’s meant for quick exploration and interactive user access only. It does not fully participate in the security and API surface, which is why service principals are not supported for it.
So the difference is not DirectLake itself, but how the model is created and owned:
Default model = system-generated, lightweight, user-only
Explicit semantic model = fully managed, securable, SP-supported
If you need to use a service principal, the fix is simple:
Do not use the default semantic model. Create a new semantic model explicitly on top of the Lakehouse/Warehouse tables and grant the service principal access to that model.
Thanks.
I created semantic model like that:
New semantic model → choose tables → save it as its own object
And i can use SP on it. without any issues.
"This is the auto-generated model that Fabric creates for every Lakehouse or Warehouse so you can immediately build reports."
about default. You still need to create it using power bi desktop or fabric. You need to create on "Create Semantic Model" button...
Best,
Jacek
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 |
| User | Count |
|---|---|
| 11 | |
| 7 | |
| 4 | |
| 4 | |
| 3 |