Forum Discussion

GuestUser's avatar
GuestUser
Helper V
7 years ago

Roles and Row Level Security

Hi,

 

We have Power BI Rpeort Server (May 2019 ) on-prem ediion installed

 

We have created reports connecting to SSAS Tabular Mode (Live Connection)

 

We have implemented Custom Authentication (reference: https://github.com/Microsoft/Reporting-Services/tree/master/CustomSecuritySample)

 

We have some folder and sub folders in our PBIRS. Need to give restricted access to folders to users(around 150 users) based on Roles 

Also need to implement Row Level Security 

 

Can someone please provide any link on how to create Roles and implement Row Level and  Assign it to Users

and if it is to be done on SSAS , how can username (custom authentication) be mapped ?

 

Can some one guide on the same?

2 Replies

  • RLS:

    Does your dataset have a column which matches or refers to your userid?

    In the designer, click on Modelling and then Manage roles.

    You need to create a role for each user, the DAX expression would be something like

    [EMAILADDRESS]="[email protected]".

    You might then have another dataset on your report which would be filtered like

    [CUSTOMERID]="123456", assuming that when [email protected] logs in, they would only need to see data referring to CUSTOMERID 123456.

    HTH

     

     


  • GuestUser wrote:

     

    and if it is to be done on SSAS , how can username (custom authentication) be mapped ?

     


    I'm sorry, but I don't believe this is possible.

     

    In your scenario with live connection RLS would have to be implemented in SSAS, but SSAS only supports Windows Auth. It does have a CustomData() function which allows you to read the CustomData parameter off the connection string or the EffectiveUserName parameter, but only RDL based paginated reports allow you to use dynamic connection strings where you could inject these parameters. PBIX files use Power Query connectors and they do not allow for the injection of custom connection string parameters.