Microsoft Fabric

Using infrastructure as code with Microsoft Fabric

Automating Microsoft Fabric with Terraform and the Fabric CLI

Microsoft Fabric is a powerful platform for data integration and analytics, and takes a different approach to previous platforms by meeting your data where it is. Fabric provides a single view of all of your data with OneLake using a combination of pipelines, mirroring and shortcuts. No AI system can be more intelligent than the data over which it reasons, and Fabric is recommended as the fuel for Agentic AI solutions.

Fabric Admins have previously had the option of click-ops in the Microsoft Fabric portal or automating by driving the Fabric REST APIs. The landscape has changed with the general availability of both the Terraform provider for Microsoft Fabric and the Fabric CLI, opening up new opportunities to manage your Fabric resources in line with your existing Terraform workflows. There are a few nuances compares to using Terraform with standard Azure resources but everything will become clearer when you follow our quickstart.

Repos

Labs

Use the series of labs below to go steadily through the flow of working solo and developing a config, and then automating with a CI/CD workflow and workload identity. If you then want to shortcut then feel free to use the page I reference for demos.

Theory

Should you automate everything in Microsoft Fabric using Terraform. Probably not...

Prereqs

Check that you have a few things in place before going through the Microsoft Fabric Administrator quickstart.

Fabric Capacity

You will need a Fabric capacity for this quickstart. List T-, P, and F-SKUs with the Fabric CLI and understand access to F-SKUs.

Set up a Remote State

Configure a storage account for use as a remote state in Terraform.

Create a repo from a GitHub template

Create a repo in GitHub from the template and then clone it locally.

Configure an app reg for development

Configure the the user context so that you can begin using the fabric Terraform provider in a solo context. Configure selected API permissions within user impersonation. and expose the API endpoint.

Initial Terraform workflow

Run the Terraform workflow in the user context and modify the config with a simple RBAC assignment.

Expanding your config

A few tips to build out your config. A collection of friendly URLs, useful tips using the Fabric CLI and Model Context Protocol (MCP) servers in vscode, plus the native Git integration for Fabric workspaces.

Configure a workload identity

Configure a managed identity ready for use with the fabric Terraform provider in a pipeline context.

GitHub Actions for Microsoft Fabric

Configure OpenID Connect and GitHub Actions variables and test your repo's CI/CD pipeline.

GitLab pipeline for Microsoft Fabric

See how GitLab differs from GitHub when configuring OpenID Connect and workflows.

Demo

Set of copyable code blocks and demo reminders