DP-700 - Implement and Manage an Analytics Solution (34% of the exam) - Section 1.4

Implement row-level, column-level, object-level, and folder or file-level access controls, and dynamic data masking.

Define row-level security, column-level security, object-level security, and OneLake folder and file-level security as distinct access-control mechanisms. Apply dynamic data masking to obscure sensitive column values without removing the row from query results.

row-level security (RLS)column-level security (CLS)object-level security (OLS)OneLake folder and file-level securitydynamic data masking

Practice question for this objective

Free sampleImplement and Manage an Analytics Solutionhard

A team enabled dynamic data masking on the email column of a Microsoft Fabric Warehouse table and assumes this stops a particular analyst group from reading the real email addresses. During review, a member of that group reconstructs full addresses by writing a query with a WHERE clause that tests candidate values against the masked column. The team needs to genuinely prevent that group from obtaining the real values. Which action best closes this gap?

  • AIncrease the complexity of the dynamic data masking function on the email column so the masked output reveals fewer characters to the analyst group.
  • BAdd a row-level security predicate so the analyst group retrieves only rows whose email addresses are already considered non-sensitive.
  • CGrant the analyst group the unmask permission on the table so the masking is applied consistently and the inference behaviour stops.
  • DApply column-level security by denying the analyst group SELECT on the email column, so they cannot query or infer the real values at all. Correct
Treat dynamic data masking as display obfuscation, not access control, and use column-level security to truly block access to a sensitive column. Dynamic data masking only changes the value shown in results, so a user with SELECT on the column can still filter on it and infer the true value through repeated predicate tests. Column-level security denies SELECT on the column, removing it from query scope entirely, which is the only listed option that actually prevents the group from obtaining or inferring the real addresses.

Why A is wrong: A stronger mask still leaves the underlying value queryable through predicates and inference, so the group can keep reconstructing addresses; masking changes display, not the access that enables the inference attack.

Why B is wrong: Row-level security limits which rows appear but still returns the real email values on the rows the group can see, so it does not protect the sensitive addresses that remain in scope for that group.

Why C is wrong: Granting the unmask permission would let the group read every real address outright, which is the opposite of the goal; it removes the protection rather than strengthening it.

Why D is correct: Denying SELECT on the email column removes the group's ability to reference it in queries, including WHERE-clause inference, so the real values are genuinely unreachable; masking alone never blocks access, only display.

See more DP-700 practice questions, answers explained.

Exam traps in Implement and Manage an Analytics Solution

Answers that look right on this material and are not. Each one is a distractor from a different question in the DP-700 bank for this domain.

  • Object-level security that hides the entire Customers table from the agent role so the protected card column can never be reached by agents.

    Why it is wrong: Hiding the whole table blocks agents from the customer rows and columns they legitimately need to do their work, so it over-restricts rather than enforcing the per-row and per-value rules the scenario describes.

  • Apply dynamic data masking to the columns produced when the regulated files are read so analysts see masked values from the Files/regulated folder.

    Why it is wrong: Dynamic data masking applies to columns in a warehouse query result, not to raw files in OneLake folders; it cannot stop a Spark notebook from reading the underlying files at the storage path.

  • The role takes effect only inside Spark notebooks, so the analysts could still bypass it by reading the same folders through the SQL analytics endpoint.

    Why it is wrong: It is tempting because engines feel separate, but OneLake data access roles apply at the storage layer and are enforced across Spark, OneLake APIs, and the SQL endpoint alike.

Examworthy is not affiliated with or endorsed by Microsoft. Original, blueprint-aligned practice material only.