All of the methods of sharing Power BI files in the Power BI Service (such as dashboard sharing, workspaces, Apps, etc.) need paying power bi subscriptions for consuming reports. Users need to be either Power BI Pro or free accounts under Power BI premium capacity. The “Publish to web” is the only way of sharing Power BI content through the service for free. Yes, you read that right; with this method, you can share Power BI content with users who don’t have a Power BI account.
Publish to the web is an easy way of sharing public data. However, it has some disadvantages as well. In this article and video, you will learn about this feature in more detail, and you will learn this feature is, and how it is different from Power BI Embedded. It will be a very long article if you want to learn about both Power BI Embedded and Publish to the web and compare them here. So in this article, I’ll explain Publish to Web, and in another article, you’ll learn about Power BI embedded and their differences. In this article, you will learn how easy it is to share your report with the public through a web page which can be your blog post, an HTML page, or any other web page. Some frequently asked questions about this feature are answered through the content of this article. If you like to learn more about Power BI, read Power BI online book, from Rookie to Rock Star.
What is Publish to Web?
Once you publish your Power BI report into Power BI Service, you can share it with others by sharing it directly or in workspaces in Power BI. What if you want to share it with the public through the web? Let’s say you want everyone to see the report and play with it (with all your interactive features in Power BI). The answer is; to use Publish to web. Publish to web allows you to create an embedded code for the Power BI report and use that code on a web page. This simple feature will enable everyone to access the report. They won’t be able to edit the report, but they will see the report, and the report will be fully interactive for them so they can highlight items, select slicers, and drill down.
How to Do It?
Using this feature is very simple. You must first deploy or publish the report into the Power BI website or service. And there, click on the report (not the dashboard). Once you open the report, click on the File menu option, and under Embed report, choose to Publish to Web.
Then you will be informed about this feature in a message box that mentions this step will create a link and embed code for you to share with the world through a website or even email. Click on Create embed code below.
Because this is all about sharing a report and the data in the report, you will be informed again to check the confidentiality of the data and report and make sure you are sharing content that is not harmful to the organization or someone when it is viewable for the public.
After clicking on Publish above, you will see the embed code plus a link to share through email if you want. You can also choose the size of the screen for the embed code.
You can now browse the link to see the report in a browser, even if you open it in Incognito (or Private) mode.
To browse the report, you don’t need to log in to the Power BI service. Users, to view this report, won’t need anything. The report is fully interactive; users can highlight, select or deselect items.
You can also use the embed code and add it to your HTML page, blog post, or wherever you want them to see the report. Here is I embedded my code;
And after adding the embed code full interactive report will be visible on my page like this:
What You Share is for Everyone!
The first thing you might think of is usually security. How can you manage security on this? The short answer is there is no security here. The report is shared through the web or email with EVERYONE. So everyone who has the link or embeds code can access the report. They cannot edit it. But they can view it with no restrictions.
Users can share it with others!
A report published on the web has a share section at the right-bottom hand-side. Everyone can share this report with anyone else through all social media channels; Facebook, Twitter, and LinkedIn sharing the link directly! This method of sharing is not secure. I only recommend sharing the data you want to publish a public report on your company or organization’s website.
The report is PUBLIC. Not only to those with the Link
Yes, you read it right. This report is not shared only with those with the link. It is shared globally on the internet. A search engine such as Google can search for a report. All the reports with Publish to web links are available there. here is an example of the search result from Google;
You must double-check that the report and data don’t reveal confidential information.
All Report Pages Are Visible
If you have a report with 10+ pages, it will be visible to browsers. You can not limit which pages you want to show and which you don’t. For example, the above report has more than one page, and you can view it. I recommend creating different reports if you want to restrict some pages and share them separately.
What If the report has Row-Level Security applied?
If you have a report with the Row-Level security applied to it, you won’t be able to create a “Publish to web” link. The below screenshot is an example of such a case.
All Report Pages Are Visible
If you have a report with multiple pages, it will be visible to browsers. You can not limit which pages you want to show and which you don’t. For example, the above report has more than one page, and you can view it. I recommend creating different reports if you want to restrict some pages and share them separately.
Publish to Web is only recommended for public data sharing in your organization website with the public. There is no security option for Publish to Web; this method should not be used for reports of the confidential data of businesses.
Link or Embed code is Synchronized with the Report
If you make any changes to the report, all changes will be synchronized because links or embed codes are just references to this report. So People will always see the latest version of your report. If you also want to keep the report up-to-date, you can schedule it for data refresh.
Removing the Access is Easy!
If for some reason, you want to revoke access for everyone to the report, you can do it quickly. Go to the Power BI service, and under Settings, click on Manage Embed Codes.
You will see the embed code created here and can delete it. It is essential which workspace you are in because the list of public reports will be only those from that workspace.
Once you delete the embed code, no one can access this report from the public web. You will see a notification message about it.
If you go ahead and delete the embed code, the link and the embed code will show a message to public web users that this content is not available.
Central Monitoring for all Embed Codes
Publish to the web seems a frustrating option with all the security holes. There is a need for an administration page to manage all embed codes there across the Power BI tenant. There is a place the Power BI tenant administrator can find all reports that are published to the web, and you can remove those from being published to the web.
To go to the admin portal, click on the setting icon in the Power BI service, and then go to Admin Portal. Click on Embed Codes on the left-hand side, and you will see all embed codes published by anyone from your organization.
There are two options for each report published to the web: to view the published report or delete it. Once you delete it, no one can use the published web link.
Who can publish the reports on the web?
Power BI tenant administrator can turn off the Publish to web feature entirely or only authorize it for a specific group of users. I highly recommend using this setting and either turning it off entirely or just enabling it for a group of users from the BI or data analytics team who know all the security problems of this method. Do not turn on this feature for the entire organization. This configuration is under Tenant Settings.
Difference with Other Sharing Methods?
You can share your dashboards and reports with people in your organization. This feature also gives you a link to the report. However, It is different from the public link. Here are some differences between sharing dashboard and public link;
- Only those who have access to the dashboard will see the content. The dashboard link shared with the public won’t show anything if they are not authorized to see it.
- Users will need to have Power BI accounts.
- Power BI Workspace or App is For Authorized groups of users inside or outside of Your Organization, not for everyone!
- Power BI Embedded is different from Publish to Web
Only those who have access to the dashboard will see the content
Once you share a report, you can choose who has access to see it based on their Power BI accounts. If they don’t have a Power BI account or they don’t have access to that content, they won’t see the content.
Dashboard link Works Only for Authorized Users
Despite having the dashboard link available, Only authorized users can see the content when browsing the link. Otherwise, they will see a message that says they don’t have permission to view this dashboard.
Power BI Workspace or App is for authorized groups of users inside or outside of your organization, not for everyone!
You can share dashboards, reports, and data sets with your organization’s workspace. And users will have access to all content shared or part of it (using the audience settings in the Power BI App). However, with Publish to web, any users who have access to the page will see the report, regardless of having a Power BI account.
Public Access or Organizational Sharing
Last but not least, the difference between publishing to the web and other sharing methods is about giving public access or sharing content through the organization.
With Sharing dashboards or using Power BI workspaces and apps, you can share content with other users. These users SHOULD BE Power BI users; they cannot access content anonymously. They must log in to the Power BI service to access the content.
With Publish to web, EVERYONE access the report even if they don’t have a Power BI account. They don’t need to log in. They can browse the page that contains Power BI embed code with no restriction on viewing the report.
Power BI Embedded is Different from Publish to Web
Power BI Embedded brings Power BI into applications. Yes, you can share your Power BI report through an application with API Keys. And you share the report with application users, even if they don’t have Power BI accounts. However, you are much more flexible here. You can choose which reports you want to share with which users in the application. Power BI Embedded is how to bring the Power BI experience into an application with security configuration enabled for users. Power BI Embedded is fully secured in a custom application, but the public reports are not.
Publish to Web is not secure, free way of sharing, and is for the public. Power BI embedded is secure, paid service, and for specific people that you authorize them.
In summary, Publishing to the web is the only free way of sharing Power BI content. This method of sharing doesn’t have any security bound to it. As soon as you publish a report to the web, anyone with that link can access the report and the data. This method of sharing is easy. However, it is not recommended for confidential data. This method is a reasonable option if you want to share some public reports on your company’s public website.
Publish to the web is entirely different from Power BI Embedded or Secure Embed; these methods should not be considered the same.
Other sharing methods are explained below.
- Dashboard or Report Sharing
- Sharing through workspaces
- Embed Code
- Publish to Web (This article)
- Sharing through SharePoint Online
- Power BI Embedded
- Comparing Sharing methods in Power BI