Sharing Options Overview
| Method | Cost | Security | Best For |
|---|---|---|---|
| Publish to Web | Free | None (public) | Public dashboards, portfolios |
| Share with Pro users | Pro license required | AAD authentication | Internal teams |
| Apps | Pro/Premium | AAD + app permissions | Curated content packages |
| B2B Guest Access | Pro/Premium | AAD B2B | External partners |
| Power BI Embedded | Capacity-based | Custom auth | Customer-facing apps |
Publish to Web
Never use for: Customer data, financial data, HR data, or anything sensitive.
When to Use
- Public dashboards (COVID stats, election results, etc.)
- Portfolio pieces for job applications
- Blog posts and tutorials
- Community sharing
Security Risks
Even if you don't share the link, determined users can:
- Access the underlying data model
- Export data to Excel
- Discover the report through search engines
Detailed analysis: How Power BI Reports Expose Sensitive Data (Nokod Security)
How to Enable
- Admin must enable in tenant settings
- Open report in Power BI Service
- File > Embed report > Publish to web
- Copy the embed code or link
Internal Sharing (Pro/Premium)
Direct Sharing
- Share button on report/dashboard
- Enter email addresses
- Recipients need Pro license (unless Premium capacity)
- Can allow resharing or not
Workspace Access
- Add users to workspace with roles:
- Viewer: View only
- Contributor: Edit content
- Member: Publish and manage
- Admin: Full control
Power BI Apps
Bundle reports/dashboards into a curated "app" for distribution:
- Single install point for users
- Automatic updates when you publish changes
- Separate from workspace (users don't see workspace clutter)
- Best for department-wide distribution
External Sharing (B2B)
Share with users outside your organization:
Azure AD B2B Guest Access
- Invite external user as Azure AD guest
- Guest signs in with their own credentials
- Share report/workspace with guest email
Requirements:
- Admin must allow external sharing
- External user needs email that Azure AD accepts
- Licensing: Guest consumes your Pro/Premium license OR brings their own
Embedding for External Users
For customer-facing scenarios, see Power BI Embedded below.
Power BI Embedded
Embed reports in your own applications with custom authentication.
Two Scenarios
1. Embed for Your Organization
- Users sign in with Azure AD
- Users need Pro or Premium capacity
- Simple iframe embed with authentication
2. Embed for Your Customers
- YOUR app handles authentication
- Users don't need Power BI accounts
- Requires capacity (Premium or Embedded SKU)
- You pay based on capacity, not per user
Row-Level Security (RLS) for Embedded
When embedding for customers, you must pass an effective identity to enforce RLS:
Common mistake:
Forgetting to pass the effective identity object when generating embed tokens. Without it, RLS rules won't apply and users may see all data.
Common Questions
How do I share for free?
Publish to Web is the only free option, but it's public with no security. All other sharing methods require Pro or Premium licensing.
Can I embed in SharePoint?
Yes! Use the Power BI web part in SharePoint Online. Users need appropriate licenses.
Can I embed in Teams?
Yes! Add reports as tabs in Teams channels. Users need Power BI licenses.
Can I email reports?
Yes, set up subscriptions to email PDF/PowerPoint snapshots on a schedule. Recipients don't need licenses to receive the email, but it's a static snapshot.