How to set up user permission at report content level

  • We're planning to deploy a report to SSRS 2017 with data for multiple projects.  We'd like to know if there is a way to set up permission at report content level, i.e. one user can only view data for Project-A, and the another user can only view Project-B data.  I'm new to SSRS, but used the similar concept in Tableau with its user group membership feature.  Please correct me if I used the wrong terminology.

    Thank you very much.

    Jay

  • What does your dataset(s) look like? Is it a single data set with data for every project?

    You could use an internal parameter to determine the project, and filter your data set to use that parameter (e.g projectname = @iproject)

    Then use SSRS's User!UserId property to set your internal parameter. Either create another data set, and a user internal parameter to find the users corresponding project, or if you only have a few users you could use a SWITCH expression in the parameter settings (less maintainable imo)

     

    (Scroll down to "Using the user collection"): https://docs.microsoft.com/en-us/sql/reporting-services/report-design/built-in-collections-built-in-globals-and-users-references-report-builder?view=sql-server-2017

     

  • Are the users using their own credentials to run the report, or is it being run by a service account? If the former, is this something you could achieve with Row-Level Security?

    Thom~

    Excuse my typos and sometimes awful grammar. My fingers work faster than my brain does.
    Larnu.uk

  • Thanks for reply.  My dataset is basically a stored procedure that passing a Project ID as an input parameter. I'm going to read the article in your replay and may ask more questions afterward.

    Thank you very much.

  • Thanks Thom.  The users in my case are using their own credentials to run the report. I'll read more about Row-Level security.

    Thanks!

Viewing 5 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic. Login to reply