How to Implement Row-Level Security in Fabric Warehouse?
Short answer
DE Create a FUNCTION to define the filter predicate and a SECURITY POLICY to bind it to Table1.
Question
Key Takeaways
Implementing RLS in a Fabric warehouse tests your knowledge of T-SQL security objects, specifically the requirement to create an inline table-valued function and a security policy to enforce the filter.
Implementing row-level security (RLS) in a Microsoft Fabric warehouse requires creating a filter predicate function and a security policy. This page explains why FUNCTION and SECURITY POLICY are the correct objects to restrict user access to their respective data.
Common mistake: Selecting DATABASE ROLE (A) instead of SECURITY POLICY (E), assuming roles alone enforce the filtering logic rather than just grouping members for the predicate.
Expert Analysis
Why the Answer Is Correct
To implement row-level security (RLS) in a Fabric warehouse, you must first create an inline table-valued function (FUNCTION) that defines the filter predicate logic, checking session context or user names. Then, you create a SECURITY POLICY that binds this function to the target table, enforcing the filter automatically whenever data is accessed. These two objects work together to restrict users to seeing only their respective rows.Why the Other Options Are Wrong
DATABASE ROLE (A) is used to group principals who will be subject to the RLS policy, but the role itself does not define or enforce the row filtering. STORED PROCEDURE (B) cannot be used as a filter predicate in a security policy; only an inline table-valued function is supported. CONSTRAINT (C) enforces data integrity (like foreign keys or check constraints) but has no mechanism to filter rows based on user identity.Community Comment Notes
As adane noted, you must "create a FUNCTION to define row-filtering logic and a SECURITY POLICY to enforce it." Other comments like nappi1's suggestion of "AE" mistakenly substitute the database role for the security policy, confusing role membership with policy enforcement.Official Reference
https://learn.microsoft.com/en-us/fabric/data-warehouse/row-level-security
This link opens the official vendor documentation in a new tab.
Exam Strategy
For RLS questions in Fabric, remember the two-step T-SQL pattern: a predicate function and a security policy. Do not confuse database roles, which merely group users, with security policies, which actually bind the filter logic to tables.
Community Votes
85% of anonymous learners picked answer DE. Votes are pick records left by other test-takers — they are not the verified answer.
Discussion 3 contributions
Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors, not of islever. The comments shown first are the most substantive of the thread — ranked by depth, community endorsement and relevance; expand the list below to read the rest.
From public community threads 3
-
adane 👍 10To implement RLS for Table1 in Fabric, create a FUNCTION to define row-filtering logic and a SECURITY POLICY to enforce it. This ensures users only see the rows they are permitted to access.
-
zmeya 👍 1From ChatGPT: The correct answer to implement Row-Level Security (RLS) on a table in Microsoft Fabric Warehouse is: D. FUNCTION E. SECURITY POLICY Explanation: FUNCTION (D): Used to define a security function that filters the rows of the table based on the user's identity or specific criteria. SECURITY POLICY (E): Applies the security function to the table to restrict access to rows according to the defined criteria. This ensures that users can only see the data they are authorized to query, meeting the RLS requirements.
-
nappi1 👍 2correct
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All DP-600 Questions
Access 115 questions with complete answers and detailed explanations.
View Full DP-600 Practice Test →