dynamic rls
6 TopicsDynamic RLS with embedding
Hi, So I have embedded a powerbi report in another web application. To view the report, user needs to login. Now the report has data for all departments. But the logging in user belongs to some specific department and he should be given access to view only that data. Now the data part, The report contains 5 dashboard from 5 fact tables. All the fact table has department id which is mapped to a dim_department table (DIMENSION TABLE). Out of the 5 fact tables, we have fact_user table containing the username by which the user is logged in, his department ID and several other information which is required for dashboarding purpose. Tricky Part: There are around 30000 users logging into the web application from different domain without powerbi license. So we embed the report by Service principal (Azure Active Directory). How to apply RLS at department level in powerbi while embedding??Solved1.6KViews0likes4CommentsDynamic RLS with Hierarchy for Embedded Paginated Reports in Power BI Desktop
Hello Power BI Community, I hope this message finds you well. I am reaching out to seek your expertise and guidance on a challenge I am currently facing with implementing dynamic Row-Level Security (RLS) with Organizational Hierarchy in an embedded paginated report. I have successfully implemented dynamic Hierarchy RLS for standard Power BI reports. The RLS is designed to allow Level 1 employees to view only their data, Level 2 employees to see their data as well as the data of all employees at Level 1 reporting to them, and so forth. While this dynamic Hierarchy RLS is working seamlessly for Power BI reports, I have encountered an issue with embedded paginated reports. Example, Level 1 employees can see not only their own data but also the data of their peers at the same level. I would greatly appreciate any guidance or assistance from the community on resolving this issue. If anyone has experience resolving such challenges with embedded paginated reports in Power BI Desktop, your insights would be invaluable. Any suggestions, best practices, or troubleshooting tips to ensure that the RLS filters out data accurately, maintaining the hierarchical structure for embedded paginated reports as well. Thank you in advance for your time and expertise. I look forward to your insights and suggestions.Solved984Views0likes3CommentsRLS multiple roles in multiple reports
Hello Power BI Community, I have created report A using Dataset A in Power BI Desktop and then published it to Power BI Service, in which RLS roles have been created, Role 1 and Role 2. Then I assigned a users email for both roles. Then I have created a similar report B also in Power BI Desktop using Dataset A with Live connection. I would like to have my users accessing report A using Role 1 and when they access report B, they should access it through Role 2. Is this possible? If not, are there any workarounds for such a case? Thank you!763Views0likes1CommentMany-to-Many Relationships for RLS in Power BI Desktop for Report Server / On-Premises
Dear Power BI Community, I have a data model in which each user (principal-username) may have several sub_ids (e.g. business units). The CEO for example has access to all business units, hence, his principal-username matches several sub_ids. In the fact sales table each transaction has a sub_id. Now I aim that when a user logs in, Power BI recognizes his principal username and he sees only the transactions that are in his sub_id. However, since Power BI Desktop for Report Server seems not to allow many-to-many relationships, I have absolutly no clue how to implement RLS. I appreaciate any kind of your help. Cheers RobSolved11KViews0likes2CommentsRow level security doesn't work when using 'Both' cross filter direction
We are trying to apply Row Level Security (RLS) using Power BI RS using the January 2019 Release that now supports it. The security filter doesn't cross filter to the transactions. I have a security filter on the responsibility table and I can see that the responsibility table is filtered but the trasactions are not (even with the Cross filter direction set to 'Both'). I cannot filter the transactions directly because of the one to many relationship between cost centres and people who have access to them. Using Power BI Online, it works when I tick the "Apply Security filter in both directions" box. If I select that for Power BI RS then I get the following error when I deploy to Power BI RS: 2019-01-29 10:41:16.0611|ERROR|21|Failure in reportproperties| RequestID = s_3be2f858-5351-48ac-999b-64a42b8dcde2 Microsoft.PowerBI.ReportServer.AsServer.AsConnectionException: Failed to publish model for temp_d0f51fea-9ba6-4da2-b125-f8f31a36b3ed ---> Microsoft.AnalysisServices.OperationException: Failed to save modifications to the server. Error returned: 'Table 'Cost Centres' is configured for row-level security, introducing constraints on how security filters are specified. The setting for Security Filter Behavior on relationship 'e34ab282-bf84-459b-8286-2fbec5025020' cannot be Both. '. at Microsoft.AnalysisServices.Tabular.Model.SaveChanges(SaveOptions saveOptions) at Microsoft.PowerBI.ReportServer.AsServer.TOMWrapper.AddRole(String roleName, String databaseName, String filter) at Microsoft.PowerBI.ReportServer.AsServer.AnalysisServicesServer.<>c__DisplayClass23_0.<LoadDatabaseInAsAsync>b__0() --- End of inner exception stack trace --- at Microsoft.PowerBI.ReportServer.AsServer.AnalysisServicesServer.<>c__DisplayClass23_0.<LoadDatabaseInAsAsync>b__0() at System.Threading.Tasks.Task`1.InnerInvoke() at System.Threading.Tasks.Task.Execute() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.PowerBI.ReportServer.AsServer.AnalysisServicesServer.<LoadDatabaseAsync>d__8.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.PowerBI.ReportServer.WebApi.PBIX.DataModelArtifactsProvider.<RetrieveArtifactsAsync>d__2.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.PowerBI.ReportServer.WebApi.PbiApi.PbiApiController.<ShredWithModel>d__34.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.PowerBI.ReportServer.WebApi.PbiApi.PbiApiController.<ShredFromPreshreddedFiles>d__24.MoveNext() 2019-01-29 10:41:16.0611|INFO|28|Sending response. Response code NT AUTHORITY\NETWORK SERVICE 400, Elapsed time 0:00:00.2476884| RequestID = s_3be2f858-5351-48ac-999b-64a42b8dcde2 I cannot share the original model but I've prepared a mockup that shows the issue here. Donwload it, change the [email protected] email in the Responsibilities table to your email, save it to the RS, add yourself to the manager role and test. Ideally you should only see data for CC 200 and should not be able to see data for CC 100. In this case you see everything. When you click on the filtered responsibility then the transactions do filter (the cross filter works in interactive mode but not using the security filter). If you publish the model to Power BI Online with the "Apply Security filter in both directions" set on the Responsibility to Cost Centre relationship then you should see that it works (after adding yourself to the manager role and testing with that role).Solved23KViews0likes13CommentsDynamic RLS for on-premises Power Bi reports server
I`m new with Power BI and I apologize from the beginning if this topic has been discussed. Can you please let me know if Dynamic RLS is available for on-premises Power Bi reports server? Following this tutorial i`m not able to apply RLS over a datasets (no datasets present) because this option is not available after i saved the Report to Power BI Report Server from Power BI Desktop ( August ) If this tool is not available for on-premises Power Bi reports server can you please let me know how can I provide access for a specific User, to custom data from a report( same as the above tutorial)? Thank you in advance. CataSolved10KViews1like6Comments