1---2name: fabric-governance3description: Use when configuring Microsoft Fabric workspace security, sensitivity labels, item-level permissions, endorsement, domain management, or row-level security in semantic models. Covers DP-700 governance and security domain.4---56# Fabric Governance78## When to Use9- Configuring workspace roles and item-level permissions in Microsoft Fabric10- Applying sensitivity labels from Microsoft Purview to Fabric items11- Setting up endorsement (Promoted or Certified) for data quality signaling12- Designing domain structure and workspace organization for enterprise Fabric deployment13- Implementing row-level security (RLS) in semantic models14- Preparing for Microsoft Fabric Data Engineer Associate (DP-700) exam1516## Core Jobs1718### 1. Workspace Roles19| Role | Permissions |20|------|-------------|21| **Admin** | Full control: manage membership, delete workspace, publish apps, all Contributor actions |22| **Member** | Create/edit/delete items, share items, manage item permissions, all Contributor actions |23| **Contributor** | Create/edit/delete items in workspace; cannot share or manage membership |24| **Viewer** | Read and view items; cannot create or edit; no access to underlying data by default |2526- Workspace roles apply to **ALL items** in the workspace — no item-level granularity at this level27- Use **item-level permissions** for selective sharing outside the workspace2829### 2. Item-Level Permissions30- Share specific Fabric items (Lakehouse, Semantic Model, Report) with users outside the workspace31- Lakehouse item permissions:32 - **Read** — view metadata; cannot query data33 - **ReadData** — read data via SQL analytics endpoint or Spark34 - **ReadAll** — read all files/tables including via OneLake APIs35 - **Write** — modify Lakehouse data (for Pipelines, Dataflows writing to Lakehouse)36- Semantic model: share with Build permission to allow report creation37- Useful pattern: share Gold layer Lakehouse SQL endpoint with BI team without workspace access3839### 3. OneLake Data Access Roles (Preview)40- Grant read access to **specific folders** within OneLake (sub-Lakehouse level)41- Define custom roles with path-based access (e.g., `/Tables/orders` but not `/Tables/hr_data`)42- Enables fine-grained data access without exposing entire Lakehouse43- Replaces older OneLake ACL-based access in newer Fabric experiences4445### 4. Sensitivity Labels46- Source: **Microsoft Purview Information Protection** labels (e.g., Public, Confidential, Highly Confidential)47- Apply to Fabric items: Semantic Models, Reports, Lakehouses, Dataflows48- **Label inheritance** (downstream propagation):49 - Dataset/Semantic model with label → exported reports and dashboards inherit the label50 - Higher sensitivity wins when items have conflicting labels51- Labels control: encryption, access restrictions, watermarking (enforced by Purview policy)52- Tenant admin must enable label inheritance in Fabric Admin portal5354### 5. Endorsement55| Level | Who can apply | Meaning |56|-------|---------------|---------|57| **Promoted** | Workspace admin or Member | Trusted within workspace; team-level signal |58| **Certified** | Designated certifier (tenant setting) | Organization-wide trusted; highest quality signal |5960- Endorsement appears on item cards in Fabric workspace and Power BI service61- Certified = must be explicitly enabled by tenant admin; certifiers assigned per domain62- Endorsed items surface higher in search results6364### 6. Domain Management65- **Domain** = organizational grouping of workspaces (e.g., Finance, Marketing, HR)66- Workspaces can belong to **one domain** at a time67- **Domain admin** role: manage domain settings; assign workspaces to domain68- Domain-level settings: default sensitivity labels, certification policy, delegate certifiers69- Use domains for: decentralized governance, business unit ownership, cross-workspace search scoping7071### 7. Row-Level Security (RLS)72- Defined in **Semantic Model** (not Lakehouse or Warehouse directly)73- DAX filter expressions restrict rows based on `USERPRINCIPALNAME()` or role membership74- Example: `[Region] = LOOKUPVALUE(UserRegion[Region], UserRegion[Email], USERPRINCIPALNAME())`75- RLS roles assigned to Entra ID users or groups76- Dynamic RLS: single role with DAX expression; static RLS: separate roles per group77- RLS does NOT apply when querying Lakehouse SQL analytics endpoint directly (only in semantic model)7879## Key Concepts80- **Workspace roles** — Admin > Member > Contributor > Viewer; apply to all items in workspace81- **Item permissions** — selective sharing of individual items with users outside workspace82- **Sensitivity label** — Purview-based classification; flows downstream to reports and exports83- **Endorsement** — Promoted (workspace-level trust) or Certified (org-level trust)84- **Domain** — logical grouping of workspaces; governance boundary for enterprise Fabric85- **RLS** — row-level security in semantic model; restricts data rows per user identity86- **OneLake data access role** — path-based access control within OneLake storage8788## Checklist89- [ ] Workspace roles assigned with least privilege (Viewer for read-only consumers)?90- [ ] Item-level permissions used for sharing with users outside the workspace?91- [ ] Sensitivity labels applied to Semantic Models and Lakehouses containing sensitive data?92- [ ] Certified endorsement configured for organization-wide trusted datasets?93- [ ] Domains created to group workspaces by business unit or data domain?94- [ ] RLS implemented in Semantic Model for user-specific data filtering?95- [ ] OneLake data access roles configured for sub-Lakehouse folder-level control?9697## Output Format98- 🔴 **Critical** — Viewer-role users accessing Lakehouse SQL endpoint without explicit ReadData permission (Viewer does not auto-grant data read)99- 🔴 **Critical** — RLS defined in Lakehouse (not supported); RLS only works in Semantic Model layer100- 🟡 **Warning** — sharing workspace access when item-level sharing would provide least-privilege access101- 🟡 **Warning** — sensitivity labels not propagating to exported reports (check tenant label inheritance setting)102- 🟢 **Suggestion** — implement Certified endorsement on Gold layer semantic models to guide BI users to trusted data103104## Exam Tips105- **Workspace roles apply to ALL items** — Contributor can create/edit items but CANNOT share or manage workspace membership106- **Item permissions for selective sharing** — share specific Lakehouse or Semantic Model with users without granting workspace access107- **Sensitivity labels flow downstream** — labeled semantic model → labeled reports and dashboards; higher sensitivity wins108- **Certified endorsement = tenant admin must enable** — requires explicit configuration; certifiers are designated users per domain109- **OneLake data access roles** — grant read access to specific OneLake folders (sub-Lakehouse level); newer, more granular than workspace roles110- **Domain = one workspace belongs to one domain** — workspaces cannot be in multiple domains; use for organizational governance boundaries