Access SSRS from public Web Browser - sql-server

I’m trying to find a way on using web based SSRS Report Builder outside of Active Directory environment or using RDP.
Currently I use the ananymous solution. Following is the detail.
In the Data Source Server Type selection, I‘m choosing “Analysis Service” (Anonymous Authentication is embed in the IIS Server)
The user access is set by default to Anonymous Authentication.
This is how I provide the connection detail in SQL Server Management Studio.
And the following is the connection string configuration in SSRS
Only by choosing the “current Windows User” (without filling any user authentication) the Datasource access in the report builder can be accessed.
By this solution, I have deep concern about the security of the data source, as the data source become accessible without any authentication.
Is there any other settings or solution to enable me design report in SSRS Report Builder from outside from the server in a more secure way?

You probably don't want to do this. Set up a VPN instead, then they can be accessed as though they are on the local lan but maintaining security.

Related

How to resolve failure to open ssr report builder in edge browser with authentication error

Failing to open SSRS report builder on the browser. Its returning an error "Cannot retrieve application. Authentication error"
This is probably because your windows credentials are being used rather than your SSRS credentials.
To fix this you need to add an entry of your SSRS credentials in the Manage Network Passwords section of your User Account Control Panel.
Did you able to fix it now. If not, is your ssrs server configured to use windows credentials? Then, are you trying to access the server using ip from another machine.
If accessing using ip. add the computer name and ip in your host file. Change the custom report builder url to use server computer name.

Deploy SQL Server Database to Hosting Environment

I want to deploy my web application including a SQL Server 2008 database from my local machine to my hoster.
So far I used the Windows authentication, is it necessary to switch to username and password when I want to make my application public on the internet?
And if that's the case, what's the best practice to hide that information if they are saved as strings in the web.config?
Side note: I use Linq to Entities as Object Mapper and within the code I use
HttpContext.Current.User to authenticate the user
If you are not using shared hosting, then you can keep using windows authentication which is more secure than having SQL server user.
You should also disable remote connections so that no one can directly access SQL server to make it more secure.
For encrypting connection string check this site.

SQL Server Reporting Services 2005 attempts to store credentials fail

I'm trying to figure out which credentials I should be storing to enable use of Reporting Services' Data-Driven Subscriptions. Nothing I type in seems to work. It's all happening on localhost under XP-Pro SP3.
A little background:
I'm able to connect to the localhost server as a Database Engine in SQL Server Management Studio, using either Windows Authentication or the username 'sa' and a given password. However, trying to connect to localhost as a Reporting Services server using those same credentials fails with this error:
Cannot connect to localhost.
Additional information:
Unable to connect to the remote server (Microsoft.SqlServer.Management.UI.RSClient)
No connection could be made because the target machine actively refused it [IP]:80
In Reporting Services Configuration Manager, Windows Service Identity is set up like this:
Service Name: ReportServer
Service Account: LocalSystem
Built-in Account: Local System
Web Service Identity is set up like this:
ASP .NET Service Account: [Machine]\ASPNET
Database Connection:
Server Name: [Machine]
Database Name: ReportServer
Database Version: C.0.8.54
Server Mode: Native
Credentials Type: Service Credentials
The Service Status page is green and running.
The Report Server webpage is available and accessible; I can view and generate reports manually. However, I want to create a Data-Driven Subscription so that I can create multiple reports in one go. This is where I'm running into problems. When I click "Subscriptions", it refuses to let me set one up because
Data-driven subscriptions cannot be created because the credentials used to run the report are not stored, the report is using user-defined parameters values, or if a linked report, the link is no longer valid.
Fair enough, I haven't stored credentials. So I went to the "Properties" section and clicked "Data Sources". By default, the report uses "A shared data source". Switching to "A custom data source" requires me to select credential types. Nothing I enter into this seems to produce a result that will allow me to get past the "Data-driven subscriptions cannot be created..." message and create the subscription.
Anyone know how I can fix this?
That error with subscriptions implies that at least one of the data sources you're using (either for your report or for the subscription data) doesn't have stored credentials.
For example, normally I might be using Windows Integrated Security to connect to a data source, but if I want to store the credentials, I will enter MyDomain\SomeAccount and its Windows password in the box on the Data Source screen, and tick the checkbox to indicate it's Windows security.
If this is done for all the data sources, then you should be able to create a subscription. You don't need to use a custom data source if you're happy to store credentials in the shared data source.
I think you need to store credentials for the data source as well as for the execution account in the SSRS Configuration tool, especially if you're using Local System. Rob is correct about how to set the credentials for the data source, just modify the shared data source directly.

Cant connect to analysis services via excel

I have an analysis services cube in SQL server 2005 which I'm connecting to via an excel front end.
When I connect via one user its fine, but when I log on to the same machine as another user I get an error in my excel spreadhseet - "user...does not have access to the [Cube name] database"
Obviously the first user has the correct permissions, but how do I set up analysis services to allow other users to join the party?
Login to the machine with an account that is an administrator (Domain\CubeAdmin) on the cube. Connect to the cube in BIDS (run devenv.exe and open Analysis Services Database).
Under Roles, create a reader role and in the Membership tab, add the user account (Domain\NewUser).
All this will only work if the SSAS Server Administrator gives the Domain\NewUser access to the server.
The Windows user accounts that you are trying to access SQL Analysis Services with need to be added to the Roles in the Cube that would allow the permissions you want.
If you are connecting over HTTP using msmdpump.dll through IIS you need to turn on Authentication for that site and allow the Windows user account to access the site.
If the IIS site using msmdpump is on another machine and you aren't using a domain then the accounts would need to exist on both servers with the same password.
I know this is old but for other's reference, I had to repair the MS Office install to resolve a connectivity issue with SSAS. The user was added to the role, but the error "Cannot connect to server" was displayed when connecting.
Raj has already answered the initial question... You need users to be set up with at least read access to your SSAS instance.
However, the error "Cannot connect to server" does not necessarily mean it's an authentication issue, it actually doesn't mean much. I've seen this error on Excel 2007 on various occasions, where the underlying error could be anything, this is just a generic error from Excel.
Several aspects that caused problems on my end were (things to check):
User has access to the web site (if not using anonymous auth)
ADOMD and OLEDB for Analysis Services are installed locally (correct version)
User propagated to SSAS has read access to instance (are you using ApplicationPoolIdentity?)
Handler mapping (script mapping for *.dll) is set up
For a complete guide of how to set up HTTP access for SSAS check:
Microsoft - Configure HTTP Access to SSAS via IIS
Cheers

Silverlight SQL 2005

I want to allow a user to provide their SQL login credentials, and display local SQL tables, stored procs, etc. in a listing. Is this possible? Note: I do not want to install some local, small SQL variant. I'm talking about the full version of SQL 2005+ that's already sitting on a developer's workstation.
Silverlight provides no mechanism for connecting to a SQL Database directly. You either need to provide a set of web services to interface with your data source or use ADO.NET Data services.
Connecting to a local SQL database using Silverlight alone isn't possible.
Something I almost missed is that you don't want to connect back to a database on the web server. You want information about a possible sql server instance on the user's (developer's) local machine. That isn't possible from within Silverlight alone.
I had thought you might be able to send the credentials on to the web server, have it dynamically generate a connection string, and then use the information_schema views to return lists of tables and views like any other data source. But that won't work.
However, in that scenario the web server is essentially acting as a proxy for your silverlight app. You might be able to build something else to act a proxy instead. Perhaps a small clickonce winforms app. That would install from a web page via hyperlink, so you could craft a link to install it on the page hosting your silverlight app.
With silverlight you cannot access the local machine/network resources. you will need to use wpf/xbap.

Resources