data agentsMicrosoft Fabricsecurity modelcloud data managementbusiness intelligence

Service Principal Integration in Fabric: Key Developments for Data Agents in 2026

May 13, 2026·6 min read

Service principal authentication for Fabric data agents

Until now, every call to a Fabric data agent's API carried a delegated user token: somebody had to sign in before the agent would answer. That is fine for a demo and a genuine obstacle for a deployed application. With this preview, data agents in Fabric accept service principal (SPN) authentication, and by the product team's own account this was one of the most requested capabilities from customers trying to move agents from prototype to production.

On paper the feature is narrow: a new way to obtain a token. In practice it decides whether a data agent can sit behind a real application at all, which makes it worth more attention than the average preview note gets.

What actually changed

A Fabric data agent is an AI agent that queries and reasons over your enterprise data in Fabric, whether it lives in a Lakehouse, a Warehouse, or another supported source. You build it in a workspace, publish it, and call it through an API. The authentication story used to be strictly interactive: the API expected a delegated user token, so a person had to be part of every authentication flow.

A service principal removes that requirement. It is an application identity in Microsoft Entra ID, with its own credentials and its own set of permissions, so a backend service can authenticate as itself instead of borrowing a human's session. The pattern is standard across Azure; what's new is that Fabric data agents now accept it.

Delegated user identityService principal
Designed forA person interactively signing inAn application acting on its own behalf
CredentialsThe user's sign-in and tokenThe application's own credentials
Permission scopeWhatever the user can accessOnly what the application is granted
GovernanceTied to an individual accountAn auditable, application-level identity

Why user tokens break in production

Imagine a typical mid-market finance team that builds an internal chat tool over its cost data. The prototype authenticates as the BI developer who built it, because that is the path of least resistance, and it works convincingly enough that people start relying on it. Then the developer goes on leave, or a conditional access policy forces a re-authentication on day three of close, and the tool twenty people now depend on stops answering. The usual workaround is a shared 'service user' account, which is worse: a human-shaped identity with a password in a vault, an MFA exception, and no clear owner, exactly the kind of thing a security review flags. By the time you have mitigated all of that, the prototype is not cheap anymore.

This preview closes that gap with the same mechanism the rest of Azure already uses.

An application identity addresses both problems at once. Permissions are scoped to what the application actually needs rather than to whatever some employee happens to have, and the security team gets an auditable, application-level identity it can monitor and manage like any other piece of infrastructure.

The setup, and the detail worth pausing on

The flow itself is short. You register an application in Microsoft Entra ID, create a service principal for it, grant the principal access to your Fabric workspace, request an access token with its credentials, and call the data agent API with that token.

The detail worth pausing on is the third step. The data agent inherits the workspace permissions, so there is no separate agent-level grant: the workspace grant alone decides what the application identity may touch. That is convenient, and it also makes the workspace your security boundary, which turns workspace hygiene (what data sits next to what) from a tidiness question into an access-control question.

One identity, many users

The announcement is explicit about the payoff: your application can serve its end users, answering data questions and powering conversational experiences, without any of those users needing direct access to Fabric. For distribution, that is exactly what you want. A controller asking about cost-center variances should not need a Fabric license and a workspace role to get an answer.

Through a controls lens, the same sentence raises the first question for any rollout checklist: when a hundred users sit behind one application identity, the per-user security context ends at your application. The Fabric lakehouse work I do at Syngenta leans heavily on row-level security and access standards keyed to who the user is, and a shared application identity does not carry that 'who' down to the data by itself. The announcement does not address this, and it does not have to, since it is an authentication feature. But before an agent over financial data reaches production, someone has to decide whether the agent's entire scope is safe for every user of the application, or whether the application layer enforces its own restrictions, and how either choice will be evidenced in an audit.

Foundry agents and the rest of the chain

The second scenario in the announcement covers a pattern Microsoft says it sees often: an agent built in Microsoft Foundry handles the conversational experience and the orchestration logic, with a Fabric data agent attached as a knowledge source that returns grounded answers from enterprise data. Development works fine with user sign-ins. Deployment is where this used to stall, because a production application cannot ask a user to sign in for every request.

With SPN support the chain holds end to end: the production application (a custom app or an Azure Web App) authenticates with the service principal, calls the Foundry agent, and the Foundry agent calls the Fabric data agent with the principal's access token; the answer travels back up the same chain. The announcement adds that Azure Web App supports this natively, with Azure handling the credential lifecycle so there are no secrets to rotate by hand.

Having contributed to the design and testing of a firmwide RAG solution at Morgan Stanley, my lasting impression is that this unglamorous plumbing, who calls what and as whom, eats more calendar time than anything involving the model itself. A working prototype is a weekend; an identity story that compliance will sign off on is the project.

Where to read the details

For finance and BI teams experimenting with data agents, the practical takeaway is that the main structural excuse for keeping an agent at prototype stage is gone. What remains is governance work: scoping the workspace, deciding where user-level restrictions live, documenting the identity for audit. That is work finance teams are better equipped for than they tend to assume.

The full write-up, Service Principal Support for Data Agents in Fabric (Preview) on the Fabric Updates Blog, walks through both scenarios with their authentication flows and links the step-by-step setup documentation. One last note from the post: if your data agent is connected to a KQL database, SPN support for that path is not in this preview yet and is listed as coming soon.

Facing a similar challenge?

📅 Book a Free Call