Dynamic Column-Level Security (CLS) Filtering for OneLake Security in Microsoft Fabric SQL Endpoints
Dynamic Column Filtering for OneLake Security CLS in Lakehouse SQL Endpoints
We would like to propose an idea regarding the current behavior of Column-Level Security (CLS) in Microsoft Fabric OneLake Security when accessing data through Lakehouse SQL Endpoints.
During troubleshooting and validation sessions with Microsoft Support, we confirmed that CLS is functioning as currently designed. However, we observed a limitation in how CLS behaves during schema validation and query execution from SQL Endpoints and Power BI semantic models.
Current Behavior
After creating a OneLake Security role with CLS restrictions:
Restricted columns are still exposed within the Lakehouse SQL Endpoint schema metadata.
The SQL Endpoint appears to scan or validate the complete table schema before executing the query.
If restricted columns exist in the semantic model, query definition, or metadata discovery process, queries fail with permission errors such as:
“SELECT permission was denied on the column…”
This happens even when users only intend to access permitted columns.
Because of this behavior:
- Power BI semantic models may fail during refresh or schema discovery.
- Developers must manually exclude restricted columns.
- Separate materialized lake views must be created for different security personas.
Additional maintenance and governance overhead is introduced.
Example Scenario
Table:
- EmployeeID
- EmployeeName
- Salary
- SSN
CLS Restriction:
- Salary
- SSN
Expected Experience:
Users should automatically see only:
- EmployeeID
- EmployeeName
Current Experience:
Restricted columns remain discoverable through schema validation, and queries may fail instead of dynamically filtering unauthorized columns.
Proposed Idea
We propose that the Lakehouse SQL Endpoint dynamically recognize the authenticated user principal and automatically apply CLS filtering during schema discovery and query execution.
In this approach:
Restricted columns would automatically be hidden from the schema presented to the user.
Only authorized columns would appear during Power BI schema discovery, SSMS access, and SQL query execution.
Queries and semantic models would execute successfully without requiring developers to redesign datasets or manually remove restricted columns.
Benefits
This approach would:
- Simplify Power BI and SQL development.
- Reduce dependency on materialized lake views.
- Improve enterprise scalability for self-service BI.
- Reduce maintenance overhead.
- Provide a more intuitive CLS experience for Lakehouse SQL Endpoints.
Currently, the materialized lake view workaround is functional, but it introduces operational complexity for enterprise environments managing multiple datasets, users, and security roles.
We believe dynamic CLS-aware schema filtering would significantly improve the usability and enterprise adoption of OneLake Security in Microsoft Fabric Lakehouses and SQL Endpoints.
Thank you for considering this idea.
Recent ideas
Exported PDF from PowerBI to not have any indents/borders
Currently, using the "Export to PDF" option in PowerBI results in two consistently buggy results: A white border/indent is generated, increasing the size of the page from 8.5x11 to 9x11.5 Sometime...EliShalev2 hours agoNew MemberNew5Views0likes0CommentsAdding a Container for Logical Grouping of Activities in Data Pipelines
Dear Team, I would like to propose a feature enhancement for Data Pipelines in Microsoft Fabric that allows the logical grouping of activities into a container. This container would serve to: Im...lukas_karlovsky3 hours agoNew MemberPlanned869Views15likes5CommentsSupport Native SQL LIKE / NOT LIKE Wildcard Filtering Across Power BI Reports
Description Currently, Power BI does not provide a native way for report consumers to perform dynamic SQL-style wildcard filtering using patterns such as LIKE '____' - Above return all values wit...Seeralan4 hours agoNew MemberNew4Views0likes0Comments