Forum Discussion
Workspace Identity with Azure SQL Databases
- 7 months ago
Zanqueta Thanks for the reply, appreciate you taking the time to do that.
I have managed to get the mirroring working. Having the Workspace Identity as part of a group, with the group created as a user on the db with relevant permissions
CREATE USER [Workspace Identity Name] FOR LOGIN [workspace identity Name]; GRANT SELECT, ALTER ANY EXTERNAL MIRROR, VIEW DATABASE PERFORMANCE STATE, VIEW DATABASE SECURITY STATE TO [Workspace Identity Name];
This failed for me initially, I expect there may have been a delay getting it all to work.
I set up a connection using the workspace identity and assigned that to a report to see if it would refresh and it did. I then retried assigning the connection to a mirror and it worked as well.
Hi JAnder,
This principal type is not supported in Azure SQL Database
Logical Difference
- Service Principal approach: You can use it for token-based authentication in many Azure services, but Azure SQL Database does not allow direct login creation for Service Principals.
- Workspace Identity: It is an Enterprise Application, so it falls under the same limitation.
Supported Approach
- Ensure Azure AD authentication is enabled on the SQL Server.
- Use CREATE USER [GroupName] FROM EXTERNAL PROVIDER; in the database.
- Grant the required permissions to that group.
Why Your Attempt Failed
- The Workspace Identity might not be using the group token when connecting.
- Fabric currently does not support group-based token delegation for Workspace Identity in mirroring scenarios (as of current documentation).
Current Limitation
What You Can Do
- Continue using the Service Principal approach for now.
- Monitor updates to Fabric documentation:
https://learn.microsoft.com/en-us/fabric/mirroring/azure-sql-database-tutorial - Consider raising a feature request via Microsoft Ideas for Workspace Identity support in Azure SQL Database.
If this response was helpful in any way, Iād gladly accept a šmuch like the joy of seeing a DAX measure work first time without needing another FILTER.
Please mark it as the correct solution. It helps other community members find their way faster (and saves them from another endless loop š.