Enforcing OneLake Security on external semantic model API calls without adding security risks
Problem
External applications cannot query Fabric semantic models on a user’s behalf - with OneLake RLS security rules enforced - unless the Fabric API is exposed to any and every client an authorized user might decide to install and try out. Ungoverned API access is a security risk: users might unwittingly funnel data to an unapproved AI service or install a compromised open-source tool that exfiltrates it. Organizations must accept this risk to enforce OneLake security on semantic model calls from external applications. This practical limitation keeps OneLake security from delivering on its “define once, enforce everywhere” promise.
Details
The “Semantic Model Execute Queries REST API” tenant setting is scoped by identity only. If an application needs to query a semantic model for its users, every user must be granted API access. There is no way to say "you can use the API to get data from Fabric, but only through this application" - users may connect to Fabric using any external system they choose. Every other method of enforcing access restrictions (passing in effectiveUserName or impersonatedUserName in a service principal call) breaks onelake security.
Current workarounds and security solutions fail:
- A service principal with impersonatedUserName does not pass the user’s Entra identity to OneLake.
- An Entra user as a service account for impersonatedUserName passes the wrong Entra identity to Onelake, and additionally it is an anti-pattern that depends on interactive sign-in which is not suitable for enterprise applications.
- Some features (Private link, IP allow-lists, Azure API management, conditional access) can be configured to limit access to Fabric, but any setting that sufficiently restricts API access also negatively impacts protal access and/or functionality. For example - email distribution and on-premises data gateways are not compatible with tenant private links, workspace IP allow-lists limited to the external application would block legitimate inter-workspace traffic (if model and lakehouse are in different workspaces), and workspace private links explicitly do not support semantic models in the first place.
See forum thread for detailed discussion: Controlled "Semantic Model Execute Queries" REST API Access for Fabric Users | Microsoft Fabric Community
Request
Provide a supported way for an application to query a semantic model on behalf of a user such that:
- Authorization to call the API is granted to the application, not to its users.
- Data access is evaluated as the end user, using their real Entra identity, so OneLake security and SSO Direct Lake apply the same permissions they would in the portal.
- The user cannot call the API from other clients unless they have been separately granted access.
How this is implemented — an OBO flow, a delegated token, a new tenant setting, or something else — is Microsoft’s call. The requirement is that the application is the authorized caller and the user is the effective identity.
Recent ideas
extend storage capacity of varchar(8000) to varchar(max) for warehouse
The maximum string length of 8000 is often considered too short to store longer descriptive data or embed a JSON value within a text field in a database. Dividing the data into smaller chunks and st...c_mettler7 hours agoNew MemberCompleted3.3KViews61likes13CommentsAdjust column width in SQL Analytics Endpoint user interface
I can't see the column names and cell values in some of the columns in my tables in SQL Analytics Endpoint because the column width is too narrow. Also, the tooltip also doesn't show the entire...frithjof_v7 hours agoCommunity ChampionCompleted4.2KViews75likes8CommentsIn TableEX visual when using Custom tooltip, it shows below it the automatic "-> Drillthrough >"
Using in the Power Bi's Service Cloud. In TableEX visual when using Custom tooltip, it shows below it the automatic "-> Drillthrough >" and selects & clicks the drillthrough page. In TableEX vis...LR39 hours agoRegular VisitorNew4Views0likes0CommentsAllow Power BI subscription sender identity to be configured
The new Power BI subscription delivery platform changed existing subscriptions so that notification emails now show the subscription owner as the sender instead of mailto:[email protected]...bbussey11 hours agoRegular VisitorNew20Views4likes2CommentsSupport Workspaces folder pairing across Fabric Deployment Pipeline stages
Fabric Deployment Pipelines should support deploying items organized in workspace folders when equivalent folder structures exist across stages. Currently, deployments can be blocked when items are ...majofv11 hours agoNew MemberNew5Views0likes0Comments