MICROSOFT POWER BI • PUBLISHING AND COLLABORATION

Sharing & Access Management — Share reports/dashboards and manage access appropriately (conceptual)

Master the principles of distributing Power BI content securely while enforcing least-privilege access across your organization.

Historical Context & Motivation

The challenge of sharing analytical insights with the right people — and only the right people — is as old as business intelligence itself. In the 1990s, enterprise BI platforms like Cognos and BusinessObjects relied on tightly controlled, on-premises servers where IT administrators manually provisioned user accounts and distributed static reports via email or intranet portals. This model created a persistent bottleneck: business users waited days or weeks for access, and IT teams struggled to audit who could see what. The shift to cloud-based, self-service analytics introduced a new paradigm — one where report authors could share directly with colleagues, but where the risk of inadvertent data exposure grew proportionally with the ease of sharing.

2006
Cloud BI Emergence
Early SaaS analytics platforms introduced URL-based sharing, shifting report distribution away from IT-controlled file servers toward browser-accessible dashboards with rudimentary permissions.
2015
Power BI General Availability
Microsoft launched Power BI with workspace-centric sharing, enabling users to publish reports to the Power BI Service and share via direct links or workspace membership — a fundamental shift toward self-service governance.
2017
Power BI Apps & Content Packs
Microsoft introduced Power BI Apps (replacing content packs), allowing curated collections of dashboards and reports to be distributed organization-wide with managed access permissions.
2020
Row-Level Security & Sensitivity Labels
Integration with Microsoft Information Protection brought sensitivity labels and mature Row-Level Security (RLS), enabling fine-grained, data-level access control within shared reports.
2023
Microsoft Fabric & OneLake
The introduction of Microsoft Fabric unified data engineering, data science, and BI under a single governance model, extending sharing and access management across the entire analytics lifecycle.

The central question this lesson addresses is both architectural and organizational: how do you distribute analytical content to the people who need it while preventing unauthorized access to sensitive data? Power BI provides multiple sharing mechanisms — workspaces, apps, direct sharing, embedding, and publish-to-web — each with distinct security implications. Understanding when to apply each method, and how underlying permission models interact, is essential for any computer scientist working in data engineering or analytics platform design.

Core Principles & Definitions

Before exploring Power BI's specific sharing mechanisms, it is important to ground the discussion in the foundational principles that govern access management in any collaborative analytics environment. These principles draw from both information security theory (particularly the principle of least privilege) and software engineering best practices around role-based access control. Power BI's sharing model is best understood as a layered system: workspace roles control administrative access, sharing links control content distribution, and row-level security controls data-level visibility.

1

Least Privilege

Every user should receive only the minimum permissions required for their role. In Power BI, this means assigning Viewer roles rather than Contributor or Admin roles unless editing is explicitly needed.
2

Role-Based Access Control (RBAC)

Permissions are assigned to roles (Admin, Member, Contributor, Viewer) rather than individual users. Users inherit permissions through role assignment, simplifying management at scale via Azure Active Directory security groups.
3

Content vs. Data Security

Sharing a report grants access to the report artifact, but Row-Level Security (RLS) can independently restrict which rows of data a given user can see. These are orthogonal security layers that must be configured independently.
4

Governance & Auditability

Every sharing action should be traceable. Power BI's Activity Log and Microsoft 365 Unified Audit Log record who shared what with whom, enabling compliance reviews and forensic analysis of access patterns.
5

Separation of Concerns

Content creation (development workspaces) should be decoupled from content consumption (published apps). This mirrors the dev/staging/production pipeline familiar to software engineers and prevents consumers from accidentally modifying source reports.
KEY TAKEAWAY
Think of Power BI's sharing model like a university library system. The workspace is the restricted stacks where librarians (Admins/Members) catalog and organize books. The Power BI App is the public reading room — a curated, read-only view where patrons (Viewers) access materials without risk of rearranging the shelves. Row-Level Security acts like a special collections policy: even if two patrons can see the same catalog entry, one may be restricted from accessing certain archival documents within it.

Visual Explanation — Sharing Architecture

The following diagram illustrates the layered architecture of Power BI's sharing and access management system. At the top, the tenant represents your organization's Power BI environment, governed by Azure Active Directory (now Entra ID). Within the tenant, workspaces serve as the primary containers for reports, dashboards, and datasets. From there, content flows outward through multiple distribution channels, each with different security characteristics.

The diagram shows how content flows from the Azure AD tenant through workspaces to four distribution channels (Apps, Direct Sharing, Embedding, and Publish to Web). Two orthogonal security layers — Row-Level Security and Sensitivity Labels — apply independently of the sharing method. All actions feed into the audit log at the bottom.

Notice that the four distribution channels differ fundamentally in their authentication requirements. Power BI Apps and Direct Sharing both require the recipient to authenticate with Azure AD, meaning the organization retains full identity-based control. Embedding can operate in two modes — "embed for your organization" (authenticated) or "embed for your customers" (app-owns-data, with token-based auth). Publish to Web is the only channel that completely bypasses authentication, making any published content publicly accessible on the internet. This hierarchy of trust is the single most important conceptual model for making sharing decisions.

How Sharing Mechanisms Work

Workspace Roles: The Foundation

Every Power BI workspace defines four workspace roles that follow a strict capability hierarchy. The Admin role can manage membership, update settings, and publish or delete all content. Members share similar editing and publishing capabilities but cannot manage workspace membership or delete the workspace. Contributors can create and edit content within the workspace but cannot publish apps or share content with external users. Viewers can only consume content — they see dashboards and reports but cannot modify them or access underlying datasets for new report creation. This hierarchy directly implements RBAC, and assigning users to roles via Azure AD security groups ensures that permission management scales with organizational growth.

Power BI Workspace Role Capabilities Matrix
CapabilityAdminMemberContributorViewer
Update/delete workspace
Add/remove users
Publish/update app
Share items
Create/edit content
View/interact with items
Build on datasetsOnly with Build permission

Sharing Links & Per-Item Permissions

Beyond workspace roles, Power BI supports per-item sharing via shareable links. When you click "Share" on a report, Power BI generates a link with one of three scopes: People in your organization, People with existing access, or Specific people. Each scope can optionally grant Build permission on the underlying dataset and allow resharing. These per-item permissions are additive — they layer on top of workspace roles but never subtract from them. This additive model means that if a user has Contributor access through a workspace role and also receives a read-only sharing link, their effective permission is still Contributor. Understanding this permission union behavior is critical for troubleshooting access issues.

Row-Level Security (RLS)

Row-Level Security operates at the data model layer, completely independent of report-level sharing. RLS uses DAX filter expressions defined on tables to restrict which rows a user can query. For example, a sales dataset might include an RLS role called RegionalManager with the filter [Region] = USERPRINCIPALNAME(), which dynamically restricts each manager to only their region's data. RLS roles are defined in Power BI Desktop and then mapped to Azure AD users or security groups in the Power BI Service. The key insight is that RLS does not prevent access to the report — it filters the data returned by every query the report executes, so two users viewing the same report may see entirely different numbers.

Detailed Breakdown of Distribution Methods

Power BI provides five primary methods for distributing content, each designed for a different audience and trust level. Choosing the right method is an architectural decision that balances usability, security, and maintainability. The following diagram maps each method to its typical use case, authentication model, and risk profile, giving you a decision framework for real-world deployments.

The five sharing methods are ordered from lowest risk (Power BI Apps with full Azure AD authentication) to highest risk (Publish to Web with no authentication). The risk level is determined by the authentication model and the scope of potential exposure. Note that Publish to Web should be reserved exclusively for non-sensitive, publicly shareable data — Power BI tenant admins can and should disable this feature if it poses organizational risk.

Power BI Apps — The Recommended Default

A Power BI App is a packaged, read-only collection of dashboards and reports published from a workspace. Apps decouple the development environment from the consumption experience — users install the app from AppSource or a direct link and see a polished navigation structure defined by the publisher. Access is managed through app-level audiences (introduced in 2021), which allow publishers to show different subsets of content to different groups. For instance, a Finance App might expose budget dashboards to all finance staff but restrict P&L detail pages to the CFO's direct reports. This audience-based approach maps naturally to organizational hierarchies and is the recommended default for broad content distribution because it enforces read-only access, prevents accidental modification, and keeps the workspace membership list focused on content creators.

Tenant-Level Admin Controls

Underlying all individual sharing decisions is the Power BI Admin Portal, which provides tenant-wide toggles that constrain what sharing actions any user can perform. Administrators can disable "Publish to Web" entirely, restrict external sharing to specific security groups, require sensitivity labels before publishing, and control whether users can export data to Excel, CSV, or PDF. These tenant settings function as a policy enforcement layer — even if a workspace Admin has full permissions, they cannot share externally if the tenant setting disallows it. From a computer science perspective, this is a policy-based access control (PBAC) layer that sits above the RBAC model of workspace roles.

Worked Example — Configuring Access for a Sales Dashboard

Consider a scenario where a data analyst named Priya has built a Sales Performance Dashboard in Power BI Desktop. The dataset connects to an Azure SQL database containing transaction-level sales data across four regions: North, South, East, and West. The dashboard must be shared with the following groups: (1) the VP of Sales, who needs to see all regions; (2) four regional sales managers, each of whom should only see their own region's data; and (3) the executive team, who need a high-level summary page but not the detailed transaction views. Let us walk through the configuration step by step.

Configuring Sharing & RLS for a Multi-Audience Sales Dashboard
1
Step 1 — Create the WorkspacePriya creates a workspace called Sales Analytics - Production in the Power BI Service. She assigns herself and her team lead as Admins, and a fellow data engineer as a Contributor. No one outside the analytics team is added to the workspace — all consumption will occur through the published app.
Workspace created with minimal membership (3 users); follows least-privilege principle.
2
Step 2 — Define RLS Roles in Power BI DesktopBefore publishing, Priya defines two RLS roles in the .pbix file. Role RegionalManager applies the DAX filter [ManagerEmail] = USERPRINCIPALNAME() on the Sales table, dynamically restricting each manager to their own transactions. Role VPAllRegions has no filter expression, granting the VP access to all data. She validates both roles using Power BI Desktop's "View as Role" feature before publishing.
Two RLS roles defined: RegionalManager (dynamic filter) and VPAllRegions (full access).
3
Step 3 — Publish and Map RLS RolesPriya publishes the report to the Sales Analytics - Production workspace. In the Power BI Service, she navigates to the dataset's security settings and maps the four regional managers' Azure AD accounts to the RegionalManager role. She maps the VP of Sales to VPAllRegions. Importantly, she uses Azure AD security groups rather than individual emails, so new managers are automatically included when HR updates group membership.
RLS roles mapped to Azure AD security groups; dynamic membership ensures zero-touch provisioning.
4
Step 4 — Create and Configure the Power BI AppPriya publishes a Power BI App from the workspace. She creates two audiences: (a) Sales Leadership — which includes the VP and regional managers and exposes all report pages — and (b) Executive Summary — which includes the executive team's Azure AD group and exposes only the summary page. Even though the executive team receives a subset of pages, RLS still applies to filter data as appropriate. The app is published with link access restricted to the specified audiences.
Two app audiences configured: Sales Leadership (all pages) and Executive Summary (summary page only).
5
Step 5 — Verify and AuditPriya tests the configuration by using the "Test as Role" feature in the Service to confirm RLS filters are active, and she asks a colleague from the executive team to verify they see only the summary page. She then reviews the Power BI Activity Log to confirm that sharing events are correctly recorded. She schedules a quarterly access review using the workspace's access list and the admin API endpoint GET /admin/groups/{groupId}/users to programmatically audit membership.
End-to-end validation complete; audit trail confirms correct permissions and logging.

Strengths, Limitations, and Tradeoffs

No single sharing method is universally superior — each involves tradeoffs between convenience, control, and complexity. The table below summarizes the key advantages and disadvantages of each approach, helping you select the right tool for each scenario.

Sharing Method Comparison — Strengths vs. Limitations
MethodStrengthsLimitations
Power BI AppCurated UX; read-only enforcement; audience segmentation; scalable distribution via AppSource; decouples dev from consumptionRequires Pro/PPU license for recipients (unless Premium capacity); app updates must be explicitly re-published; no granular per-page permissions outside audiences
Direct Sharing (Link)Quick and ad-hoc; granular per-item control; can grant or revoke Build permission; familiar email-based workflowBecomes unmanageable at scale (link sprawl); resharing can propagate access unexpectedly; no app-like navigation structure
Workspace AccessSimple for collaborative teams; role-based; integrates with Azure AD groups; supports development workflowsGrants access to all workspace content (not per-item); Contributor and above can modify content; not suitable for pure consumers
Embed (App-owns-data)Enables white-labeled analytics in custom applications; end users don't need Power BI licenses; supports non-Azure AD usersComplex implementation (requires backend token generation); Premium/Embedded capacity required; security responsibility shifts to the embedding application
Publish to WebZero-friction sharing; works for blogs, public websites; no recipient license neededNo authentication whatsoever; anyone with the URL sees the data; indexable by search engines; must never be used for confidential data
KEY TAKEAWAY
Choosing a sharing method is analogous to choosing a transport protocol in networking. Power BI Apps are like TLS-secured HTTPS — authenticated, encrypted, and structured. Direct sharing is more like SSH tunneling for a specific purpose — precise and ad-hoc. Publish to Web is the equivalent of an open HTTP endpoint with no authentication — it works, but only when the data is meant to be completely public. Always default to the most restrictive method that satisfies the business requirement.

Connection to Advanced Governance

The sharing and access management concepts covered in this lesson form the foundation for more advanced governance frameworks in enterprise deployments. As organizations scale their Power BI adoption from a few dozen reports to thousands, they encounter challenges that require programmatic governance, automated compliance enforcement, and integration with broader data governance platforms. Understanding where basic sharing ends and advanced governance begins helps you plan architectures that remain secure and manageable at scale.

From Basic Sharing to Enterprise Governance
Basic Sharing & AccessAdvanced Governance
Manual workspace role assignment via UIAutomated provisioning via Power BI REST API and Azure DevOps pipelines
RLS defined per dataset in DesktopObject-Level Security (OLS) hiding entire tables/columns; dynamic data masking in upstream sources
Sensitivity labels applied manuallyAuto-labeling policies with Microsoft Purview; downstream inheritance to exports
Activity Log reviewed ad-hoc in the Admin PortalContinuous monitoring with Microsoft Sentinel SIEM; automated alerts for anomalous access patterns
Single workspace per projectDeployment pipelines (Dev → Test → Prod) with gated approvals and automated testing
Tenant settings managed by a single adminDelegated administration with custom admin roles; integration with Microsoft Fabric governance hub

The trajectory from basic sharing to enterprise governance follows a maturity model. In early stages, organizations rely on manual UI-driven sharing and ad-hoc access reviews. At intermediate maturity, they adopt Azure AD security groups for role mapping, enforce sensitivity labels, and use deployment pipelines. At full maturity, governance is policy-driven and automated — access requests flow through approval workflows, changes are tracked in version control, and compliance is continuously validated by automated scanners. Microsoft's Fabric platform is designed to support this full-maturity model, unifying data lake governance (OneLake) with BI governance (Power BI) under a single framework. If you continue in data engineering or analytics engineering, understanding this governance continuum will be a significant competitive advantage.

🔐 Looking Ahead: Zero Trust and BI
The industry trend toward Zero Trust Architecture ("never trust, always verify") is increasingly influencing BI platforms. In a Zero Trust model, every access request — even from users inside the corporate network — is authenticated, authorized, and encrypted. Power BI's integration with Azure Conditional Access policies (e.g., requiring MFA, blocking access from non-compliant devices, restricting by IP range) is an early implementation of this philosophy. Expect future Power BI releases to deepen Zero Trust integration with continuous access evaluation and risk-based dynamic policies.

Practice Problems

PROBLEM 1CONCEPTUAL
Explain the difference between sharing a report via a Power BI App versus sharing it with a direct link. Under what circumstances would you choose each method, and what are the security implications of each choice?
PROBLEM 2BASIC CALCULATION
A Power BI workspace has 3 Admins, 5 Members, 8 Contributors, and 40 Viewers. The organization wants to transition to an App-based distribution model where only content creators remain in the workspace. How many users should be removed from the workspace, and what role should they receive via the App instead?
PROBLEM 3INTERMEDIATE
A report is shared with User A via a direct link (read-only, no Build permission). User A is also a Member of the workspace containing the report. What is User A's effective permission on the report, and why? Would adding RLS to the dataset change User A's ability to see all rows?
PROBLEM 4APPLIED
You are architecting a Power BI solution for a healthcare organization that must comply with HIPAA. The solution includes patient outcome dashboards that must be accessible to department heads (each seeing only their department's data) and to a compliance officer who needs full access. Describe the complete access architecture, including workspace setup, RLS configuration, App distribution, and any tenant-level settings you would recommend.
PROBLEM 5CRITICAL THINKING
Power BI's permission model is additive (union-based) rather than subtractive (intersection-based). Critically evaluate this design choice. What are the advantages and disadvantages of an additive model compared to an intersection-based model? Can you identify a scenario where the additive model could lead to an unintended access escalation, and propose a mitigation strategy?

Lesson Summary

Power BI's sharing and access management system is built on a layered architecture. At the identity layer, Azure Active Directory (Entra ID) authenticates users and groups. At the container layer, workspace roles (Admin, Member, Contributor, Viewer) implement Role-Based Access Control for content management. At the distribution layer, five methods — Power BI Apps, direct sharing links, workspace access, embedding, and publish-to-web — offer progressively broader reach with correspondingly weaker authentication guarantees. At the data layer, Row-Level Security (RLS) filters query results per user using DAX expressions, operating independently of report-level sharing.

The guiding principle is least privilege: default to the most restrictive sharing method that satisfies the business need. Use Apps for broad, curated distribution; use direct sharing for ad-hoc, time-limited collaboration; and never use Publish to Web for anything other than truly public, non-sensitive data. Complement these mechanisms with tenant-level admin settings and sensitivity labels to enforce organization-wide policies, and use the Activity Log for auditability. As your organization matures, evolve toward automated governance with deployment pipelines, programmatic access reviews, and integration with broader data governance platforms like Microsoft Purview and Fabric.

Varsity Tutors • Microsoft Power BI • Sharing & Access Management