Mason Prewett, Business Intelligence at Key2 Consulting
By: Mason Prewett


 
Power BI report development can require a large effort, and Power BI reports are only valuable if your consumers can easily access them. Having a well-defined “sharing strategy” can ensure that your Power BI assets are being effectively used once published.

This article will cover how to share Power BI reports and will highlight the sharing strategies we currently use for our clients. We will focus on sharing Power BI assets with consumers and not development sharing, such as with workspaces.
 

Sharing Power BI Resources

 
Power BI report sharing, grant access to feature
 
Power BI allows the sharing of reports, dashboards, and apps. I covered the basic concepts of these items in my previous blog post, Choosing Between Power BI Service and Power BI Report Server (Cloud vs On-Prem) .
 

How to Share a Power BI Report

An individual report can be shared with consumers after it has been published to a workspace. This would be considered a unique permission that has to be maintained independently of all other reports, dashboards, and apps in the workspace.
 

  1. Navigate to the Report in the workspace it is published to.
  2. Hover over the report and click the Share button.
  3. Enter Email Addresses or Groups that require access.

When this is useful: When a report is created with a purpose that doesn’t fit in the normal structure of your environment. This is also useful when a workspace is small and doesn’t have any plans for publishing any dashboards or apps.
 

How to Share a Power BI Dashboard

An individual dashboard can be shared with consumers after it has been published to a workspace. A dashboard provides meaningful KPIs that often allow the consumer to drill into those numbers by accessing supporting detail reports. In this scenario, the consumer would also require access to these detail reports to be able to access them.

The dashboard and report permissions would be independently maintained but need to stay in sync. Using an AD or Azure Active Directory group to accomplish this would provide a single point of access for this situation and what I would recommend.
 

  1. Navigate to the Dashboard in the workspace it is published to.
  2. Hover over the dashboard and click the Share button.
  3. Enter Email Addresses or Groups that require access.

When this is useful: When your workspace utilizes dashboards that are not included in an app. This is also useful when using an AD or Azure Active Directory group for maintaining user membership is a possibility for your team.
 

How to Share a Power BI App

Sharing an app is a different concept and process than sharing individual Power BI resources. Reports and dashboards can be included in an app by selecting the “Include in App” toggle switch next to the item. When this is done, these resources will be available to users when accessing the app without granting any access to those resources individually. Access is handled only through the app itself and then all included resources are automatically accessible within the app.
 

  1. Navigate to the Workspace (cannot be done with My Workspace)
  2. Click the Update App button.
  3. Click on the Permissions tab.
  4. Choose Entire Organization or Specific users to grant the desired access.

When this is useful: When your workspace contains multiple reports and/or dashboards that need to be delivered as a single solution. This is also the strategy that I would recommend if your requirements allow it.
 

How to Share Power BI Assets With an Organization

 
Setting permissions in Power BI to share reports with an entire organization
 
If you want to share a Power BI report, dashboard, and/or app with everyone in an organization, there are three options to accomplish this.

  1. Grant everyone access.
  2. Publish a report to the web.
  3. Share an app with the entire organization.

 

Grant Everyone Access

An individual report or dashboard can be shared with everyone in an organization by creating an “All Users” dynamic group in Azure Active Directory. This Microsoft article describes how this group can be created, and states that “you can create a group containing all users within an organization using a membership rule. When users are added or removed from the organization in the future, the group’s membership is adjusted automatically.”

Once this group is in place, it can be used to grant permissions to all users by following the “How to Share” instructions above for dashboards and reports.

It is worth noting that not all organizations may be in favor of creating a group that is defined in this way. Some policies and procedures may prohibit this type of group from being used by everyone in the organization. It would be a good idea to start a conversation with stakeholders in the organization to get a confirmation for creating this group before planning on using this strategy.
 

Publish a Report to the Web

A report can be published to the web, which will actually publish it to a location outside of the current workspace in an Azure public location. To do this, navigate to the report and select Share->Embed Report->Publish to Web (public). This will produce an embed URL and iframe code to be used to embed the report in a webpage. This Microsoft article explains the steps to accomplish this as well security warnings, limitations, and the technical functionality of this feature.

This feature should not be used to embed a report with any sensitive data. The above article states that “when you use publish to web, anyone on the Internet can view your published report or visual. Viewing requires no authentication.” This should be considered before using this option.
 

Share an App With an Entire Organization

Apps have built-in functionality that enables sharing with an entire organization. To accomplish this, follows these steps:

  1. Navigate to the Workspace (cannot be done with My Workspace).
  2. Click the Update App button.
  3. Click on the Permissions tab.
  4. Choose Entire Organization.

Everyone in the organization will be able to access the app at this point, which means everyone can access the reports and dashboards that are included in the app without granting access to the items individually. If a user tries to access these items outside of the app, they will get access denied if they do not have explicit access granted to this. Everyone in the organization will only have access to these assets from within the app.
 

Embedding an App Report

There is some confusing behavior I should point out when embedding a report that is included in an app and is shared with everyone in the organization. To get the embed URL for this, visit the report from within the app. Then click on Share->Embed Report and choose the desired embed option. There are other ways to get an embed code, but this is the correct method in this situation.

The confusing part comes after you embed the report. In order for a user to have access to the app, it has to be installed for the user. There is an option to “Install this app automatically”, but it is disabled when choosing to share with the entire organization. This means that the user will have to visit the actual app to have it installed for them. They only have to do this once. Without doing this, the user will get a message saying “Content Not Available”. The app will not install when embedded. There are two workarounds for this, and downsides to both.

  1. Provide a link on the page to the app. If the user has not had the app installed yet, they can click the button to visit the app which will install the app for them. Every time they visit the embedded report after that will render the report correctly.
  2.  

  3. Use Power BI API’s. This method lets you set up authentication to always act as a single identity and will be seamless to the end user. This is involved and requires elevated permissions to accomplish. This Microsoft article covers the authentication part of this, but is not the entire process. Please feel free to leave a more detailed guide in the comments if you know of one.

 

Questions?

Thanks for reading. We hope you found this blog post to be useful. Do let us know if you have any questions or topic ideas related to BI, analytics, the cloud, machine learning, SQL Server, Star Wars, or anything else of the like that you’d like us to write about. Simply leave us a comment below, and we’ll see what we can do!
 

Keep Your Business Intelligence Knowledge Sharp by Subscribing to our Email List

Get fresh Key2 content around Business Intelligence, Data Warehousing, Analytics, and more delivered right to your inbox!

 


Key2 Consulting is a data warehousing and business intelligence company located in Atlanta, Georgia. We create and deliver custom data warehouse solutions, business intelligence solutions, and custom applications.

Share
Tweet
Share
Reddit
Email