Analysis Service tabular custom security requirement

K M 1 Reputation point
2021-09-16T01:26:59.57+00:00

Hi there,

I have special requirement on Analysis Service 2019 Tabular model security. Can someone help with idea on how to do or DAX

In SSAS Tabular model has below 2 x tables:

TICKET
132470-image.png

PERSON
132508-image.png

When person user login to Analysis service tabular model 2019 to browse the data:

CASE WHEN PersonRole= Staff AND SensitiveFlag = 1 THEN Description to replace with NULL
CASE WHEN PersonRole= Head AND SensitiveFlag = 1 THEN Description then show Description column value
CASE WHEN PersonRole= Staff AND SensitiveFlag = 0 THEN Description then show Description column value
CASE WHEN PersonRole= Head AND SensitiveFlag = 0 THEN Description then show Description column value

e.g. When PUID01 login to SSAS tabular model and drag-n-drop Description column then that user must see value from this column regardless of SensitiveFlag value.
e.g. When PUID03 login to SSAS tabular model and drag-n-drop Description column then that user must see value from this column where SensitiveFlag is zero i.e. T899 BUT see NULL value for SensitiveFlag is 1 i.e. T567

Yes Person.PersonUserID is same value as user login id to match.

Any idea please.

Many .Thanks

SQL Server Analysis Services
SQL Server Analysis Services
A Microsoft online analytical data engine used in decision support and business analytics, providing the analytical data for business reports and client applications such as Power BI, Excel, Reporting Services reports, and other data visualization tools.
1,247 questions
{count} votes

2 answers

Sort by: Most helpful
  1. CarrinWu-MSFT 6,856 Reputation points
    2021-09-16T03:01:24.233+00:00

    Hi @K M ,

    Thank you for your posting.

    You could try to implement dynamic security by using row filters. It is provides row-level security based on the user name or login id of the user currently logged on. For more information, please refer to Supplemental Lesson - Implement Dynamic Security by Using Row Filters.

    Best regards,
    Carrin


    If the answer is helpful, please click "Accept Answer" and upvote it.
    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    0 comments No comments

  2. Alexei Stoyanovsky 3,416 Reputation points
    2021-09-16T10:09:35.437+00:00

    Tabular doesn't support masking, RLS operates on the whole row. You can work around this by moving your sensitive field, description, to a separate table, and setting RLS on it.

    0 comments No comments