I have an SSRS report used by many users from different regions.
Is it possible to show/hide information based on region without
using parameters - we are using a single report?
Is it possible to give report permissions to users who are outside
of network(Company)?
Without using parameters how do you intend deciding which information to hide or show?
If (big IF because you haven't said why you cannot use parameters) what you want to do is possible then you are going to
have to
Create separate folders for each class of user.
Set the permissions on those folders so that they can only see their
own folder.
Put a copy of the report in the folder.
Have a hidden parameter which passes the class of user into the
report OR
Pass in the current windows authenticated user into the report and
report on class of user from the windows login.
In answer to your second question - Yes- you will need to set up Forms Authentication.
Related
I have a SSRS report for which the Datasource is connected via Database credentials. Now I wanted to restrict a parameter dropdown based on the user using the report.
I tried impersonating the user but it didnt work.
I tried getting the User!UserID within SSRS, but it didn't work.
How can I get the Windows login of the user? Is there any other way or am I missing anything?
Edit -
Not everyone in the organisation has got access to the Database, hence we use the Database user login. But we have a table which holds the AD login and using that I need to restrict the drop down lists in the parameter.
You'll have to change the credentials on the datasource to use windows authentication. If this is a shared datasource you might have to create a new datasource that use windows authentication and point your datasets to that instead.
I have created a report in Report Builder and published on Power BI. One of the user is not able to view full results he gets only partial result back. I have given permission on report as well as dataset. What could be the problem.
V.
I see two possible problems:
the user is in a role with row-level security such that cannot access all data
the user saved the report applying some filters. Please check the filter icon on top of visualization to check if you have the same filters applied.
Is there a way to provide generic permissions for users to run reports stored in the Report Manager? I can see how to provide access on an individual user basis via Manage -> Security -> New Role Assignment, by adding the User's Windows login name and assigning them to the Browser role for the report. (Report Manager already knows the domain name).
However, we don't want to be continually having to manage this for each new user. I want anyone under that domain name to have access without needing to configure it. I had hoped that just adding the domain name as a 'user' to the Browser role for that report would do it, but to no avail.
You can add any domain group that has been set up, not just individual users, or you can simply add all domain users, i.e. MYDOMAIN\Domain Users to the Browser role, which seems to be what you're after.
However, I would recommend creating a generic user group like MYDOMAIN\SSRSReportUsers or something like that and adding this group to the browser role instead of MYDOMAIN\Domain Users, as adding all users to the Report Server seems like it doesn't give you many options to manage this in any sort of granular way.
Is it possible to manage report permissions by using Active Directory? For example, I have an employee performance report. Employee can open the report by choosing his/her name from the dropdown parameter. This parameter dropdown lists the all employee names. However, most of the employees must see just their names in that dropdown. It must be forbidden to see other employees names. Moreover, the department heads must see the all employee list in that dropdown. How can I make a solution for this?
The best way to do this is by using the built-in User!UserID field, which returns the credentials of the person running the report. If your users are accessing SSRS using their Windows domain credentials, then User!UserID will return as string that looks like DOMAIN\userid. As long as you have somewhere in the database where you can link the user's Windows login to their name, then you can use that to restrict the dataset that returns the parameter dropdown (either as a SQL parameter or as an SSRS dataset filter).
I am not able to create subscriptions for SSRS reports as it gives the following error:
Subscriptions cannot be created because the credentials used to run
the report are not stored, or if a linked report, the link is no
longer valid.
My set up is as following:
ServerA - Database Server
ServerB - Report Server
MachineC - Internet explorer to view the reports
So I am viewing reports on Machine C, IE, and ServerB connects to ServerA for Datasource.
The problem sounds like the report expects the user to provide credentials when it is viewed. When you create a subscription, it does not have the credentials to execute the report.
Go to the report, click the properties tab, then choose Data Sources in the left pane.
Are you using a shared data source? Is it using Windows integrated security? If so, can you change it to use a service account made just to run these reports? You may need to view these properties by viewing the data source itself.
If it is a custom data source is the option "Credentials supplied by the user running the report" selected? If so, can you change it to "Credentials stored securely in the report server"?
Either way, if you want to set up a subscription, I have made it work by providing credentials in the data source rather than have the user input them.
If you are worried about security, I would suggest managing that on the report level rather than the data source level.
What the error does not make clear is, in order to be able to subscribe to a report not only must the data source be set to "Credentials stored securely in the report server" you must also not select the option "Impersonate the authenticated user after a connection has been made to the data source".
The way I did was to create a new data source in the report builder and explicitly provided the username and password there to be used.
Then, used that username password with the new data source with the report and voila it worked.
I faced same issue as you, and i found its solution, as #richard said already that it is related to credential of data source you use for your deployed report.
To resolve it Follow these steps:
1. Right click on your shared Data source which you use in your deployed report.
2. Click On Edit Button.
3. a new window will open click on Credential from left pane, Select Use this user name and password then click ok.
4. Check on Save these credential option you get on to previous screen.
5. Test connection and if succeed click ok and deploy your project on report server.
For reference plese look at screen shot given below:
Thanks.