Courseiva

Azure Synapse Column-Level Security — Restrict Column Access with GRANT

You need to implement column-level security in Azure Synapse Analytics to restrict access to salary information. Only users with the 'HRManager' role should see salary columns. Which feature should you use?

Quick Answer

Column-level security does exactly what its name suggests: it lets you grant SELECT permission on specific columns of a table to specific users or roles, so a query from someone without that grant simply cannot retrieve data from the restricted column at all, and fails outright rather than returning something. Setting the GRANT to apply only to the salary columns and only to the HRManager role means anyone outside that role loses access to just those columns while retaining normal access to the rest of the table. Row-level security restricts which entire rows a user can see, filtering the table horizontally rather than restricting specific columns, so it would not help when the goal is hiding one type of information across every row. Dynamic data masking looks similar since it also affects what a user sees in a column, but it works by obscuring or replacing the values shown, not by blocking access outright; the underlying access still happens, just with masked output rather than a true security boundary. Azure Purview is a data governance and cataloging tool, useful for discovering and classifying sensitive data, but it does not enforce access restrictions. When you see a requirement to restrict specific columns to a specific role, column-level security via GRANT is the mechanism built for exactly that.

⚠ Common exam trap

Candidates may confuse row-level security (RLS) with column-level security. RLS controls row access via security predicates, while CLS controls column access via GRANT.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

Column-level security using GRANT on columns

Column-level security (CLS) in Azure Synapse Analytics uses GRANT on specific columns to restrict access. Option A is incorrect because row-level security filters rows, not columns. Option B is incorrect because dynamic data masking obfuscates data but does not prevent access. Option D is incorrect because Azure Purview is a governance tool, not a security enforcement mechanism.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Row-level security using security predicates

    Why it's wrong here

    RLS filters rows, not columns.

  • Dynamic data masking

    Why it's wrong here

    DDM masks data but does not prevent users from seeing the masked column.

  • Column-level security using GRANT on columns

    Why this is correct

    CLS allows granting SELECT on specific columns to roles.

  • Azure Purview data classification

    Why it's wrong here

    Purview classifies data but does not enforce access control.

Go deeper

Related to this question

About these practice questions

This DP-203 question is part of Courseiva's 760-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

Same concept, more angles

1 more way this is tested on DP-203

These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.

Variation 1. An organization is using Azure Synapse Analytics and wants to implement column-level security to restrict access to sensitive columns. Which feature should they use?

easy
  • A.Dynamic data masking
  • B.Azure Purview
  • C.Column-level security using GRANT
  • D.Row-level security

Why C: Column-level security in Azure Synapse Analytics is implemented using GRANT statements on specific columns, restricting access to sensitive columns. Option A is incorrect because dynamic data masking obfuscates data at query time but does not prevent access. Option B is incorrect because Azure Purview is a data governance service, not for access control. Option D is incorrect because row-level security filters rows, not columns.

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This DP-203 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DP-203 exam.