Theory
Should you automate everything in Microsoft Fabric using Terraform? Probably not...
Using infrastructure as code with Microsoft Fabric
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.
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.
Should you automate everything in Microsoft Fabric using Terraform? Probably not...
Check that you have a few things in place before going through the Microsoft Fabric Administrator quickstart.
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.
Configure a storage account for use as a remote state in Terraform.
Create a repo in GitHub from the template and then clone it locally.
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.
Run the Terraform workflow in the user context and modify the config with a simple RBAC assignment.
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 managed identity ready for use with the fabric Terraform provider in a pipeline context.
Configure OpenID Connect and GitHub Actions variables and test your repo's CI/CD pipeline.
See how GitLab differs from GitHub when configuring OpenID Connect and workflows.
Demo script and code blocks