Designing and implementing row-level and column-level security
Azure Synapse SQL (and Azure SQL) provide some very useful fine-grained security at the level of rows and columns in a table. Let's learn how to use these features for restricting data access, starting with row-level security.
Designing row-level security
Row-level security restricts access to certain table rows to unauthorized users. On a high level, you can think of this as similar to using WHERE
conditions in a SELECT
statement. Row-level security is achieved by creating security policies. We will look at an example of how to create such a rule in the next few pages. These rules reside in the database itself. Hence, irrespective of how the data is accessed, either via queries, views, or any other methods, the data access restriction will be enforced.
Let's look at an example using our IAC scenario again. Let's imagine that the IAC company is trying to launch their service at a bunch of new locations...