Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 7 additions & 36 deletions docs/cloud/integrations/dwh/fabric.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,39 +3,10 @@ title: "Connect to Fabric"
sidebarTitle: "Fabric"
---

<Card
title="Fabric"
href="https://tally.so/r/3N6DlW?integration=Fabric"
icon={
<svg
height="35"
width="35"
viewBox="0 0 48 48"
fill="currentColor"
xmlns="http://www.w3.org/2000/svg"
>
<path fill="url(#fabric_a)" fillRule="evenodd" d="m5.64 31.6-.586 2.144c-.218.685-.524 1.693-.689 2.59a5.629 5.629 0 0 0 4.638 7.588c.792.114 1.688.108 2.692-.04l4.613-.636a2.924 2.924 0 0 0 2.421-2.127l3.175-11.662L5.64 31.599Z" clipRule="evenodd"/>
<path fill="url(#fabric_b)" d="M10.14 32.152c-4.863.753-5.861 4.423-5.861 4.423l4.656-17.11 24.333-3.292-3.318 12.052a1.706 1.706 0 0 1-1.388 1.244l-.136.022-18.423 2.684.137-.023Z"/>
<path fill="url(#fabric_c)" fillOpacity=".8" d="M10.14 32.152c-4.863.753-5.861 4.423-5.861 4.423l4.656-17.11 24.333-3.292-3.318 12.052a1.706 1.706 0 0 1-1.388 1.244l-.136.022-18.423 2.684.137-.023Z"/>
<path fill="url(#fabric_d)" d="m12.899 21.235 26.938-3.98a1.597 1.597 0 0 0 1.323-1.17l2.78-10.06a1.595 1.595 0 0 0-1.74-2.012L16.498 7.81a7.185 7.185 0 0 0-5.777 5.193L7.013 26.438c.744-2.717 1.202-4.355 5.886-5.203Z"/>
<path fill="url(#fabric_e)" d="m12.899 21.235 26.938-3.98a1.597 1.597 0 0 0 1.323-1.17l2.78-10.06a1.595 1.595 0 0 0-1.74-2.012L16.498 7.81a7.185 7.185 0 0 0-5.777 5.193L7.013 26.438c.744-2.717 1.202-4.355 5.886-5.203Z"/>
<path fill="url(#fabric_f)" fillOpacity=".4" d="m12.899 21.235 26.938-3.98a1.597 1.597 0 0 0 1.323-1.17l2.78-10.06a1.595 1.595 0 0 0-1.74-2.012L16.498 7.81a7.185 7.185 0 0 0-5.777 5.193L7.013 26.438c.744-2.717 1.202-4.355 5.886-5.203Z"/>
<path fill="url(#fabric_g)" d="M12.899 21.236c-3.901.706-4.87 1.962-5.514 3.932L4.279 36.577s.992-3.633 5.796-4.41l18.352-2.673.136-.022a1.707 1.707 0 0 0 1.388-1.244l2.73-9.915-19.782 2.923Z"/>
<path fill="url(#fabric_h)" fillOpacity=".2" d="M12.899 21.236c-3.901.706-4.87 1.962-5.514 3.932L4.279 36.577s.992-3.633 5.796-4.41l18.352-2.673.136-.022a1.707 1.707 0 0 0 1.388-1.244l2.73-9.915-19.782 2.923Z"/>
<path fill="url(#fabric_i)" fillRule="evenodd" d="M10.075 32.167c-4.06.657-5.392 3.345-5.71 4.164a5.629 5.629 0 0 0 4.638 7.59c.792.114 1.688.108 2.692-.039l4.613-.637a2.924 2.924 0 0 0 2.421-2.127l2.894-10.633-11.547 1.683-.001-.001Z" clipRule="evenodd"/>
<defs>
<linearGradient id="fabric_a" x1="12.953" x2="12.953" y1="44.001" y2="29.457" gradientUnits="userSpaceOnUse"><stop offset=".056" stopColor="#2AAC94"/><stop offset=".155" stopColor="#239C87"/><stop offset=".372" stopColor="#177E71"/><stop offset=".588" stopColor="#0E6961"/><stop offset=".799" stopColor="#095D57"/><stop offset="1" stopColor="#085954"/></linearGradient>
<linearGradient id="fabric_b" x1="31.331" x2="17.286" y1="33.448" y2="18.173" gradientUnits="userSpaceOnUse"><stop offset=".042" stopColor="#ABE88E"/><stop offset=".549" stopColor="#2AAA92"/><stop offset=".906" stopColor="#117865"/></linearGradient>
<linearGradient id="fabric_c" x1="-3.182" x2="10.183" y1="32.706" y2="28.148" gradientUnits="userSpaceOnUse"><stop stopColor="#6AD6F9"/><stop offset="1" stopColor="#6AD6F9" stopOpacity="0"/></linearGradient>
<linearGradient id="fabric_d" x1="7.013" x2="42.589" y1="15.219" y2="15.219" gradientUnits="userSpaceOnUse"><stop offset=".043" stopColor="#25FFD4"/><stop offset=".874" stopColor="#55DDB9"/></linearGradient>
<linearGradient id="fabric_e" x1="7.013" x2="39.06" y1="10.247" y2="25.128" gradientUnits="userSpaceOnUse"><stop stopColor="#6AD6F9"/><stop offset=".23" stopColor="#60E9D0"/><stop offset=".651" stopColor="#6DE9BB"/><stop offset=".994" stopColor="#ABE88E"/></linearGradient>
<linearGradient id="fabric_f" x1="9.978" x2="27.404" y1="13.031" y2="16.885" gradientUnits="userSpaceOnUse"><stop stopColor="#fff" stopOpacity="0"/><stop offset=".459" stopColor="#fff"/><stop offset="1" stopColor="#fff" stopOpacity="0"/></linearGradient>
<linearGradient id="fabric_g" x1="15.756" x2="16.168" y1="27.96" y2="15.74" gradientUnits="userSpaceOnUse"><stop offset=".205" stopColor="#063D3B" stopOpacity="0"/><stop offset=".586" stopColor="#063D3B" stopOpacity=".237"/><stop offset=".872" stopColor="#063D3B" stopOpacity=".75"/></linearGradient>
<linearGradient id="fabric_h" x1="2.81" x2="17.701" y1="26.744" y2="29.545" gradientUnits="userSpaceOnUse"><stop stopColor="#fff" stopOpacity="0"/><stop offset=".459" stopColor="#fff"/><stop offset="1" stopColor="#fff" stopOpacity="0"/></linearGradient>
<linearGradient id="fabric_i" x1="13.567" x2="10.662" y1="39.97" y2="25.764" gradientUnits="userSpaceOnUse"><stop offset=".064" stopColor="#063D3B" stopOpacity="0"/><stop offset=".17" stopColor="#063D3B" stopOpacity=".135"/><stop offset=".562" stopColor="#063D3B" stopOpacity=".599"/><stop offset=".85" stopColor="#063D3B" stopOpacity=".9"/><stop offset="1" stopColor="#063D3B"/></linearGradient>
</defs>
</svg>
}
>
Coming soon
</Card>
import Fabric from '/snippets/cloud/integrations/fabric.mdx';
import OnboardingHelp from '/snippets/cloud/integrations/onboarding-help.mdx';



<Fabric />
<OnboardingHelp />
58 changes: 58 additions & 0 deletions docs/snippets/cloud/integrations/fabric.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
import IpAllowlist from '/snippets/cloud/integrations/ip-allowlist.mdx';
import PermissionsAndSecurity from '/snippets/cloud/integrations/permissions-and-security.mdx';

This guide contains the necessary steps to connect a Microsoft Fabric environment to your Elementary account.

### Prerequisites

- A Microsoft Fabric workspace with a warehouse or lakehouse SQL endpoint.
- An Azure AD (Entra ID) app registration (service principal) with access to your Fabric workspace.
- ODBC Driver 18 for SQL Server is used under the hood — no action needed on your side, it is pre-installed in Elementary Cloud.

### Create an Azure AD service principal

If you don't already have a service principal configured:

1. In the [Azure portal](https://portal.azure.com), go to **Azure Active Directory** > **App registrations** > **New registration**.
2. Give it a name (e.g. `elementary-fabric`) and register it.
3. Note the **Application (client) ID** and **Directory (tenant) ID**.
4. Go to **Certificates & secrets** > **New client secret**, create a secret, and copy the **Value**.
5. In your Fabric workspace, add the service principal as a **Viewer** in the workspace settings. This is the minimum workspace-level role required for connectivity.

### Grant minimal permissions

Elementary Cloud only requires **read-only access to the Elementary schema** and **metadata access** (e.g. `INFORMATION_SCHEMA`). We recommend granting only the minimum permissions needed.

After the service principal can connect, run the following statements in your Fabric warehouse with admin permissions:

```sql
-- Grant read-only access to the Elementary schema
GRANT SELECT ON SCHEMA :: [<your_elementary_schema>] TO [<service_principal_name>];

-- Grant access to view metadata (table definitions, columns, etc.)
GRANT VIEW DEFINITION ON SCHEMA :: [<your_elementary_schema>] TO [<service_principal_name>];
```

Replace `<your_elementary_schema>` with the name of your Elementary schema (usually `[your dbt target schema]_elementary`), and `<service_principal_name>` with the display name of your service principal.

<PermissionsAndSecurity />

### Fill the connection form

In the Elementary platform, go to **Environments** in the left menu, and click on the **Create Environment** button.
Choose a name for your environment, and then choose **Fabric** as your data warehouse type.

Provide the following fields:

- **Server**: The Fabric SQL connection endpoint. You can find this in the Fabric portal under your warehouse settings. It typically looks like `<identifier>.datawarehouse.fabric.microsoft.com`.
- **Port**: The port to connect to. Default is `1433`.
- **Tenant ID**: The Azure AD (Entra ID) Directory (tenant) ID.
- **Client ID**: The Azure AD Application (client) ID of the service principal.
- **Client Secret**: The client secret value you generated for the service principal.

Then, for each dbt project in your environment, provide:

- **Database name**: The name of the Fabric warehouse or lakehouse SQL endpoint.
- **Elementary schema**: The name of your Elementary schema. Usually `[your dbt target schema]_elementary`.

<IpAllowlist />
Loading