=== PROBLEM STATEMENT ===
Currently, variable libraries in Microsoft Fabric lack granular access control mechanisms. When developers have access to a workspace, they can view all variables in the variable library, including sensitive information such as database connection strings, API keys and authentication tokens, service principal credentials, storage account keys, third-party connector credentials, and environment-specific configuration values.
This poses significant security risks in enterprise environments where the principle of least privilege should be enforced.
=== BUSINESS IMPACT ===
Security Risks:
- Exposure of sensitive credentials to unauthorized users
- Potential for credential misuse or data breaches
- Compliance violations with regulations like SOC 2, ISO 27001, and GDPR
- Inability to implement proper separation of duties
Operational Challenges:
- Developers cannot be granted workspace access without exposing sensitive variables
- Administrators must create workarounds like multiple workspaces, increasing management overhead
- Audit trails become difficult to maintain when everyone has blanket access
- Hindrance to collaboration due to security concerns
=== PROPOSED SOLUTION ===
Implement a comprehensive role-based access control (RBAC) system for variable libraries with the following capabilities:
- Variable-Level Permissions
- Admin: Full access to create, read, update, delete, and manage permissions for variables
- Read/Write: Can view and modify variable values but cannot manage permissions
- Read Only: Can view variable values for use in their artifacts
- Use Only: Can reference variables in code/queries without viewing actual values
- No Access: Variable is hidden from the user
- Group-Based Access Control
- Assign permissions to Azure AD security groups rather than individual users
- Support for nested groups
- Bulk permission management for multiple variables
- Sensitive Variable Masking
- Option to mark variables as "sensitive" which masks values in the UI (showing only asterisks), prevents copying to clipboard, requires explicit "reveal" action with logged audit trail, and can only be revealed by users with appropriate permissions
- Variable Categories/Tags
- Ability to categorize variables (e.g., "Development", "Production", "Credentials", "Configuration")
- Apply permissions at the category level for easier management
- Filter and search variables by category
- Inheritance and Defaults
- Set default permissions for new variables
- Inherit permissions from workspace roles with ability to override
- Option to apply permissions template to multiple variables
- Audit and Compliance
- Comprehensive audit logging for variable access attempts (successful and failed), permission changes, variable value reads and modifications, and sensitive variable reveals
- Export audit logs for compliance reporting
- Integration with Microsoft Purview for unified compliance management
=== IMPLEMENTATION CONSIDERATIONS ===
User Interface Changes:
- Add "Permissions" tab to variable library interface
- Show permission indicators (lock icons) next to variables in lists
- Provide clear visual distinction between accessible and restricted variables
- Add permission management dialog similar to Power BI dataset permissions
Backward Compatibility:
- Existing variable libraries should default to current behavior (all workspace members have access)
- Provide migration path with warnings before enabling restricted access
- Allow gradual rollout with feature flag
API Support:
- Extend REST API to support permission management
- Add permission validation in variable reference resolution
- Include permission metadata in GET requests
1 Comment
- frithjof_vCommunity ChampionYou shouldn't use variable library to store sensitive information like passwords. Use Azure Key Vault instead.
Recent ideas
Set default x axis scrolling position
Enable selection of the default scroll position for the x-axis on a chart. For example, on a line chart with dates as the x-axis, when not all of the data can display in the view at once, the scroll...Lisa_Krieg3 hours agoNew MemberNeeds Votes7.8KViews1154likes104CommentsTable Visual — Rounded Corners and Pill-Style Cell Backgrounds
Add the option to display cell background colors as rounded rectangles or pill-shaped labels within the native Table visual. Currently, applying a background color fills the entire cell with a solid...urawizardharry4 hours agoRegular VisitorNew9Views0likes0CommentsAdd Global Alignment Controls for Power BI Matrix Values and Headers
Please add a global alignment setting for Matrix visuals that allows users to apply the same alignment, left, center, or right, to all measure columns at once. This should apply to column headers, d...AaronReasoner5 hours agoNew MemberNew2Views0likes0CommentsCase sensitive-insensitive option in Power BI
There should be an option in Power BI for the data in the columns to be either case sensitive or insensitive. When one deals with data involving client names or entity names, case sensitivity-sinsens...sohail_syed_moh5 hours agoNew MemberNeeds Votes2.3KViews124likes11CommentsGoverned & Regulation for Publish to Web feature
Notifying certain group of individuals if there is any enhancements performed on the semantic model which already hold an active Publish to Web code in place. This ensure in having more security and...Jaswanth_UNHCR5 hours agoNew MemberNew2Views0likes0Comments