Each method has its pros and cons. The traditional method of sharing Power BI dashboards and reports was to leverage your internal Active Directory (AD) for security and use the Power BI user interface (UI) to publish reports to an internal website. This method works well for data sharing within your domain, but what if you want to share those reports with users outside your organization? Power BI has a few options.
Method 1: Publish to Web
Publishing your report or dashboard to the web is the quickest, easiest way to share information through Power BI. The report is published through Power BI using an Iframe. This NBC news affiliate’s website provides an example. Anyone can access the data. Security is like the Wild Wild West. It’s very easy to manage the published reports through the Power BI UI, but there’s no option for live data—data is refreshed about every hour.
Hosting your report in an API has many features that publishing to the web lacks: You’re able to host live data, row-level security is available and security is authenticated through Azure AD. Reports also are hosted in Iframe and users can have read/write ability. GitHub has a sample API.
Method 3: Power BI Embedded
Reports and dashboards will still be hosted in an Iframe. Unlike the APIs, Power BI Embedded authenticates with tokens. This is an Azure service—the first 100 sessions (user/hours) are free, and each additional session is 5 cents. Power BI Embedded targets companies and third-party independent software vendors that want a level of authentication to access their data.
All three methods have benefits and downfalls. How you host your data comes down to security and convenience. Publishing to the web requires no programming skill, but your data is open to anyone with the URL. APIs and embedding give you security, but there’s programming work along with deployment.