Forum Discussion
Issues Authenticating via Service Principal in Fabric Notebook to Connect on Semantic Model
Hello everyone,
I’m facing an issue with a notebook I recently created on Fabric. I was using a service principal (SP) for authentication to connect to the semantic model and perform certain actions. However, I’m encountering unexpected behavior in my latest run, where errors that I was expecting no longer appear.
The notebook I’m referencing is from the semantic-link-labs/notebooks/Service Principal.ipynb at main · microsoft/semantic-link-labs · GitHub, specifically the Service Principal example. Here is the code I’m using:
So i was using this to authenticate and was able to do some modifications on the Semantic Model.
This approach worked perfectly till few days ago, but now I am getting the error provided below. Has there been any change to the API or authentication process recently?
Additionally, is there an alternative way to authenticate via service principal and make modifications to the semantic model using sempy labs?
Dimitra
Hello Anonymous,
Thank you for the update. We sorry the issue persists. Based on recent Microsoft documentation, service principal authentication is supported for semantic link functions, including TOM interactions via connect_semantic_model, but it requires using the updated authentication methods introduced in semantic link version 0.12.0 or later (released around September 2025). The original service_principal_authentication approach may be incompatible due to library changes, which could explain the ImportError from mismatched versions.Recommended Steps:
- Install the latest semantic link version with !pip install -U semantic-link-sempy and restart your notebook kernel.
- Switch to set_service_principal or Azure SDK TokenCredential to set credentials, then use connect_semantic_model for TOM access. For non-interactive runs, no extra config is needed if triggered by SP.
- Confirm your SP has ReadWrite permissions on the semantic model (via XMLA endpoint enabled) for modifications like creating partitions.
- Once connected via TOM, you can add partitions to tables in the model and save changes. This works on Import mode semantic models.
If the error continues after updating, it may be a version mismatch. consider pinning to 0.12.0 specifically.
For detailed guidance:
- Service Principal Support for Semantic Link (includes authentication examples and supported functions).
- Semantic Link Overview.
- Tabular Object Model (TOM) Documentation (for partition creation via TOM).
Best regards,
Ganesh Singamshetty
6 Replies
- v-ssriganeshCommunity Support
Hi dimitraga10_,
Thank you for reaching out to the Microsoft fabric community forum. There might be an issue with library compatibility. If there was a recent update, it could have introduced breaking changes. You can try reverting the sempy library to version 1.6.2
Check your service principal has Member or Contributor access to the workspace, Build permissions on the dataset, and Get/List secrets access in Key Vault.Or use the stable sempy.fabric package with Fabric REST APIs for reliable SP authentication and dataset operations. See: Fabric REST API Docs.
If issue persists, consider authenticating through Microsoft Entra authentication or using the workspace identity to see if that resolves the issue.
Best regards,
Ganesh Singamshetty. - v-ssriganeshCommunity Support
Hello dimitraga10_,
We hope you're doing well. Could you please confirm whether your issue has been resolved or if you're still facing challenges? Your update will be valuable to the community and may assist others with similar concerns.
Thank you.
- v-ssriganeshCommunity Support
Hello dimitraga10_,
Hope everything’s going great with you. Just checking in has the issue been resolved or are you still running into problems? Sharing an update can really help others facing the same thing.
Thank you.
- v-ssriganeshCommunity Support
Hello dimitraga10_,
Could you please confirm if your query has been resolved by the provided solutions? This would be helpful for other members who may encounter similar issues.
Thank you for being part of the Microsoft Fabric Community.
- AnonymousNot applicable
Hello v-ssriganesh
Thank you .
Unfortunately, I was not able to resolve the issue. I also cannot use an API, as the main objective is to create partitions on an Import Semantic Model.I haven’t seen any updates from Microsoft regarding the limitation that connect_semantic_model cannot work with a service principal. In fact, the official documentation indicates that these should work together.
If anyone has experience with connecting to a semantic model via a service principal, I would greatly appreciate guidance on how to do this.
Thank you!
- v-ssriganeshCommunity Support
Hello Anonymous,
Thank you for the update. We sorry the issue persists. Based on recent Microsoft documentation, service principal authentication is supported for semantic link functions, including TOM interactions via connect_semantic_model, but it requires using the updated authentication methods introduced in semantic link version 0.12.0 or later (released around September 2025). The original service_principal_authentication approach may be incompatible due to library changes, which could explain the ImportError from mismatched versions.Recommended Steps:
- Install the latest semantic link version with !pip install -U semantic-link-sempy and restart your notebook kernel.
- Switch to set_service_principal or Azure SDK TokenCredential to set credentials, then use connect_semantic_model for TOM access. For non-interactive runs, no extra config is needed if triggered by SP.
- Confirm your SP has ReadWrite permissions on the semantic model (via XMLA endpoint enabled) for modifications like creating partitions.
- Once connected via TOM, you can add partitions to tables in the model and save changes. This works on Import mode semantic models.
If the error continues after updating, it may be a version mismatch. consider pinning to 0.12.0 specifically.
For detailed guidance:
- Service Principal Support for Semantic Link (includes authentication examples and supported functions).
- Semantic Link Overview.
- Tabular Object Model (TOM) Documentation (for partition creation via TOM).
Best regards,
Ganesh Singamshetty