Which access statement is right for row-level security?
Why B is the answer
It filters which rows a user can see in a table
Row-level security filters results at query time. The data remains stored.
In detail
- Row-level security filters which rows a user can see.
- It applies when the data is read.
Use case
An illustrative scenario, not a real incident.
A regional table holds all rows, and each analyst's query is filtered by a security predicate, so nothing is copied or removed.
See it in different ways
flowchart TD A["Workspace roles"] --> B["Item permissions"] B --> C["Object-level security"] C --> D["Column-level security"] D --> E["Row-level security"]
mindmap
root((Access))
Workspace
Admin
Member
Contributor
Viewer
Item
Permission on one item
Data
Row-level security
Column-level security
Dynamic data masking
Governance
Sensitivity labels
Domainsflowchart LR S0["User runs query"] --> S1["Security predicate applied"] --> S2["Only allowed rows return"]
Key point: Row-level security filters at query time.
Why the other options are wrong
- A. It removes rows from storage for all users
- It does not remove stored rows.
- C. It hides a whole workspace from a user
- It does not hide workspaces.
- D. It encrypts every file stored in OneLake
- It does not encrypt files.

