June 25, 2019 at 9:01 pm
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
June 26, 2019 at 4:52 am
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
June 26, 2019 at 8:12 am
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
June 26, 2019 at 12:20 pm
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.
June 26, 2019 at 12:22 pm
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