Context
I need to start sharing Power BI reports with other users (all users are Power BI Pro licenses).
Reports will be in live connection with an Analysis Services and my original data source are on-premise, therefore, I need to install a gateway to transfer data into the cloud.
Question
We already have a capable server for installing the gateway, therefore, my questions are:
Is it wise to install a Gateway VM on that server even though the server is used for other applications?
I don't have access to Power BI Admin Portal and it is tricky to get access to it since we are a very big company all over the world. Can I use an on premises data gateway without a Power BI Admin account? (While installing gateway just adding my account as admin)
Related
Link: https://learn.microsoft.com/en-us/power-bi/connect-data/desktop-directquery-about#security
The article mentions
DirectQuery allows for a report viewer's credentials to be passed
through to the underlying source and security rules to be applied
there. Single sign-on is supported to SQL Azure datasources, and
through the data gateway to on-premises SQL servers.
This implies that report viewers credential is used to query underlying data.
Where as further down it contradicts this:
As discussed earlier in this article, a report in DirectQuery always
uses the same fixed credentials to connect to the underlying data
source, after it's published to the Power BI service. This behavior
applies to DirectQuery, not to live connections to SQL Server Analysis
Services, which is different in this respect. Immediately after
publish of a DirectQuery report, it's necessary to configure the
credentials of the user that will be used. Until you configure the
credentials, opening the report on the Power BI service would result
in an error.
Once the user credentials are provided, then those credentials will be
used whichever user who opens the report. In this way, it's exactly
like imported data. Every user sees the same data, unless row-level
security has been defined as part of the report.
Does direct query connect to sql server using gateway credential or report viewer credentials?
That doc is out-of-date. Single-Sign On (SSO) is available as an option for many cloud and on-prem data sources, including SQL Server and SSO is required for DirectQuery to Power BI Datasets.
All connections to remote Power BI Datasets models are made using
single sign-on.
Using DirectQuery for Power BI datasets and Analysis Services
We are a SaaS provider and would like to open up our data to clients through Power BI. Our solution is hosted in AWS with an RDS database and we plan to make the database available through a Power BI Gateway to RDS.
I am currently trying to work out a way to give my clients the ability to (a) design their own dashboard/reports and (b) embed these reports in our web app.
The plan is to embed reports into the webapp is by using the “Embed for your Organisation” approach where the users require a Power BI Pro account.
The key question I have is around managing the Gateway, data sources and data sets. Technically my company will host the Power BI GW in AWS and the idea was that we register the PowerBI GW in our account. Ideally we would then give client users access to either the data source itself or a data set based on it. However when trying to give access to a user of another organisation to either, then I get an error message saying “One or more users were not found within your organization.“.
I read about B2B Guest access but is pretty unclear to me and my first tests were not successful.
Can anyone point me to a reasonable architecture or approach for this?
Please note that for cost reasons, we want to avoid Power BI Premium and Capacities and cost is a constraint.
I have a Power BI workbook that I have created in Desktop. It sources from a SQL Server database. I can access this database with account x. My Azure tenant admin has created a data source for this database in our gateway (within the Power BI service), and I have access to this gateway. The admin supplied account y in connecting to this data source. How does this work when I go to refresh the dataset that this workbook creates when I publish it to the service? That is, when I schedule a refresh on the dataset, will it dial into the SQL Server database using account y provided in the data source definition (virtually ignoring / dropping account x's credentials)?
Yep. That's exactly how it works. The automated refresh will use account 'Y.'
Data sources that have been deployed to some hosted location will almost always disregard the credentials used to create the dataset and instead use credentials that are specifically supplied for the refresh. These 'service' accounts will typically have different rules about password resets, have the lowest appropriate levels of access, and be under the prevue of system administrators rather than report authors. Its a very standard practice. It protects against misuse, error, loss of accounts, and segregates actual user activity from automated behaviors in the logs.
However, it is a little odd to me that your admin 'created the datasource' -- is that correct? Or did the admin just wire up the gateway to the datasource that was deployed when you published?
If you want to use a datasource that is already published, then you need to connect to that datasource from PowerBI desktop. Otherwise you'll be pushing out something new that has nothing to do with the resources that your admin created.
i am using power bi report in my project but i need my graph be change according to SQL server data. it means when we will insert new data in SQL server it effect my graph.
You can use the on-premises Gateway to refresh data in a published Power BI data set with on-premise data like SQL Server data. Take a look at https://powerbi.microsoft.com/en-us/gateway/
The gateway is free, there is a personal and an enterprise flavor and it should run on a machine that is always on, so you can schedule data refresh to occur automatically.
Microsoft has already given the Documentation regarding it.
SQL Server Analysis Services live data in Power BI
In Power BI, there are two ways you can connect to a live SQL Server
Analysis Services server. In Get data, you can connect to a SQL Server
Analysis Services server, or you can connect to a Power BI Desktop
file, or Excel workbook, that already connects to an Analysis
Services server.
Important :
In order to connect to a live Analysis Services server, an On-premises Data Gateway must be installed and configured by an
administrator. For more information, see On-premises Data
Gateway.
When you use the gateway, your data remains on-premises. The reports you create based on that data are saved in the Power BI
service.
Q&A natural language querying is in preview for Analysis Services live connections.
To connect to a model from Get data
In My Workspace, select Get data. You can also change to a group workspace, if one is available.
Select Databases & More.
Select SQL Server Analysis Services > Connect.
Select a server. If you don't see any servers listed here, it means either a gateway, and data source, are not configured, or your account
is not listed in the Users tab of the data source, in the gateway.
Check with your adminsitrator.
Select the model you want to connect to. This could be either Tabular or Multidimensional.
After you connect to the model, it will appear in your Power BI site
in My Workspace/Datasets. If you were swtiched to a group
workspace, then the dataset will appear within the group.
I have a PowerBI instance and a Postgres database on Heroku. In my search the PostgreSQL connectors for PowerBI all seem to be for desktop:
https://powerbi.microsoft.com/en-us/integrations/postgresql/
https://powerbi.microsoft.com/en-us/documentation/powerbi-desktop-data-sources/
Has anyone found a connector for the cloud PowerBI solution?
Thanks!
The data source "connectors" for Desktop and the service "connectors" for the cloud are different things.
If you build a report in Power BI Desktop that connects to a PostgreSQL database data source, you can publish that report to PowerBI.com (the cloud) and configure a gateway to allow scheduled refreshes directly from the cloud (i.e. once configured, you can pull data from your PostgreSQL database via the gateway into the report in the cloud on a schedule). It sounds like this is what you were looking to do.
More information about the on-premises gateway, including the list that shows that PostgreSQL can be used via the gateway for a scheduled refresh: https://powerbi.microsoft.com/en-us/documentation/powerbi-gateway-onprem/#list-of-available-data-source-types
You cannot, however, start building a blank report in the cloud and connect to an on-premises PostgreSQL database. When you start out from the cloud, you can only connect to a more limited set of cloud-based data sources (Azure and SSAS). In general, you almost always want to start building your Power BI report in Power BI Desktop and then publish it to the cloud.
The service connectors in Power BI are something entirely different. They provide a quick way to connect to other cloud-based services you may subscribe to and bring in your personal data for reporting. E.g. if you use Salesforce, the Power BI connector will connect directly to Salesforce for you. This is different to connecting to your own database directly. It's not your database you're connecting to, but your data that belongs to a 3rd party service that's already in the cloud. More information here: https://powerbi.microsoft.com/en-us/documentation/powerbi-content-packs-services/
I hope this helps clarify things.