top of page
Search

Summary of the Microsoft Learn Lab: Secure a Microsoft Fabric data warehouse

  • Writer: Duy Tri Nguyen
    Duy Tri Nguyen
  • Nov 26, 2024
  • 2 min read

This lab provides a step-by-step guide to securing data in a Data Warehouse (DWH) using Microsoft Fabric. Key topics include:

1. Creating a Workspace

  • Steps:

    • Create a new workspace in Microsoft Fabric with a trial, premium, or Fabric-enabled capacity.

    • Assign roles: The creator is automatically assigned the Workspace Admin role. Additional users can be added as Workspace Viewer for testing.

  • Note: The workspace will be empty after creation.

2. Creating a Data Warehouse

  • Steps:

    • Set up a Synapse Data Warehouse in the workspace.

    • Validate the warehouse creation.

3. Dynamic Data Masking (DDM)

  • Objective:

    • Apply data masking rules to sensitive columns to ensure restricted users see masked data while authorized users see full data.

    • Types of masks: default, email, random, and custom string.

  • Implementation:

    • Use T-SQL to define masks for columns (e.g., FirstName, Email, Phone).

    • Assign and revoke masking permissions (e.g., GRANT UNMASK).

4. Row-Level Security (RLS)

  • Objective:

    • Restrict access to data rows based on user roles or identity.

  • Implementation:

    • Create a security predicate function to filter rows based on user identity.

    • Apply a security policy to enforce row-level filtering.

5. Column-Level Security

  • Objective:

    • Control access to individual columns in a table.

  • Implementation:

    • Use GRANT or DENY statements to manage column access.

    • Test access by logging in as users with different roles.

6. SQL Granular Permissions

  • Objective:

    • Apply fine-grained access control to database objects such as tables or stored procedures.

  • Implementation:

    • Use SQL commands like GRANT, DENY, and REVOKE for specific objects.

    • Validate permissions by testing with users assigned different roles.

7. Cleaning Up Resources

Guidelines for Customer DWH of SHVisionary

1. Application to SHVisionary's Project

As CTO, I can implement these security practices to enhance the DWH project:

  • Dynamic Data Masking (DDM):

    • Protect sensitive data (e.g., customer names, emails, phone numbers) from unauthorized access.

    • Ideal for handling external third-party access or role-specific restrictions.

  • Row-Level Security (RLS):

    • Limit access to specific rows based on user identity. For example:

      • Regional managers can only view data for their regions.

      • Employees only access data relevant to their responsibilities.

  • Column-Level Security:

    • Ensure only authorized roles can view sensitive columns (e.g., financial or credit card data).

  • Granular Permissions:

    • Assign precise access control for various objects (e.g., tables, stored procedures), suitable for environments with multiple user roles.

2. Implementation in the DWH Project

  • Execution Plan:

    1. Set Up Basic Data Warehouse: Define a clear data structure.

    2. Layered Security Implementation:

      • Apply Dynamic Data Masking to sensitive tables.

      • Implement Row-Level Security for user-specific data restrictions.

    3. Testing and Validation:

      • Use different roles to test access permissions.

      • Verify that GRANT and DENY permissions work as intended.

  • Supporting Tools:

    • Microsoft Fabric: Leverage integrated SQL tools for management.

    • Azure Active Directory: Manage role-based permissions effectively.

3. Benefits of Implementation

 
 
 

Recent Posts

See All

Comments


bottom of page