Microsoft Fabric is a comprehensive platform designed to meet all the analytical needs of an enterprise. As a SaaS platform, it is fully managed over the internet. In contrast, the security aspects of IaaS and PaaS services can be customized and enhanced in a conventional manner, similar to other major cloud providers.
Network security in Microsoft Fabric can be categorized into two main aspects:
We focus on network security for two main reasons:
When a user accesses the Fabric portal, they are authenticated through Microsoft Entra ID, which manages credentials and verifies the user’s identity. Entra ID provides a session token that is sent to the Web Front-end. The Web Front-end uses this token to forward the user’s query, along with the session token, to the Metadata Platform.
The Metadata Platform, located in the tenant’s region, contains user permissions at both the fabric item and workspace levels. It operates within a secure network with protected endpoints for data transfer.
The Backend Platform, where storage (One Lake) and computation occur, is situated in the region configured for the capacity.
Once authenticated via Entra ID, the user’s request is handled by the Web Front-end, which then queries the Metadata Platform to verify permissions for the requested operation. If the user is authorized, the Metadata Platform sends the data request through the Microsoft backbone network to the Backend Platform. The Backend Platform performs the required computations, stores the data in the data lake, and sends the results back to the Web Front-end, allowing the user to see the final results.
The below section talks about the different network security aspects of Fabric:-
Lets start with methods available to make sure traffic coming inside the Fabric is secure :-
Entra Conditional Access can be set up in the Azure Portal by navigating to Security -> Add + Conditional Policy. This feature allows administrators to implement restrictions on users, including additional security measures such as multi-factor authentication (MFA), network location requirements, and device compliance checks.
Private Links can be configured directly in the Azure resource. This involves placing the resource within a virtual network (VNet) with a private IP address. This private IP can then be linked to a Private Link, enabling secure communication with Microsoft Fabric. To facilitate this, two tenant settings must be enabled:
The process to create private link is –https://learn.microsoft.com/en-us/fabric/security/security-private-links-use
The above two options can help restrict the overall public access and only allow secured private network to access Microsoft Fabric.
Now lets look at the methods available to make sure the data source protected via firewall is access by Fabric in a secure way:-
This method is specific to the Synapse Data Engineering component of Microsoft Fabric and is available for F-64 (or higher) capacity workspaces. It creates a secure connection to Azure resources such as Azure SQL Databases, ADLS Gen2, and KQL Database. This process places the Spark engines in a separate virtual network, which connects to the Azure resources via a private managed endpoint. Note that using this method, the Spark notebook won’t be able to use the starter spooler and will require 5-6 minutes to start the Spark clusters.
Next, configure the following parameters:
After configuration, the status will show as “Pending” in the workspace network security settings.
Step 4: Go to the Azure resource and click “Approve” to approve the creation of the private endpoint, establishing a secure connection to the Fabric workspace.
To create a workspace identity, go to the workspace identity section and click on the “+Workspace Identity” button. Please note that this option is only available for F-64 or higher capacities, and not for trial capacities.
This feature enables connectivity to external sources, like ADLS Gen2, that are protected by a firewall with no public internet access. By creating a workspace identity and configuring it in the Azure portal, you can use an ARM template to grant this identity access to ADLS Gen2.
In the “Resource Instances” section, you can see the configuration details where the instance name includes “Workspace Identity,” indicating which specific workspace has access to the ADLS Gen2 account.
The blog outlined various methods for configuring network security related to inbound and outbound traffic. Additionally, there are numerous alternative approaches depending on the business case and the administrative needs for data security and management.
Thanks for reading the blog!
-Manan Choudhary
Manan Choudhary