Implement security and governance
Objective coverage
- Implement workspace-level access controls
- Implement item-level access controls
- Implement row-level, column-level, object-level, and file-level access control
- Apply sensitivity labels to items
- Endorse items
Quick reference: workspace roles
Use this table when a question asks for the minimum workspace role. These are capabilities granted by the role itself. Assume required licenses and connections are already available. Separate item grants and data-security rules must be considered when the question explicitly includes them.
| Required action | Admin | Member | Contributor | Viewer |
|---|---|---|---|---|
| Delete the workspace or change its settings | Yes | No | No | No |
| Add another workspace Admin | Yes | No | No | No |
| Add new Members, Contributors, or Viewers | Yes | Yes | No | No |
| Connect the workspace to a Git repository | Yes | No | No | No |
| Create the workspace identity | Yes | No | No | No |
| Create or edit notebooks, pipelines, lakehouses, and warehouses | Yes | Yes | Yes | No |
| Run pipelines or notebooks | Yes | Yes | Yes | No |
| View pipeline and notebook execution output | Yes | Yes | Yes | Yes |
| Read lakehouse or warehouse data through its SQL endpoint | Yes | Yes | Yes | Yes |
| Read lakehouse data through Spark or OneLake APIs using the role's ReadAll grant | Yes | Yes | Yes | No |
Remember: Contributor can create and edit content but cannot manage workspace membership. Member can add users at Member or lower roles. Admin is required to add another Admin, connect Git, or delete the workspace. Viewer can read through the SQL endpoint but does not receive the same unrestricted OneLake/Spark access as the three authoring roles. SQL data-security rules can further restrict the rows or objects returned.
Source: Fabric workspace roles.
Quick reference: permissions and security settings
| Permission or setting | What it allows or restricts | What it does not do |
|---|---|---|
| Semantic-model Read | Consume data through reports and supported reading experiences | Does not by itself grant permission to create reports from the model |
| Semantic-model Build | Create new reports from an existing model and use supported external analysis tools | Does not make the user a model editor or exempt a Viewer from RLS |
| Workspace Contributor | Create and edit workspace content | Cannot add workspace members; is not restricted by semantic-model RLS like a Viewer |
| Semantic-model RLS | Restrict which rows a read-only consumer can query | Does not hide a column's metadata or secure an independent OneLake read |
| Semantic-model OLS | Restrict access to specified model tables or columns | Is not the same as hiding a field in the field list |
| Hide in report view | Remove a field from the normal authoring field list | Does not prevent an authorized query from accessing it |
| Sensitivity label | Classify information and participate in supported protection and inheritance behavior | Does not replace workspace, item, or row-access permissions |
| Promotion | Identify content its owner recommends for reuse | Does not establish organizational certification or grant access |
| Certification | Identify content approved through the organization's authorized certification process | Does not grant access or guarantee every future change is correct |
Sources: Shared semantic models, RLS, OLS, information protection, and endorsement.
Quick reference: when semantic-model RLS applies
Assume the semantic model has a correctly configured West role and the user is assigned to it. The user has no additional grants except those stated below.
| User's effective access | Can view West rows? | Can view East rows? | Can edit the semantic model through the workspace role? |
|---|---|---|---|
| Workspace Viewer | Yes | No | No |
| Workspace Viewer plus Build | Yes | No | No |
| Workspace Contributor | Yes | Yes; semantic-model RLS does not restrict this role | Yes |
| Workspace Member | Yes | Yes; semantic-model RLS does not restrict this role | Yes |
| Workspace Admin | Yes | Yes; semantic-model RLS does not restrict this role | Yes |
Two frequent exam distinctions: granting Build to a Viewer does not remove RLS. Assigning a user to both West and East RLS roles combines the rows allowed by those roles; the second role does not act as a deny. These statements concern semantic-model RLS, not every security mechanism in Fabric.
Source: RLS role behavior.
Choose the control from the requirement
| Requirement in the question | Control to select |
|---|---|
| Users can read reports but must not edit workspace content | Viewer or the specified report/app consumption path |
| Users can create their own reports from an existing model but must not edit it | Build on the semantic model, with the necessary Read access |
| A manager can query only records for their region | RLS, with read-only consumer access |
| A consumer must not query the Salary column | OLS for the semantic-model column; use the appropriate column control if the question specifies SQL instead |
| A user must read specific OneLake folders or tables | Supported OneLake security permissions for those resources |
| An owner must classify a report as Confidential | Sensitivity label |
| An organization must identify its approved model | Certification |
| An engineer must create pipelines but must not add users | Contributor |
| A user must connect a workspace to Git | Admin |
Implement workspace-level access controls
A workspace is a collaboration boundary. Its roles grant capabilities across a collection of items, so workspace membership is a broad answer to an access request. An Admin manages the workspace; a Contributor authors content; a Viewer consumes content subject to relevant data restrictions. A Member can create and edit items and add new Members, Contributors, and Viewers, but cannot add another Admin or delete the workspace. Match the role to required actions instead of treating a higher role as a convenient repair for every access error. Use managed security groups so that joiner and leaver changes can be reviewed centrally.
List the actions needed by each group: read a report, build from a semantic model, edit a notebook, deploy content, or manage membership. Choose the narrowest scope that can provide those actions. Check existing group memberships before adding another grant, because permissions can accumulate. Record who owns the group and how access will be reviewed. Then test using a representative identity outside the authoring team. For semantic-model RLS, workspace Admin, Member, and Contributor roles have edit capabilities and are not constrained like Viewers; testing only as the model author gives misleading evidence.
Northstar creates Sales Readers and Sales Authors groups. Readers receive a distribution path appropriate for consumption, while Authors receive authoring access in development. The regional manager belongs only to Readers and must see West sales. The model developer may see all regions for testing but is not the identity used to demonstrate consumer security. If someone adds the manager to Contributors to fix a report error, the team has changed the security model rather than simply repaired a broken link. Remove unnecessary edit access, diagnose the original missing permission, and repeat the consumer test.
A role name is insufficient evidence. Record effective memberships, item permissions, model role membership, and the actual endpoint tested. A report owner can succeed while a Viewer fails because the paths use different identities or capabilities. Distinguish a license or capacity restriction from an authorization restriction before changing permissions. Sensitivity labels and certification badges do not fix missing rights. The exam distinction is scope: a workspace role governs collaboration broadly, whereas a specific sharing or data policy narrows the intended action.
Scenario: A West manager unexpectedly sees East totals after being made a workspace Contributor. What should the administrator investigate?
Answer: Investigate the newly granted edit-capable role and all inherited memberships. Restore the intended consumer access, test the semantic model as the manager, and confirm both allowed West rows and denied East rows. Do not solve the issue by hiding the East slicer.
Recall: Why is an administrator a poor identity for an RLS acceptance test? When is sharing one item preferable to adding workspace membership?
Implement item-level access controls
An item is a specific Fabric artifact such as a report, semantic model, lakehouse, or warehouse. Item sharing can provide access without admitting someone to the whole workspace. The available permissions depend on the item type. In Power BI, permission to read a report and permission to build content from a semantic model answer different questions. Build supports discovery and creation of downstream analysis; it is not equivalent to permission to edit the shared semantic model. Always inspect the concrete item rather than assuming one universal permission vocabulary.
Identify the report and the semantic model it uses, including any cross-workspace dependency. Decide whether the requester is a consumer or a report author. Grant the supported permissions on the relevant items and check the distribution mechanism, such as a Power BI app. Test the intended workflow end to end. A report can be visible while its data query fails, and a model can be discoverable while an upstream data connection is unusable. Keep connection credentials and workspace edit rights out of a routine report-sharing solution.
An analyst in Marketing must create a report using Sales' approved measures. Grant the analyst the appropriate Build permission on the shared semantic model and the permissions required for their report-authoring workspace. Keep ownership of the model with Sales. The analyst should be able to reuse the Revenue measure without receiving warehouse administration. A second employee who only reads the finished report does not automatically need the same authoring capability. Validate each persona separately, including data restrictions applied to model queries.
Sharing is not transitive permission to every physical data source. Trace the identity used by the semantic-model connection and the rights evaluated by that path. Check whether permissions arrived through a link, explicit grant, app, workspace role, or group. Removing one route may leave another effective grant. If access persists after an apparent revocation, inspect all routes before concluding that the service ignored the change. For the exam, separate item discovery, report consumption, Build, edit, and direct source access; they support distinct tasks.
Scenario: A user can open a shared report but cannot author a new report against its semantic model. What permission should you investigate before adding workspace Contributor?
Answer: Check the model's Build permission and the user's authoring prerequisites. Grant only what the required authoring workflow needs, then validate that source administration and model editing remain unavailable.
Recall: Why can opening a report and querying a source directly produce different access results? How can a permission remain after one sharing link is removed?
Implement row-level, column-level, object-level, and file-level access control
Row-level security limits records; column or object controls limit attributes or model objects; file controls govern physical storage paths. A semantic model can filter West rows while a separately granted lakehouse path still exposes all rows. Security therefore belongs to an access path, not merely to a business dataset's name. A hidden model column is a presentation choice, not a confidentiality control. Semantic-model OLS can protect objects; SQL and OneLake have their own supported enforcement mechanisms, which must be matched to the actual engine.
Draw the routes from each persona to data: report to model, SQL client to endpoint, and notebook to OneLake. Select enforcement on every allowed route and remove unnecessary bypass routes. Define an entitlement table when dynamic RLS depends on the signed-in user. Validate relationships through which that filter propagates. Test one entitled identity, one identity in a different region, and an identity without an entitlement. Repeat with direct source access where it is allowed. Check the current Direct Lake variant because SQL endpoint policies and OneLake policies are not interchangeable.
Use six sales rows: four West and two East. West revenue totals 900; East revenue totals 400. A West consumer should obtain 900 from the semantic model and should not recover East rows by exporting or changing visuals. An analyst with authorized all-region access should obtain 1,300. A person with no entitlement should not default to all regions. If the West user receives 1,300 from a notebook, the model's RLS might be working perfectly while storage permissions violate the intended policy. Fix the additional route or explicitly document why that persona may use it.
Negative tests are as important as positive tests. An empty result could mean correct filtering, a broken relationship, or a failed data load. Prove that the permitted rows exist and are returned to the permitted identity before accepting a denied result. Combining roles can broaden access, so do not assume that an extra role acts as a deny. Investigate group overlap, entitlement duplicates, ambiguous filter paths, and the actual connection identity. Exam questions often distinguish hiding a field from securing it, or model security from storage security.
Scenario: A report hides Salary and filters by region, but an authorized model explorer can still query Salary. What is missing?
Answer: Hiding a field does not enforce object confidentiality. Apply the supported object or column security for that query path, test with a consumer identity, and review other routes to the same data. Keep the regional row filter as a separate control.
Recall: Why must an RLS test include a known permitted row? What changes when a Direct Lake query reads OneLake rather than relying on a SQL endpoint?
Apply sensitivity labels to items
A sensitivity label communicates a classification and can participate in supported protection and inheritance workflows. Its meaning comes from organizational policy. A label called Confidential does not, by its name alone, create a region filter or remove an existing Contributor. Classify the content according to the information it carries, then verify how that label behaves on the specific Fabric item, downstream path, and export format. Authorization, classification, and protection should agree, but they are distinct controls.
Confirm that the label is published to the relevant users and that tenant settings and licensing permit the intended feature. Inspect the existing label and the data represented by the item. Apply the correct label through the supported interface, then inspect downstream inheritance and a representative supported export. Document manual overrides and responsible owners. If a label cannot be applied, check policy availability and permissions before changing the dataset. Do not assume a label visible in one client is automatically enforced in every export or external tool.
Northstar's sales model includes customer contract rates, so its owner applies the organization's Confidential classification. The test plan checks the model, a downstream report, and an approved export route. Separately, the administrator verifies that the West manager still cannot read East data. If the report inherits the expected label but shows East rows, classification passed and authorization failed. If access is correct but the exported artifact lacks the expected supported protection, the export-policy path needs investigation. Keeping these acceptance statements separate makes the evidence useful.
Inheritance is a supported product behavior with prerequisites and exceptions, not a universal law that follows every copy of every byte. Check current documentation for the exact item pair and export route. A screenshot of a label proves the displayed classification at that point; it does not prove downstream enforcement. For an exam scenario, identify whether the requested outcome concerns classifying data, protecting an export, restricting item access, or filtering records. Applying the wrong mechanism can produce a reassuring badge without satisfying the requirement.
Scenario: An owner labels a model Confidential and expects that only Finance can open it, but Sales still has an existing sharing grant. What must change?
Answer: Review and adjust authorization independently of the classification. Keep the appropriate label, remove unauthorized access through all effective grant routes, and test as a Sales consumer. Verify any export protection as a separate requirement.
Recall: What does a visible label establish? Why should an export path be tested rather than inferred from the report label?
Endorse items
Endorsement helps users choose trusted assets. Promotion communicates that an owner considers an item useful; certification involves the organization's configured certifier process. These signals improve discovery and reuse, but neither is proof that every value is correct or that the viewer is entitled to the data. Treat the badge as an entry point into ownership, quality expectations, and review history. A certified model can still contain a faulty measure after an unreviewed change.
Define the asset's owner, intended audience, measures, refresh expectations, and support route. Review its quality checks and security before requesting certification through authorized certifiers. Use promotion for useful content that has not passed the certification process. After material changes, reassess whether the trust claim remains valid. Inspect permissions separately so that a discoverable certified asset does not become an accidental grant. If the certify option is missing, investigate organizational configuration and certifier membership rather than copying the data into a new workspace.
Two models are named Sales. One uses booked revenue; the other uses recognized revenue. Before certification, Northstar documents the accounting definition, currency treatment, date basis, and owner. The certified model becomes the recommended source for monthly recognized revenue. A marketing prototype may still be promoted for exploratory work, with a clear description of its different purpose. The badge helps readers select an appropriate asset only because its meaning is supported by definitions and governance. It should not replace checking whether a measure answers the current business question.
A trust signal can outlive its evidence unless ownership and review are explicit. When figures disagree, inspect definitions, data freshness, security context, and calculation logic rather than choosing whichever model has the most prominent badge. Endorsement is also distinct from sensitivity classification: highly sensitive content can be certified, and public content can be unreviewed. In exam scenarios, certification addresses organizational trust, labels address classification, and permissions address authorization. None of these alone replaces the others.
Scenario: Users keep rebuilding sales models because they cannot identify the approved one. Which governance action addresses discovery without broadening access?
Answer: Establish ownership and quality evidence, certify the approved model through authorized certifiers, and make its purpose discoverable through supported catalog features. Maintain separate access requests and permissions for users who are not yet authorized.
Recall: How does promotion differ from certification? What evidence should be revisited after changing the revenue definition in a certified model?
Shared Fabric foundations
Build an access decision from the outside in
Item permissions and the data plane
Data-level controls
Masking, classification, trust, and evidence
Security scenario drills
Report consumer versus direct lake access
Nora must view a governed Power BI report but must not browse lakehouse files or
query its SQL endpoint. Share the report/app through the supported consumption
path and provide only the semantic-model/report permissions that path requires.
Do not add Nora as Contributor and do not grant ReadAll merely because the
report uses OneLake-backed data. Test report rendering, build/export behavior as
required, direct SQL, direct OneLake, unrelated item discovery, and reshare.
If the report works but direct SQL fails, that may be the intended least- privilege outcome. If the report fails, trace the semantic model's connection, identity, Direct Lake/fallback behavior, model security, and source permissions instead of granting a broad workspace role. Record the successful consumer path and every denied alternate route.
Regional analysts with protected attributes
Analysts may see orders only for assigned regions and must not see personal email; Finance may see all regions and email. Start with group-based identities and ensure analysts do not inherit Admin, Member, or Contributor. Grant the appropriate item/data access, implement a region policy using a governed identity-to-region mapping, and use CLS/object design to remove Email from the analyst path. DDM may reduce accidental display but is not the primary boundary.
Test an analyst in one region, an analyst assigned to two regions, Finance, an unassigned user, a null/unknown region, and Spark/SQL/Direct Lake routes in scope. Count expected versus actual rows and columns. If an analyst sees everything, inspect additive OneLake roles and workspace write before rewriting the RLS predicate.
Labeled and certified does not mean authorized
Audit an unexpected permission change
A restricted table became readable to a contractor. Preserve the observation, identity, time zone, item, endpoint, and current effective memberships. Search Purview Audit over an appropriate window for share, permission, role, or group- related operations available to the investigation; export with query criteria. Compare audit history with current workspace roles, direct item grants, OneLake roles, SQL/model roles, and Entra group membership.
Audit can show recorded actions but may not encode the entire present effective- permission calculation, and absence can reflect retention, ingestion delay, or filter choice. After removing the unintended grant, re-test denied and approved users, identify the control gap, and add periodic access review or alerting. Keep sensitive audit evidence under restricted investigation handling.
Shortcut across security boundaries
A lakehouse shortcut points to an external storage account. The shortcut object, Fabric item, OneLake role, connection identity, and source ACL all participate. Granting the user access to see the lakehouse does not necessarily authorize the target, and a workspace Contributor can be broader than the intended narrow role. Document whether access uses a shared connection, delegated identity, or another supported credential route.
Test an owner, intended reader, denied reader, and expired/rotated connection. Deleting the shortcut removes the reference, not external data. Sensitivity and endorsement should be reviewed for the exposed Fabric item, but neither repairs the underlying authorization path.
Capstone: governed analytics workspace
A health-services analytics team (using synthetic exam data) needs engineers to build, regional analysts to query only their region, executives to consume one report, and an external auditor to inspect access-change evidence for a limited period. Design the boundary before assigning roles.
Place engineers in an Entra group with Contributor only in the development workspace. Keep workspace Admin and Member groups small and separate. Analysts and executives should not become Contributors in Production. Share the required warehouse/lakehouse or semantic/report item and grant the documented data path: regional row policy plus protected columns for analysts; report-only consumption for executives. Give the audit investigator controlled Purview Audit access and an evidence export location, not broad data authoring.
Classify sensitive items through published Purview labels and verify supported inheritance/export routes. Certify the curated semantic model only after owner, source, quality, freshness, security, documentation, and support criteria pass. Certification signals trusted reuse; the label communicates sensitivity; the permission layers enforce access.
Expected access matrix
| Identity | Workspace author | Direct curated data | Other regions | Sensitive column | Report | Audit evidence |
|---|---|---|---|---|---|---|
| Platform Admin | Yes | Elevated | Elevated | Elevated | Yes | As assigned |
| Engineer | Dev only | Dev/build need | Dev scope | Dev need | Test | No by default |
| Regional analyst | No | Assigned region | Denied | Denied | Yes | No |
| Executive | No | No direct route | No direct route | No direct route | Yes | No |
| Auditor | No | No | No | No | No | Time-bounded investigation |
| Unassigned user | No | Denied | Denied | Denied | Denied | Denied |
“Elevated” is a warning in the matrix: administrators and Contributors are poor negative-test identities because workspace write can supersede narrow OneLake grants. Test each persona with clean membership and record effective groups, endpoint, action, expected and actual result.
Changes and investigation
Simulate four events: an analyst changes region, an engineer leaves, a label is changed, and an unintended direct item share is added. Group-driven regional mapping and engineer access should update through governed identity processes. The label change follows information-protection policy and review. The direct share should be discovered through access review and investigated through the relevant audit activities and current effective-permission state.
Preserve audit query criteria, UTC/local time interpretation, operation/user/item identifiers, exported evidence, and investigator. Remove the unintended share, retest both allowed and denied paths, and add a preventive control. Do not infer from a missing search result that no change occurred until retention, ingestion delay, licensing, operation naming, and filters are considered.
Acceptance evidence
The capstone passes when least-privilege groups and owners are documented; workspace, item, OneLake/SQL/model policies form one traced path; regional and column tests include denied cases; direct lake access remains unavailable to report-only users; label and endorsement behavior is verified separately from authorization; shortcut/source credentials are owned and rotated; and a benign permission change can be found, explained, remediated, and retested.
Sources and provenance
The measured objectives follow the DP-600 blueprint effective July 21, 2026. Product references were retrieved for this edition; the book manifest records the actual retrieval time and SHA-256 of each downloaded HTML response. Examples and scenarios are original teaching material. Shared field guides reuse this project’s original DP-700 writing where the underlying Fabric concepts apply. Microsoft Learn remains authoritative, especially for current feature support and capacity limits.
- Study guide for Exam DP-600: Implementing Analytics Solutions Using Microsoft Fabric
- Roles in workspaces in Microsoft Fabric - Microsoft Fabric
- Row-level security (RLS) with Power BI - Microsoft Fabric
- Object-Level Security (OLS) with Power BI - Microsoft Fabric
- Permission model - Microsoft Fabric
- OneLake security roles, permissions, and scopes - Microsoft Fabric
- Dynamic Data Masking in Fabric Data Warehouse - Microsoft Fabric
- Information protection in Fabric - Microsoft Fabric
- Endorsement overview - Microsoft Fabric
- Track user activities in Microsoft Fabric - Microsoft Fabric