👤 Who is this for?

IT Admin Data Architect Platform Owner — This section covers data governance frameworks, Microsoft Purview integration, security models, workspace roles, RLS/CLS, and network security in Fabric.

Governance

Governance

Establishing data governance, cataloging, quality, and trust across your Fabric environment.

Governance Framework

Effective governance in Fabric combines Microsoft Purview for cataloging and lineage, endorsement for trust signals, sensitivity labels for data protection, and organizational policies for access control.

Microsoft Purview Integration

Data Domains & Ownership

Organize your Fabric workspaces into logical domains (e.g., Finance, HR, Marketing) to align with business ownership.

Endorsement

Fabric provides two endorsement levels to signal trust in artifacts:

Promoted

Workspace members can promote artifacts to indicate they're ready for broader use. A lightweight signal that says "this is reliable."

Certified

Only designated reviewers can certify artifacts. This is the highest trust level — it means the artifact meets organizational quality and governance standards.

✅ Best Practice

Establish a certification process: define criteria (documentation, testing, data quality checks) that an artifact must pass before being certified. Only Gold-layer datasets and production reports should be certified.

Sensitivity Labels

Microsoft Information Protection (MIP) sensitivity labels can be applied to Fabric artifacts to classify and protect data:

Data Quality

Security

Security

Securing your data at every layer — from workspace access to row-level permissions.

Security Model Overview

Fabric implements a defense-in-depth approach with multiple security layers: identity, workspace, item, data, and network.

Workspace Roles

Every workspace has four built-in roles that control what users can do:

RolePermissionsTypical Assignment
AdminFull control: manage access, delete workspace, configure settingsWorkspace owners, IT admins
MemberCreate, edit, delete artifacts; publish reports; share itemsData engineers, developers
ContributorCreate and edit artifacts, but cannot share or manage accessAnalysts, junior developers
ViewerView and interact with artifacts (read-only)Business users, stakeholders

Data-Level Security

Row-Level Security (RLS)

RLS restricts data access at the row level based on user identity. Configure RLS in Power BI semantic models or Warehouse T-SQL:

T-SQL — Row-Level Security in Warehouse
-- Create a security predicate function
CREATE FUNCTION dbo.fn_security_predicate(@Region AS nvarchar(50))
RETURNS TABLE
WITH SCHEMABINDING
AS
RETURN SELECT 1 AS result
WHERE @Region = USER_NAME()
   OR USER_NAME() = 'admin@contoso.com';

-- Apply security policy to a table
CREATE SECURITY POLICY RegionFilter
ADD FILTER PREDICATE dbo.fn_security_predicate(Region)
ON dbo.SalesData
WITH (STATE = ON);

Column-Level Security (CLS)

CLS restricts access to specific columns. Use GRANT and DENY statements on individual columns in Fabric Warehouse:

T-SQL — Column-Level Security
-- Deny access to salary column for a specific role
DENY SELECT ON dbo.Employees(Salary) TO [LimitedAccess];

-- Grant access to only specific columns
GRANT SELECT ON dbo.Employees(EmployeeId, Name, Department) TO [LimitedAccess];

OneLake Data Access Roles

OneLake data access roles provide fine-grained access control at the folder level within a lakehouse. You can restrict users to specific folders or tables without granting access to the entire lakehouse.

Network Security

🔒 Security Checklist

Enable Entra ID Conditional Access  |  Implement RLS on all customer-facing reports  |  Use service principals (not user accounts) for automation  |  Enable audit logs  |  Apply sensitivity labels  |  Review workspace access quarterly

Assessment

Governance-First Assessment

Assess your organization's governance maturity across domains, development process, security, and workspace design — then get tailored recommendations grounded in Microsoft's official best practices.

🎯 How this works

Answer 12 questions across 4 categories. You'll receive a governance maturity score with per-category breakdowns and actionable recommendations for building a governance-first Fabric environment.

Domains & Ownership

1. How are business domains defined in your organization?

No formal domain definitions
🔶 Informally understood, not mapped to Fabric
Clearly defined domains with subdomains and assigned domain admins
Domains & Ownership

2. Do domain owners have accountability for data quality and access?

No ownership model
🔶 Some ownership, inconsistent enforcement
Each domain has designated owners and data stewards with delegated governance
Domains & Ownership

3. How do teams discover and request access to data from other domains?

Ad-hoc / email requests
🔶 Shared documentation exists but not governed
Microsoft Purview data catalog with self-service access and endorsement signals
Development Process

4. How do you manage changes to Fabric artifacts (notebooks, pipelines, reports)?

Direct edits in production
🔶 Some Git usage, no branch policies
Git-integrated with branch policies, pull requests & code reviews
Development Process

5. Do you have separate environments (Dev / Test / Prod)?

Everything in one workspace
🔶 Dev and Prod only, no formal separation
Full Dev → Test → Prod workspaces mapped to Fabric deployment pipelines
Development Process

6. How are deployments promoted across environments?

Manual copy/paste between workspaces
🔶 Fabric deployment pipelines, manual trigger
Automated CI/CD with approval gates and variable libraries for env config
Security & Access

7. How are workspace roles assigned?

Broad access — most users are Members or Admins
🔶 Some role differentiation, assigned to individuals
Least-privilege via Entra ID security groups: Viewers by default, elevated only where needed
Security & Access

8. Do you enforce data-level security (RLS, CLS, OneLake roles)?

No data-level security
🔶 RLS on some reports only
Layered: RLS/CLS + OneLake data access roles + dynamic data masking
Security & Access

9. Are sensitivity labels and conditional access configured?

No labels or conditional access
🔶 Labels defined but not consistently applied
Auto-labeling policies with downstream inheritance + Entra conditional access enforced
Logical Workspaces

10. How is your workspace structure organized?

No naming convention, organic growth
🔶 Some structure, not consistently enforced
Standardized naming + domain-aligned + environment-separated (Dev/Test/Prod)
Logical Workspaces

11. How do you manage capacity assignment for workspaces?

All workspaces on shared/trial capacity
🔶 Some capacity separation (dev vs prod)
Dedicated capacities per domain/tier with monitoring via admin workspace
Logical Workspaces

12. Do you use Fabric domains to logically group workspaces?

Not using Fabric domains feature
🔶 Domains created but not actively governed
Domains + subdomains mapped to business units with delegated policies per domain
Governance Guide

Building a Governance-First Fabric Environment

A practical blueprint for designing your Fabric estate with governance, security, and access control from day one — based on official Microsoft best practices.

💡 Governance-First Principle

Don't retrofit governance after deployment. Design your Fabric environment with domains, security, workspace structure, and development lifecycle defined upfront. This avoids the costly cycle of organic sprawl → audit failures → forced refactoring.

🏛️ Domain Strategy & Ownership

Organize your Fabric estate around business domains — not technical teams or projects. Each domain should have clear ownership and delegated governance authority.

Define Domains & Subdomains

Map domains to major business units (Finance, Sales, HR, Marketing). Use subdomains to keep categories manageable (e.g., Sales → Domestic, International). Assign a domain admin with delegated control over domain policies.

Data Stewardship Model

Appoint data stewards per domain responsible for quality, access requests, and metadata curation. Stewards work with the domain admin but focus on hands-on data governance — ensuring datasets are documented, endorsed, and accurate.

Data Discovery via Purview

Enable Microsoft Purview for cataloging, lineage, and glossary. Use endorsement (Promoted / Certified) to signal trust. Data consumers should be able to discover, evaluate, and request access to datasets through the catalog — not ad-hoc emails.

📐 Workspace Topology

Workspaces are both a security boundary and an operational boundary in Fabric. Design them intentionally before creating any content.

Environment Separation

Create Dev / Test / Prod workspaces per domain or data product. Example: Finance-Dev, Finance-Test, Finance-Prod. Never develop directly in production workspaces.

Naming Conventions

Enforce a consistent naming standard: [Domain]-[Product]-[Env]. Examples: Sales-Analytics-Prod, HR-DataLake-Dev. This enables at-a-glance identification and automated governance policies.

Capacity Assignment

Assign workspaces to capacities based on criticality. Production workloads on Fabric/Premium capacities for SLA guarantees. Development/test on smaller or trial capacities. Monitor utilization via the admin monitoring workspace.

🔐 Security Layering

Fabric implements defense-in-depth with five security layers. A governance-first environment configures all layers before exposing data to users.

LayerMechanismGovernance-First Action
1. IdentityEntra ID, Conditional AccessEnforce MFA, restrict access by location/device via conditional access policies
2. WorkspaceWorkspace Roles (Admin/Member/Contributor/Viewer)Assign via Entra ID security groups, default to Viewer, elevate only with justification
3. ItemItem-level permissions, sharingGrant per-item read/reshare only for cross-domain sharing scenarios
4. DataRLS, CLS, OneLake data access roles, dynamic data maskingConfigure OneLake folder-level roles for lakehouse data; layer RLS/CLS on warehouses and semantic models; mask PII columns
5. NetworkPrivate endpoints, managed VNets, trusted workspace accessEnable private endpoints for sensitive workloads; use managed VNets for Spark outbound traffic control
🔒 Day-One Security Checklist

Enable Entra Conditional Access  |  Create security groups per workspace role  |  Configure OneLake data access roles  |  Apply sensitivity labels with auto-labeling  |  Enable audit logs  |  Set up quarterly access reviews

🚀 Development Lifecycle

A governed development lifecycle ensures changes are tracked, reviewed, tested, and promoted safely — not edited directly in production.

Git Integration

Connect all workspaces to Azure DevOps or GitHub repositories. Use branch policies requiring pull requests and at least one reviewer. Map branches to environments: feature/* → Dev, main → Prod.

Deployment Pipelines

Use Fabric's native deployment pipelines to promote artifacts across Dev → Test → Prod stages. Configure approval gates so production deployments require sign-off from domain owners or data stewards.

Environment Configuration

Use variable libraries to manage environment-specific settings (connection strings, capacity, parameters) without manual changes. Automate deployment orchestration via GitHub Actions or Azure Pipelines.

✅ Git-Centric vs Pipeline-Centric

Microsoft offers two CI/CD patterns: Git-centric (each environment maps to a branch; deploy by merging) and Pipeline-centric (single branch linked to Dev; deploy via Fabric deployment pipelines). Choose based on your team's maturity. Pipeline-centric is simpler to start; Git-centric offers more flexibility for large teams.