Compliance review checklist

A practical checklist for a Microsoft Fabric security and compliance review — identity, data protection, audit, and change control, with who owns each control and how often it repeats.

Use this before an internal audit, a SOC 2 / ISO evidence request, or a regulator conversation. Each item names what proves it, the owner who signs off, and the cadence it repeats on.

The Governance & Security Framework pack turns most of these into runnable artifacts — the OneLake security model as a PR-reviewed file, a continuous audit-log export, and an access-review worksheet.

Identity & access

ControlProofOwnerCadence
OneLake security roles are modelled on Entra groups, not individualsThe role model file + apply job historyData ownerOn change
Workspace Admin / Member membership is minimal and named (those roles bypass OneLake security)A current list with a reason per memberWorkspace adminQuarterly
Trusted storage access uses workspace identity, not stored keysRole assignments + storage network rulesPlatformOn new storage
Service principals: least privilege, secrets in Key Vault, rotation definedSPN inventory + secret policyPlatformPer policy
Direct Lake models use SSO to OneLake (not a fixed identity) for regulated dataModel settings screenshot / exportBI leadQuarterly

Data protection

ControlProofOwnerCadence
Sensitive tables and columns are inventoried with a classificationClassification mapData ownerQuarterly
RLS / CLS verified with a real member account across Spark, SQL endpoint, and a Direct Lake reportTest evidence per roleData ownerOn change + quarterly
Retention set on tables to match classification (delta.deletedFileRetentionDuration)Table properties exportData engOn new table
Default-deny confirmed — a principal with no role sees nothingNegative test evidenceData ownerQuarterly

Audit & monitoring

ControlProofOwnerCadence
Unified audit log exported continuously to durable storage / SIEM (portal keeps only ~180 days)Export job runs + row countsSecurityDaily job, monthly check
Workspace Monitoring enabled on regulated workspaces with an explicit Eventhouse retention policyMonitoring configPlatformOn new workspace
Alerts on: permission changes to regulated workspaces, workspace identity changes, OneLake role editsSIEM rulesSecurityOn setup
Quarterly access review — granted vs. actually used, exceptions signed offReview worksheet with sign-offData ownerQuarterly

Change control

ControlProofOwnerCadence
Security model changes go through pull request (the spec is in Git)PR historyData ownerPer change
Tenant settings snapshotted and diffedTimestamped JSON snapshots in GitFabric adminWeekly
Prod deploys are gated — no manual publish in prodDeployment pipeline / CI configPlatformPer deploy

How to read "who can read this table"

The effective answer is the intersection of every layer: tenant settings → capacity → workspace role → item permission → OneLake security. Document the whole chain per regulated dataset — see OneLake security for the layer model, and the pack's CONTROL-MATRIX.md template for a fill-in-the-blanks version.

Stay ahead of Fabric changes

Fabric runtime changes, API updates, and deprecations. No spam, unsubscribe anytime.

On this page