Hiding sensitive column values behind a dynamic mask
Dynamic data masking (DDM) obscures sensitive data in query results for non-privileged users while leaving the underlying data in storage unchanged. It is applied at the column level on tables in a SQL analytics endpoint or Warehouse in Microsoft Fabric, using built-in masking functions to control how much of the data is exposed.
Must-know
- DDM works on Fabric Warehouse tables and SQL analytics endpoint tables (Lakehouse), configured via T-SQL (ADD MASKED WITH) or through the Fabric portal UI on the column.
- Available masking functions include default() (fully masks based on data type), email() (masks email format, e.g. [email protected]), random() (numeric range masking), and partial() (custom prefix/padding/suffix exposure).
- Masking is enforced at query time only: it does not encrypt data at rest, and users with sufficient permission (e.g., UNMASK permission or admin/workspace roles) can bypass the mask and see plaintext.
- By default, workspace admins and members with elevated roles can see unmasked data unless explicitly restricted; masking is not a substitute for proper access control or encryption.
- Masking rules are simple obfuscation and can potentially be inferred/bypassed via inference attacks (e.g., brute-forcing ranges or using WHERE clauses), so it should be combined with other security layers like row-level security and object-level permissions.
- DDM policies must be created/altered via T-SQL or the portal by users with ALTER ANY MASK permission, and grants/revokes of UNMASK permission control who sees the real values.
A data engineer needs to mask a 16-digit credit card number column in a Fabric Warehouse table so that all digits are hidden except the last four, which must remain visible to every user who can query the table. Which masking rule accomplishes this?
What you have tried across DP-700's objectives, not a readiness score.
Implement and manage an analytics solution
- Tuning a workspace's Spark compute defaults and pool sizing
- Grouping and governing workspaces with a Fabric domain
- Setting per-workspace defaults for OneLake storage
- Standing up an Airflow job runtime inside a workspace
- Connecting a workspace to a Git repository
- Managing schema changes with a database project
- Promoting Fabric items across environments with a deployment pipeline
- Granting and restricting access at the workspace level
- Locking down who can open a single Fabric item
- Layering row, column, object, and file-level security rules
- Hiding sensitive column values behind a dynamic mask
- Classifying Fabric items with a sensitivity label
- Marking a trusted item as promoted or certified
- Reading a Fabric audit log to see who did what
- Securing data at the OneLake storage layer
- Picking the right build tool among a dataflow, a pipeline, and a notebook
- Kicking off a job on a schedule or in response to an event
- Chaining notebooks and pipelines together with parameters and dynamic expressions
Ingest and transform data
- Deciding between a full reload and an incremental load
- Shaping source data ahead of a dimensional-model load
- Landing a continuous stream of data into storage
- Matching a workload to the right Fabric data store
- Picking a transformation tool from dataflows, notebooks, KQL, or T-SQL
- Linking to external data without copying it via a OneLake shortcut
- Keeping a source database continuously replicated into Fabric
- Moving data into Fabric with a data pipeline
- Writing transform logic in PySpark, SQL, or KQL
- Flattening related tables into one wide, denormalized shape
- Rolling records up with group-by aggregations
- Dealing with duplicate rows, gaps, and data that arrives late
- Selecting the right engine for a real-time workload
- Weighing storage-in-place against a linked shortcut for a Real-Time Intelligence table
- Weighing an accelerated shortcut against a standard one for query speed
- Routing and reshaping live events with an Eventstream
- Handling a continuous flow of records with Spark's structured streaming
- Querying and reshaping event data with KQL
- Aggregating a stream over sliding or tumbling time windows
Monitor and optimize an analytics solution
- Watching an ingestion job's health and progress
- Watching a transformation job's health and progress
- Tracking whether a semantic model's refresh actually succeeded
- Setting up an alert to catch a failure early
- Tracking down why a pipeline run failed and fixing it
- Diagnosing why a dataflow run failed
- Debugging a notebook run that failed
- Troubleshooting a misbehaving Eventhouse
- Troubleshooting a misbehaving Eventstream
- Debugging a T-SQL statement that failed
- Fixing a broken or unreachable shortcut
- Speeding up a Lakehouse table with maintenance operations
- Making a slow pipeline run faster
- Tuning a Fabric warehouse for faster queries
- Improving throughput on real-time streaming components
- Tuning a Spark job to run faster and cheaper
- Making a slow query run faster
Coverage checked against the published exam guide on Aug 11, 2026.
These are independent practice questions, written against this certification's published exam guide. They are not the certification vendor's own questions, and not the real exam.