Forum Discussion

mmace1's avatar
mmace1
Impactful Individual
6 years ago
Solved

Security - share only certain Rows AND certain Tabs with users

I've been told we want to share a subset of a report with a group of external users.

 

  • We only want them to see a subset of the rows (Row level security!)
  • We only want them to see a subset of the tabs

 

First attempt: Copied the report to a new workspace, removed the unwanted tabs, filtered data down (just via the interface, no row level security) to what was wanted. Publish app, give access to external users:

Problem: Error message about them needing permissions to the underling datasets.

 

OK:

 

  • I could give them access to the underlying report & use row level security to limit them to only the rows we want. Then (I assume) my app would work. Everything would be great within the App.
  • But then they'd also have access to the underlying report...which defeats the purpose of the 'hide these tabs' requirement.

Options?

  • mmace1 

     

    This problem...

     

    Copied the report to a new workspace, removed the unwanted tabs, filtered data down (just via the interface, no row level security) to what was wanted. Publish app, give access to external users:
    
    Problem: Error message about them needing permissions to the underling datasets.

     

     is caused by the target users not having "Read" permission to the source dataset.  Once they've been provided this permission (in the dataset- "manage permissions" menu) - they will be able to see the app that you just created.  Savvy users may figure out how to 'undo' the filters you set with the interface - but if you hide the slicer from view using the selection pane - you can maybe avoid having to setup RLS.  

     

    RLS is setup in the Power BI Desktop file - and if done correctly - you won't have the 'filter the data down' in the report canvas - because your security rules and roles will do that for you.  This will require a bit more work on your part to set up the file - but should have the desired effect.  

     

    Either way - you'll still need to add the report viewers to a dataset permission role - in order for them to stop getting that error.  

    "Error message about them needing permissions to the underling datasets."

8 Replies

  • swise001's avatar
    swise001
    Continued Contributor

    mmace1 

     

    This problem...

     

    Copied the report to a new workspace, removed the unwanted tabs, filtered data down (just via the interface, no row level security) to what was wanted. Publish app, give access to external users:
    
    Problem: Error message about them needing permissions to the underling datasets.

     

     is caused by the target users not having "Read" permission to the source dataset.  Once they've been provided this permission (in the dataset- "manage permissions" menu) - they will be able to see the app that you just created.  Savvy users may figure out how to 'undo' the filters you set with the interface - but if you hide the slicer from view using the selection pane - you can maybe avoid having to setup RLS.  

     

    RLS is setup in the Power BI Desktop file - and if done correctly - you won't have the 'filter the data down' in the report canvas - because your security rules and roles will do that for you.  This will require a bit more work on your part to set up the file - but should have the desired effect.  

     

    Either way - you'll still need to add the report viewers to a dataset permission role - in order for them to stop getting that error.  

    "Error message about them needing permissions to the underling datasets."

    • mmace1's avatar
      mmace1
      Impactful Individual

      swise001 Instead of Viewer, they can be given Read persmission to the dataset role, right? 

       

       

      • swise001's avatar
        swise001
        Continued Contributor

        mmace1 

         

        Viewer means they have access to the workspace - as a viewer - which is basically 'read-only'.

         

        "Read"  means that don't have access to the workspace (so they won't see the workspace if they look for it)- but they will be able to access reports/apps built off of that dataset.  

         

        They are essentially the 'same' permission - except that Viewers are able to see the workspace in their Power BI account and 'see' any reports you have in there.  You can switch Viewers to Read by removing them from the workspace access - and adding them to the Dataset permission.  

  • v-zhenbw-msft's avatar
    v-zhenbw-msft
    Community Support

    Hi mmace1 ,

     

    Please refer the following post and articles, hope them can help you.

     

    https://community.powerbi.com/t5/Service/Row-Level-Security-External-User/m-p/756857

     

    https://www.sqlservercentral.com/blogs/how-to-get-power-bi-rls-to-work-with-external-users

    https://superfarb.com/power-bi-row-level-security-while-sharing-with-external-users/

     

    Best regards,

     

    Community Support Team _ zhenbw

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.