Power BI security - powerbi

I am new BI and working on power bi reports embedded into user application. How can I explain users about how data is secured in power bi. I am getting many questions about security. Can you kindly explain how you explained to your customers?
Thanks alot

Well,
Once you embed(Publish) a report to website, all the people who can access that website link can access the report and data.
So its a way to share Power BI report for free.

As you are using reports embeded in another application, if that application has integration with Azure then we can use Azure AD with that. Moreover, You can implement RLS, OLS and data masking in pbi, even in embeded mode.
Internally, datasets hosted in the PBI service are using Azure SQL in an encrypted mode. Even the credentials used to get data are encrypted.
If you want to explain customers, use the whitepaper of security.
https://learn.microsoft.com/en-us/power-bi/guidance/whitepaper-powerbi-security

Related

Options for sharing dashboards with sensitive information with PowerBI

I have a dashboard I've built using Power BI, that contains sensitive information. I want to share this dashboard with external users outside of my organization, that do not and will not have PowerBI.
From everything I've read, it appears I have a few options:
The external recipient of the dashboard would need to download Power BI Pro (from my understanding, they won't be able to view my dashboard with anything other than Power BI Pro?)
I somehow embed my dashboard in a Sharepoint which the external recipients have access to - but from what I've read, this seems likely to fail since they don't have Power BI.
I publish dashboard to the web, and have no way to password protect or restrict access.
Are these my only options? Am I correct in that anyone I wish to share the dashboard with needs Power BI Pro to view, or I need to publish it to the open web and let it be publicly available?
If this is the case.. this is just one more reason I am disenchanted by Power BI.
There are other options in addition to these you mentioned already (i.e. directly sharing through adding users to the workspace, embed in SharePoint and Publish to web).
Sharing (except Publish to web, which is public) require both the publisher and the consumer to have Power BI Pro licenses (which is not the case for you). Purchasing Power BI Premium (P SKUs only) will allow you to share reports with non-Pro (i.e. Power BI free users), but they still needs Power BI licenses (although free). Also this will costs you thousands per month and has annual commitment, which means you can't buy this for a month or two.
If this doesn't work for you, you can also:
Export these reports to PDF or PowerPoint and share the files with them.
If the report imports the data (see Dataset modes in the Power BI service), you can send them the .pbix file directly. It can be opened in Power BI Desktop even without having no Power BI account at all.
Publish the report to local instance of Power BI Report Server, where you can control who can access the report. You need either Power BI Premium (P SKUs) or SQL Server Enterprise with software assurance for that.
Embed the report using Power BI's API into custom written application, implementing app owns data scenario (see Tutorial: Embed Power BI content into an application for your customers and for example this answer).
To add to Andrey's answer, depending on the number of users you can use Azure AD B2B so you can have guest users access your Power Bi Reports and allocated work-spaces. However it depends on the number.
For example if you need to add 100 users, and you pay for the Power BI Pro licenses then it would be cheaper to design a basic portal and use the Power BI Embedded option and build you own basic web portal to embedded the reports in (The app owns data scenario). The basic A SKU's start around the same price as about 73 Pro licenses, or £570 per month. There will be extra cost in development of the portal and the running costs on top of the Embedded price
If your external end user is going to pay for the Pro license, then Azure AD B2B could work for you.
Hope that helps

Is there a workaround for Power BI Desktop to automatically refresh data without publishing pbix to Power BI Service?

Is there still no way for Power BI Desktop to automatically refresh data without publishing pbix to Power BI Service? Due to threat of private information leakage, we want to maintain our data only via Power BI Desktop (not using Power BI Service first). We have been looking for ways on how to work around the automatic refresh in PBI Desktop for over a day already but all pointing us to publishing pbix to Power BI Service, which will allow us to schedule the refresh after. Any feedback will be much appreciated.
Thank you!
There is no supported way to do this. The easiest workaround is to teach your users to click on Refresh button. Second easiest thing could be to use DirectQuery instead of import mode.
There are some attempts for workarounds from the community, but you should use them with caution:
PBIXRefresher and pbixrefresher-python scripts by Michal Dúbravčík
Write some code that starts opens the .pbix file in Power BI Desktop, finds its PID, then finds the port on which the child Tabular process listen and use Tabular Object Model (TOM) to refresh it
Use Power Update (paid) tool
But leaving workarounds aside, Power BI is compliant with a lot of security standards. Data leaks of data from the cloud in most (all?) of the cases will be caused by a human factors, which is also possible with on-premise data. But if it is a no-go for your organisation, then either use Power BI Server on-premise, or another reporting tool (e.g. SSRS).
There is no way to automate the refresh in PowerBI desktop. You have to manually click the refresh button. Many organisations trust PowerBI Service with their data. However, in the case that you have some serious data residence restrictions, then you can deploy PowerBI Report Server on premises and publish to this without your data leaving your network.

How can we Export data from Web Published Reports

I have published an application that i did with power Bi, for some charts I want to make data downloadable for users.
I couldn't find any straight forward way to do that, some sites talk about implementing a script for that.
Is there any real way for published application that works?
One of the limitations of Publish to web is the inability to export data:
Reports using row level security.
Reports using any Live Connection data source, including Analysis Services Tabular hosted on-premises, Analysis Services Multidimensional, and Azure Analysis Services.
Reports shared to you directly or through an organizational content pack.
Reports in a group in which you are not an edit member.
"R" Visuals are not currently supported in Publish to web reports.
Exporting Data from visuals in a report, which has been published to the web
ArcGIS Maps for Power BI visuals.
Reports containing report-level DAX measures.
Single sign-on data query models.
Secure confidential or proprietary information.
The automatic authentication capability provided with the Embed option doesn't work with the Power BI JavaScript API. For the Power BI JavaScript API, use the user owns data approach to embedding. Learn more about user owns data.
Exporting data is possible, if you publish your report in Power BI Online and share it with your colleagues. But keep in mind, that even in this case it may not be possible or allowed, due to these limitations, e.g. if it has been disabled, or the user doesn't have enough permissions. In addition, it has limits on maximum columns, rows and data size.
The best option is to export the data directly from the data source, which is used to build this report.

SQL DB on AWS with Power BI Embedded

I need your help.
We have a plan to run "SQL DB and Web services" on AWS and need to publish the Power BI report by embedding to web service running on AWS.
Do you think it's possible scenario? IF yes, how can I achieve this?
You can't embed Power BI in a web service, so I will assume you want to embed it in a web application.
You need at least three components in such architecture - a place to store your data (assuming it will be in some kind of SQL Server), Power BI (assuming Power BI Service) and web application.
The database can be managed by your cloud provider (e.g. Amazon RDS) or "normal" instance running in a VM in the cloud. Of course, it could be something else (not SQL Server), or even be in a different cloud (e.g. Azure), or on-premise. The point is that you store your data there and use this as a data source for your reports.
The you need Power BI to create reports. Assuming that you will use Power BI Service (the online portal), you will design your reports in Power BI Desktop, getting data from your data source, and publishing these reports to Power BI Service. At this point you can view these reports in the portal using the browser. Power BI Service will render them using shared resources. For embedding and relatively heavy usage, you should buy a capacity. Think for capacities as resources (CPU, memory) dedicated only for you. They are not shared with other Power BI users. There are different licensing models and ways to buy a capacity. You can buy Power BI Premium or Azure SKUs. This FAQ tries to explain the differences, but in general A SKU means "pay what you use, stop at any moment, without any commitments", while EM SKU and P SKU are for bigger scale projects with monthly or yearly commitment. When you buy a capacity, you can assign it to a workspace containing your reports, and then they will be rendered using your own dedicated resources (which should give you better performance).
And the last part is your application (assuming web application, which you can host in Amazon Web Hosting or in VM), where you want to embed your reports. Generally speaking, there are two scenarios - "user own data" and "app own data". In the first, each of your users needs Azure AD account. Using this account, he will get access to the reports and data, as he has in the Power BI Service itself. In the second scenario, your app uses one "master" account to access the Power BI, thus your users doesn't need their own accounts in Azure AD. You can use your own authentication in your app. Embedding Power BI is quite large topic and your question isn't specific, so I will recommend to start with Embedding with Power BI article, take a look at Power BI Embedded Playground and review the samples.

Does Power BI Rest API need only one Power BI Pro account for integrate reports, which will use for all end users?

We are working Power BI Reports and we are new in Power BI. For embed Power BI reports in our web application we want to choose Rest APIs.
Is it possible that we subscribe only one Power BI Pro account and publish our all reports and it could be available for all end-users with access token?
Technically that's possible, but I'm not sure if it's ok from licensing point of view.
I mean, Power BI Premium was released so that not all of the people in the organization should need Pro licenses. With Premium you're able to create and publish a report with a single Pro license and everybody else viewing the report can be Free-license users. The report might contain some Pro-freatures (like a gateway connection to on-premise) and it's still viewable to Free-users.
Premium isn't cheap, but it might work in some middle to large size organizations.
Another way to publish a report to multiple users is to use Publish to web -feature (https://powerbi.microsoft.com/en-us/documentation/powerbi-service-publish-to-web/), but it's got some limitations and security related issues.