Forum Discussion

jdusek92's avatar
jdusek92
Advocate III
7 years ago
Solved

RLS - Analyze in Excel connection

 

Hello,

I have successfully set up row level security using this Table filter DAX expression:

SEARCH( userprincipalname(), [Email], 1, 0 ) > 0

 

I am now experimenting with "analyze in Excel" feature. I would like to use the RLS to load RLS filtered table (NOT to actually analyze the OLAP Cube with pivot table)

After creating a dummy Measure=1 I was able to double click ("drill through") the Pivot table (by double clicking on the measure value in the pivot table). This gave me a linked table with the following command text:

DRILLTHROUGH MAXROWS 1000
SELECT FROM [Model] WHERE
(([Measures].[Measure],[Table1].[email].&[[email protected]],[Table1].[ID].&[4],[Table1].[X].&[654]))

 

 

After removing the filter part =>

DRILLTHROUGH MAXROWS 1000
SELECT FROM [Model]
WHERE (([Measures].[Measure]))

=> I was able to get a linked table with all the columns and rows. Also the RLS works: when I refresh from a different account I see only the allowed/limited rows. - Amazing! (Using Office 365, signed-in account)

 

My goal was to set up a linked EXCEL table with working RLS (without using MS SQL server or other) - this seems to work now!

My question is:

  1. Will the connection obtained via "Analyze in Excel" be working PERMANENTLY or is it only TEMPORARY?
  2. Can I modify the "SQL" command text even more to return the whole table/data set? Something like "Select * From ... " - (of course while respecting the RLS)
  3. Is this approach reliable? Can you think of any downsides?
  4. Could someone exploit the connection to ignore the RLS?

 

Warm regards

Jakub Dušek

  • hi , jdusek92

    1. It is PERMANENTLY, You can use it next time you open it, also it will verify your account.

    3. reliable, although I can't find the relevant documents for you, Unreliable Microsoft won't use it.

    4. Impossible, Security has always been a major concern for Microsoft.

     

    Best Regards,

    Lin

6 Replies