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
Dynamic Labels for Subtotals and Totals in Power BI Matrices
Power BI should support dynamic expressions for subtotal and total labels in Matrix visuals. Currently, subtotal labels are static, which limits report usability and forces report authors to implemen...KellyMc5 hours agoNew MemberNew7Views0likes0CommentsCustom page navigation and foldable menus with less bookmarks (modern web UI inspired)
I recently watched a lot tutorials on how to achieve page navigations as common in modern web frameworks as Bootstrap including foldable site menusbars and dropdown menus. Or building toggle buttons....Famondir6 hours agoNew MemberNew97Views1like1CommentNavigation page - create custom sections and heirarchy
Please can you bring back this feature? https://powerbi.microsoft.com/en-us/blog/designing-custom-navigation-for-power-bi-apps-is-now-available/ We have many reports in our app, and would like ...anna_schorfield6 hours agoNew MemberNew110Views1like2Comments