Have you ever pondered how to share a Power BI report with external users without requiring a license?
Power BI serves as an excellent resource for sharing reports among colleagues within the same organization. But what about when you need to share Power BI reports outside your company, such as with clients?
There are three methods to share Power BI reports with free users without a license:
Set up a secure Power Pages portal
Create a publicly accessible link
Automatically export reports to PDF
| Power Pages | Public Link | Export To PDF | |
|---|---|---|---|
| - Data security - Simple interface - Customizable login screen to your brand | - Quick and straightforward | - Can be emailed on a schedule |
| - Requires time and expertise to set up | - Anyone with the link can access the data - Links may be found through Google searches - Links are shareable | - Provides a static file rather than an interactive dashboard - Files can be easily forwarded, compromising security |
| Power Pages License, optionally Microsoft Fabric | Power BI Pro | Power Automate Cloud Flow |
| $180-340 per month | $14 per month | $15 per month |
The method you choose will depend on finding a balance between cost and data security. The safest option is sharing Power BI reports through a Power Pages portal, while the other methods are cheaper but less secure.
In this article, we will outline the step-by-step instructions for sharing Power BI reports with external users without a license using each of these methods.
Embedding Power BI Reports in Power Pages Portals
Power Pages provides a way to share Power BI reports with external users by utilizing these technologies:
Power BI - used to create the dashboard
Power Pages - establishes the client portal for user registration, login, and report access
Microsoft Purview (Azure Active Directory) - manages users and applies row-level security to Power BI reports
Here are the prerequisites for creating the Power Pages portal for sharing Power BI reports:
Office Account Access: Confirm that you have access to an Office account with a Power Pages license, which costs $180 per month and covers up to 100 authenticated users.
Power BI/Fabric License: If you need to manually set access roles for your authenticated users to view their Power BI dashboards, a Power BI Pro license is sufficient. However, for implementing row-level security on your report, a Microsoft Fabric license at $160+ per month is necessary.
Azure Portal Access: Ensure you have access to the Azure portal to manage cloud services like Power BI Embedded and resource groups.
This method has several advantages:
You can maintain complete data security while preserving the interactivity of your dashboards.
Additionally, you can fully customize the portal and reports to match your branding. Users will interact with the portal seamlessly, without realizing it's powered by Power Pages or Power BI.
The main drawback is the development and licensing cost. It typically takes around 30 working hours to create the Power Pages portal, along with the monthly fee for the Power Pages license and possibly a Microsoft Fabric license.
4 Steps to Share Power BI Reports Via Power Pages
Create Your Power Pages Site
To start your Power Pages site, sign in and click on the “New Site” button. You can build the required pages using ready-made web parts for a quick setup or choose custom development via Visual Studio for a more tailored approach. Power Pages portals generally include a sign-in screen and a page that displays a Power BI report.
When an external user visits your portal, they will see a registration screen that collects their information. Only authenticated users can progress further from this point.
Once users register, their details can be saved in a “contact” table within Dataverse, which will later assist with row-level security.
Row Level Security/Web Roles
There are two options to restrict content based on logged-in users: utilizing web roles in Power Pages or row-level security in Power BI.
Web roles in Power Pages work best when you have a limited number of clients needing access to their dashboards. While this method does require some manual effort, it avoids the need for any Microsoft Fabric licensing, saving you $160+ per month. In this scenario, you would manually create a new role for every new client.
Power Pages web roles allow users to perform specific actions or access restricted content. This is used to embed a new Power BI dashboard onto a different page, which can be assigned to a web role.
Alternatively, you can secure client data using row-level security in Power BI. In this method, a single Power BI report is filtered based on the signed-in user.
To set up row-level security, begin by opening the report in Power BI Desktop. Load the contacts table from Dataverse, which comprises all user contacts created for accessing this portal.
After loading the contacts table into the data model, create a security role that filters data according to the signed-in user. For example, you can create a rule that ensures the report displays only their relevant data. Follow these steps to set up row-level security:
Step 1: Azure Portal Access
Ensure you have access to the Azure portal with an active subscription. This is essential for setting up the resources required to share Power BI reports with external users lacking a Power BI license. The Azure portal provides critical infrastructure and tools needed for effective configuration and management.
Step 2: Set up Power BI Fabric Capacity
In the Azure portal, create a Power BI Fabric capacity resource. This resource is necessary for making the Power BI workspace premium, enabling you to share reports with users who do not hold Power BI licenses.
Step 3: Assign Embedded Capacity to Workspace
Assign the Power BI Fabric capacity to the workspace that will host the report intended for embedding in the portal. Once assigned, a diamond icon will display on the workspace, indicating premium capabilities. This ensures efficient handling of embedding reports and sharing them with external users.
Step 4: Create a Resource Group and Configure Authentication
Establish a resource group in the Azure portal and include the Portal ID. This organization aids in managing related resources effectively. Next, enable authentication by permitting this resource group to utilize Power BI APIs in the Power BI admin portal. This configuration is vital for facilitating automated processes and integrations, ensuring seamless and secure embedded reports.
Set Up Power BI Web Part
After designing the necessary pages in Power Pages, set up the Power BI web part where you want to display reports. Generate a public embedded link and add it within the Power BI web part as an iframe.
Once users log in successfully, they will be redirected to the report page, gaining access to view reports.
2. Invite and Manage Users
As an administrator, access the Portal Management app to create a new contact entry for each customer. After setting up the contact, generate a registration key for the portal to send to the customer, as this key is crucial for the next steps, allowing users to authenticate their access.
The user will click on the “Redeem Invitation” button on the portal’s registration screen and enter the provided registration key to set up their user account. This process involves entering personal information and creating login credentials, ensuring a secure and personalized experience.
Share Power BI Reports Via Public Link
The simplest way to share Power BI reports externally is by creating a public link. It only requires a few clicks and necessitates a Power BI Pro license.
Begin by publishing your Power BI reports to the Power BI service. Then open your report, navigate to file -> embed report -> publish to web (public). A pop-up menu will appear, allowing you to copy a shareable link and HTML code.
You can email the shareable link to anyone needing access to the report. The HTML code can be used to embed the Power BI report on a web page or a Power Pages portal.
The main advantage of this method is its straightforwardness; sharing Power BI reports externally takes just a few clicks. However, there are issues to consider:
These links are indexed by Google, making them inadvertently accessible to others. Many Power BI consultants share their work publicly in this manner, and these links often rank highly on search engines for terms like “Financial Power BI Dashboard.”
Additionally, anyone can forward the link, resulting in a lack of control over its distribution.
Report viewers may access the underlying data model by exporting data from visuals to Excel.
These factors highlight significant data security concerns with this method. If your data is sensitive, proceed with caution. However, if you're analyzing public information or data that can't be traced back to your organization, this method might still be a suitable option.
Share Power BI Reports Via Export to PDF
Another option for sharing Power BI reports externally is to export them to PDF and distribute them to users. You can either export manually or automate the process using Power Automate.
To export reports manually, navigate to your report in Power BI Service and select export -> PDF. You can choose to export the entire report or just the current page. After exporting, you can forward the PDF file to your audience.
Alternatively, create a scheduled Power Automate flow that automatically exports your Power BI reports to PDF and emails them to your audience. Instructions for this process are detailed on our website.
You'll need a Power Automate cloud license for the automation, which costs $15 per month.
This method has several benefits:
- Obtaining a single Power Automate license is more cost-effective than acquiring several Power BI licenses.
- You can initiate your Power Automate flow based on specific triggers. For example, it could be triggered when your Power BI semantic model refreshes.
Nevertheless, this approach comes with several downsides:
- PDF reports are static, meaning users lose access to any interactive features such as cross-filtering, bookmarks, or drill-throughs.
- Users can forward PDF files, which leads to a lack of control over their distribution.
- If you utilize a public link to share reports, you have the option to delete them later. However, once a PDF file is shared, you can no longer revoke access.
