Forum Discussion
Row Level security
- Anonymous10 years ago
Hi Dan,
You need to utilise the Analysis Services Live Connector for this scenario. You can find more info here:
In this arrangement, no data is stored in the cloud. Power BI converts your request to a DAX query, and sends that query (along with your AD info) to the Tabular model who duely executes the query applying the appropriate Row Level Security.
Hope this helps
Sacha
Bjoern: Just trying to understand what is supported and what is not.
You write:
"The user connects to the data and is authenticated at the database (either AS Tabular, AS MD, Azure SQL DB, SQL DB on-prem, ...). The query then shows the respective users the data they are allowed to see and not more than that."
Is that really supported against anything else than SSAS Tabular or MD? Specifically, I have been searching for a way to get row-lowel security against a SQL Server database (without SSAS involved).
The closes I have come is using DirectQuery + Enterprise Gateway, but I can't see a way to filter data depending on the current user - simply because the current user is not represented in the call to SQL Server. The Enterprise Gateway uses the same user (specificed in Power BI Service->Manage Gateways->...) for all calls, independing on the current user.
Am I missing something here?
/Fredrik
I made a SQL 2012 connection to my data for a direct query, and defined the SQL credentials as Windows Authentication, not SQL authentication. Then when I went into my SQL data source, a View, and included the SQL USER_NAME() function in my returned results, and i was able to see my windows authentication in the Dashboard dataset using power BI Desktop.
But I did this with the free version (since I'm still evaluating), and when I published it to the service, it failed of course, since direct queries are not allowed in the free version.
Otherwise, with the PRO version, this will allow you to join your results by user name and effectively create row-level security.