Questions tagged [row-level-security]

Row-level security is database security term which relates to the ability to define and enforce access control logic on rows of data such that a user can only retrieve the rows of data he or she is allowed to view.

Row-level security is database security term which relates to the ability to define and enforce access control logic on rows of data such that a user can only retrieve the rows of data he or she is allowed to view.

Several database vendors provide row-level security mechanisms. For instance:

  • Oracle provides Virtual Private Database (VPD), a free feature of the Oracle Enterprise Database.
  • MySQL provides fine-grained access control (FGAC). This is further detailed in this 2006 article.
  • IBM DB2 provides row/column-level access control (RCAC). This is further detailed in this IBM knowledge base.
  • SQL Server and Azure SQL Database provide Row-Level Security (RLS). This is further detailed in the MSDN product documentation.

In row-level security, a user can ask to view a set of data e.g. medical records. The database table (or view) contains a complete set of medical records but only returns those records the user is entitled to view. The authorization is typically driven through the configuration of VPD/RCAC/FGAC or through an access control policy e.g. doctors can view the medical records of patients they are assigned to.

Row-level security is becoming more prevalent with the rise of and , technologies that help standardize access control.

An extension of row-level security is the ability to apply cell-level security. This space has been coined as dynamic data masking by Gartner analyst Joseph Feiman (see this report and these videos on data masking).

There are several third party vendor solutions which provide row-level security / dynamic data masking:

  • GreenSQL
  • Informatica DDM
  • Axiomatics Data Access Filter MD

Additional information and vendors are listed on Wikipedia.

367 questions
0
votes
2 answers

Row level Security (RLS) in Azure Synapse vs Power BI

I am building a new data warehouse system for one of my client and using Azure Synapse with Power BI. I am currently laying out the access framework for the system and exploring the Pros and Cons of applying ROW LEVEL Security at various points. My…
Richa
  • 1
  • 2
0
votes
1 answer

Row Level Security delete block predicate and cascade delete constraint issue

Consider having the following tables: Client table with columns: client_guid(uniqueidentifier - primary key) client_description Ticket table with columns: ticket_guid(uniqueidentifier - primary key) ticket_client_guid(uniqueidentifier - foreign…
0
votes
1 answer

Row Level Security update block predicate not working

Consider having the following tables: Client table with columns: client_guid(uniqueidentifier - primary key) client_description Ticket table with columns: ticket_guid(uniqueidentifier - primary key) ticket_client_guid(uniqueidentifier - foreign…
0
votes
1 answer

Power BI RLS with Azure Active Directory B2B

I would like to try using AAD B2B to address my AD Group on premise and external user data. But I not sure whether can I get the all AAD data through Powerbi datasource (Analysis Service) because I want to apply Role Level Security based on AD…
0
votes
1 answer

Filter data to particular user in power bi using RLS

Suppose I have a column CATEGORY_NAME in table CATEGORY I want a user named abc@xyz.com to see only ('CPU','Storage','Video Card') values of column CATEGORY_NAME in one power bi application.How can I define roles in powerbi desktop for this user.So…
shee8
  • 139
  • 10
0
votes
1 answer

Create function to encapsulate row level security using case statement

I want to create a function to implement row level security in snowflake DW for reporting purpose. For this wanted to create a function keeping that logic inside and call it in select query. But creating this function, throws error: CREATE or…
0
votes
0 answers

Power BI RLS with Distribution List not working

I have a Powerbi report which has RLS Implement through a dimension table I have created Roles with individual email ID and user principal name and this seems to be working perfectly well . however when I want to add close to 600 users, I have…
0
votes
1 answer

Is SQL Server Security Policy executed per row or per select

Lets say I have CREATE FUNCTION [sec].[PartyGroupAccessPredicate](@PartyGroupId uniqueidentifier) RETURNS TABLE WITH SCHEMABINDING AS RETURN SELECT 1 AS accessResult FROM [sec].[PartyGroupPartyLink] partyGroupLink …
Murdock
  • 4,352
  • 3
  • 34
  • 63
0
votes
0 answers

Extend row-level security to a bridging table

I am working on row level security in my database. I have two tables. Row based security is implemented on data_table and only returns rows that the user can see. data_table: data_id name role ----------------------------- 1 test …
0
votes
0 answers

Row Level Security for Power BI

This is kind of an odd situation and I am pretty new to RLS so please forgive me if what I am asking about here might seem a little silly. I am trying to create Row Level Security for a School District. I have a table that has the different schools…
0
votes
1 answer

Is possible to create row level security policy for a postgresql view?

We need to implement row-level security policy for a PostgreSQL View. Is there any option to do this? Thank You
0
votes
1 answer

RLS path calculation

I am pretty new to RLS and have been trying to implement it in a certain way. My table above is a sample. I am trying to create RLS here based on the levels. Normally I can create 3 roles for 3 levels where, Level 1 is regular employees Level 2 is…
0
votes
1 answer

Power BI - Can we load ROLES and their associated DAX filter expressions from some EXCEL File?

Hello, I got a question about the way we create ROLES in Power BI desktop. The manual ROLES creation process is really hack-tic and time consuming. I want to ask if there is any way to create/load Power BI ROLES with their DAX filter expressions…
Imran
  • 254
  • 3
  • 14
0
votes
0 answers

How to stop application users from sharing database session context variables?

I'm working on a web application and we are making some changes to have Row-Level Security on certain tables. It's a Java app, we use a single database user for all application users, and we have a connection pool instead of manually opening/closing…
0
votes
0 answers

PowerBI Row Level Security for Report

I have followed the PowerBI Tutorials on YouTube for Static Row Level Security, creating a simple dataset that includes a "ClientName". In Power BI Desktop - I added two roles, which filter the data down to two different sets of client data, shown…
Sean
  • 862
  • 8
  • 28