A Practical Guide to use OneLake Security for OneLake Object, Row, and Column Security
In this blog post, I will show you how to configure OneLake security for a Microsoft Fabric Lakehouse. We will remove the default broad-access role, grant the required Lakehouse access, configure object-, row-, and column-level security, and test the results. The goal is to create a secure-by-default setup in which users can access only the data they need. Prerequisites You…
Purview Protection Policies in Microsoft Fabric
How to use Microsoft Purview Protection Policies so a Fabric workspace Admin can still fully administer the workspace… but is completely blocked from seeing any of the sensitive data inside it. You keep the person as Admin (so they can manage items, permissions, capacity, etc.) while the protection policy + sensitivity label combination simply removes their ability to open or…
Remove Hardcoded Workspace and Item IDs with Fabric Variable Libraries to use Across Dev/Test/Prod
In this blog post I’m going to show you how you can use variable libraries with connection strings as well as items. This approach allows you to manage environment-specific configuration when deploying Fabric items across development, test, and production workspaces If you’re looking to move your fabric capacities across workspaces or regions, you can do this quickly and easily without…
Using Python Notebooks to Merge Data into a Microsoft Fabric Lakehouse
In this blog post I am going to show you how to use a Fabric Python runtime notebook (This is the notebook which only uses Pure Python functions and consumes significantly lower Capacity Units (CUs)). The pattern is how to get new data and merge it into an existing Lakehouse table. This ensures that if the notebook is run again…
Using GitHub Copilot CLI to Build a Microsoft Fabric Lakehouse Table Health Pipeline
In this post I will show how I used GitHub Copilot CLI / Agent mode in VS Code to create a Microsoft Fabric pipeline that checks Lakehouse table health and only optimizes tables that require maintenance. I’ll also show the prompts I used, the issues I ran into, and how Copilot helped me resolve them. Recently Microsoft announced Lakehouse table…
Seamlessly Moving Fabric Notebooks Across Workspaces with Lakehouse Auto-Binding and Git Integration
With the new Lakehouse Auto-Binding capability in Notebook Git integration, Fabric can now intelligently preserve and resolve the binding between your notebooks and their attached Lakehouses as you move them across workspaces. This makes true multi-environment development and CI/CD workflows in Fabric significantly smoother and more reliable. I am going to show you how to do this in the blog…
Accessing data between Private Link and Public Fabric Workspace using the Private Endpoint
In this blog post I show how it is possible to access data between a Private Link Workspace, where I want to read the data from my Public Workspace. An example of this is where I wanted to use a DirectLake Semantic Model sitting in my Public Workspace where the data is from data in my Private Link Workspace. Get…
Creating a Private Link in Microsoft Fabric — No Public Access
In this blog post, I am going to walk through how I created a Private Link in Microsoft Fabric so that access routes over Microsoft’s private backbone network instead of the public internet. NOTE: It is a bit of a longer blog post as there are quite a few things that need to be configured. NOTE II: In the next…
How to set up a SharePoint Folder Shortcut using Workspace Identity in Microsoft Fabric
I really think it is ideal to use a workspace identity in Microsoft Fabric. This is because not only is it secure by default but not having to manage any client secrets. It also means that it is then owned by the business, so there are no issues if a user leaves or a user password expires. In this blog…
How I Built a Full Power BI Semantic Model in Minutes Using Agentic AI and GitHub Copilot
In this second part of my blog series, I will show you how I edited the required files and then created my semantic model by using the Agentic Tools. To be transparent, I did use Claude to assist me with the initial setup steps below. This is quite a long blog post, so maybe make yourself something to drink a…