You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/storage/files/storage-files-identity-multiple-forests.md
+60-57Lines changed: 60 additions & 57 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
1
---
2
-
title: Use Azure Files with Multiple Active Directory (AD) Forests
2
+
title: Use Azure Files with Multiple Active Directory Forests
3
3
description: Configure on-premises Active Directory Domain Services (AD DS) authentication for SMB Azure file shares with an AD DS environment using multiple forests.
4
4
author: khdownie
5
5
ms.service: azure-file-storage
6
6
ms.topic: how-to
7
-
ms.date: 02/23/2026
7
+
ms.date: 03/03/2026
8
8
ms.author: kendownie
9
9
ms.custom: sfi-image-nochange
10
10
# Customer intent: As an IT administrator managing multiple Active Directory forests, I want to configure Azure file shares with identity-based authentication, so that users from different forests can access shared resources seamlessly.
@@ -17,11 +17,11 @@ ms.custom: sfi-image-nochange
17
17
Many organizations want to use identity-based authentication for SMB Azure file shares in environments that have multiple on-premises Active Directory Domain Services (AD DS) forests. This is a common IT scenario, especially following mergers and acquisitions, where the acquired company's AD forests are isolated from the parent company's AD forests. This article explains how forest trust relationships work and provides step-by-step instructions for multi-forest setup and validation.
18
18
19
19
> [!IMPORTANT]
20
-
> To set share-level permissions for specific Microsoft Entra ID users or groups by using Azure role-based access control (RBAC), first sync the on-premises AD accounts to Entra ID by using [Microsoft Entra Connect](../../active-directory/hybrid/whatis-azure-ad-connect.md). Otherwise, use a [default share-level permission](storage-files-identity-assign-share-level-permissions.md#share-level-permissions-for-all-authenticated-identities).
20
+
> To set share-level permissions for specific Microsoft Entra ID users or groups by using Azure role-based access control (RBAC), first sync the on-premises AD accounts to Entra ID by using [Microsoft Entra Connect Sync](/entra/identity/hybrid/connect/how-to-connect-sync-whatis). Otherwise, use a [default share-level permission](storage-files-identity-assign-share-level-permissions.md#share-level-permissions-for-all-authenticated-identities).
21
21
22
22
## Prerequisites
23
23
24
-
- Two AD DS domain controllers with different forests and on different virtual networks (VNETs)
24
+
- Two AD DS domain controllers with different forests and on different virtual networks
25
25
- Sufficient AD permissions to perform administrative tasks (for example, Domain Admin)
26
26
- If using Azure RBAC, both forests must be reachable by a single Microsoft Entra Connect Sync server
27
27
@@ -35,15 +35,15 @@ A forest trust is a transitive trust between two AD forests that allows users in
35
35
36
36
To configure a multi-forest setup, perform the following steps:
37
37
38
-
- Collect domain information and VNET connections between domains
38
+
- Collect domain information and virtual network connections between domains
39
39
- Establish and configure a forest trust
40
40
- Set up identity-based authentication and hybrid user accounts
41
41
42
42
### Collect domain information
43
43
44
44
For this exercise, we have two on-premises AD DS domain controllers with two different forests and in different virtual networks.
@@ -61,16 +61,16 @@ To enable clients from **Forest 1** to access Azure Files domain resources in **
61
61
1. Right-click on the local domain **onpremad2.com**, and then select the **Trusts** tab.
62
62
1. Select **New Trusts** to launch the **New Trust Wizard**.
63
63
1. Specify the domain name you want to build trust with (in this example, **onpremad1.com**), and then select **Next**.
64
-
1. For **Trust Type**, select **Forest trust**, and then select **Next**.
64
+
1. For **Trust Type**, select **Forest trust**, and then select **Next**.
65
65
1. For **Direction of Trust**, select **Two-way**, and then select **Next**.
66
66
67
-
:::image type="content" source="media/storage-files-identity-multiple-forests/direction-of-trust.png" alt-text="Screenshot of Active Directory Domains and Trusts console showing how to select a two-way direction for the trust." border="true":::
67
+
:::image type="content" source="media/storage-files-identity-multiple-forests/direction-of-trust.png" alt-text="Screenshot of Active Directory Domains and Trusts console showing how to select a two-way direction for the trust." border="true":::
68
68
69
69
1. For **Sides of Trust**, select **This domain only**, and then select **Next**.
70
70
1. Users in the specified forest can be authenticated to use all of the resources in the local forest (forest-wide authentication) or only those resources that you select (selective authentication). For **Outgoing Trust Authentication Level**, select **Forest-wide authentication**, which is the preferred option when both forests belong to the same organization. Select **Next**.
71
71
1. Enter a password for the trust, and then select **Next**. You must use the same password when creating this trust relationship in the specified domain.
72
72
73
-
:::image type="content" source="media/storage-files-identity-multiple-forests/trust-password.png" alt-text="Screenshot of Active Directory Domains and Trusts console showing how to enter a password for the trust." border="true":::
73
+
:::image type="content" source="media/storage-files-identity-multiple-forests/trust-password.png" alt-text="Screenshot of Active Directory Domains and Trusts console showing how to enter a password for the trust." border="true":::
74
74
75
75
1. You should see a message that the trust relationship was successfully created. To configure the trust, select **Next**.
76
76
1. Confirm the outgoing trust, and select **Next**.
@@ -97,7 +97,7 @@ After you establish the trust, follow these steps to create a storage account an
97
97
- If the user is synced to Entra ID, grant a share-level permission (Azure RBAC role) to the user **onprem1user** on storage account **onprem1sa** so the user can mount the file share. To do this, go to the file share you created in **onprem1sa** and follow the instructions in [Assign share-level permissions for specific Microsoft Entra users or groups](storage-files-identity-assign-share-level-permissions.md#share-level-permissions-for-specific-azure-ad-users-or-groups).
98
98
- Otherwise, use a [default share-level permission](storage-files-identity-assign-share-level-permissions.md#share-level-permissions-for-all-authenticated-identities) that applies to all authenticated identities.
99
99
100
-
Repeat steps 4-8 for **Forest2** domain **onpremad2.com** (storage account **onprem2sa**/user **onprem2user**). If you have more than two forests, repeat the steps for each forest.
100
+
Repeat steps 4-8 for **Forest 2** domain **onpremad2.com** (storage account **onprem2sa**/user **onprem2user**). If you have more than two forests, repeat the steps for each forest.
101
101
102
102
## Configure directory and file-level permissions (optional)
103
103
@@ -109,7 +109,7 @@ If icacls fails with an *Access is denied* error, follow these steps to configur
109
109
110
110
1. Re-mount the share by using either the [Windows permission model for SMB admin](storage-files-identity-configure-file-level-permissions.md#use-the-windows-permission-model-for-smb-admin) or the storage account key (not recommended). See [Mount SMB Azure file share on Windows](storage-how-to-use-files-windows.md).
111
111
112
-
1. Set icacls permissions for user in **Forest2** on storage account joined to **Forest1** from client in **Forest1**.
112
+
1. Set icacls permissions for user in **Forest 2** on storage account joined to **Forest 1** from client in **Forest 1**.
113
113
114
114
> [!NOTE]
115
115
> Don't use File Explorer to configure ACLs in a multi-forest environment. Although users who belong to the forest that's domain-joined to the storage account can have file and directory-level permissions set via File Explorer, it doesn't work for users that don't belong to the same forest that's domain-joined to the storage account.
@@ -124,12 +124,12 @@ For example, when users in a domain in **Forest 1** want to reach a file share w
124
124
125
125
You can configure domain suffixes by using one of the following methods:
126
126
127
-
-[Modify storage account suffix and add a CNAME record](#modify-storage-account-name-suffix-and-add-cname-record) (recommended - works with two or more forests)
127
+
-[Modify storage account SPN suffix and add a CNAME record](#modify-storage-account-spn-suffix-and-add-cname-record) (recommended - works with two or more forests)
128
128
-[Add custom name suffix and routing rule](#add-custom-name-suffix-and-routing-rule) (doesn't work with more than two forests)
129
129
130
-
### Modify storage account name suffix and add CNAME record
130
+
### Modify storage account SPN suffix and add CNAME record
131
131
132
-
You can solve the domain routing issue by modifying the suffix of the storage account name associated with the Azure file share, and then adding a CNAME record to route the new suffix to the endpoint of the storage account. With this configuration, domain-joined clients can access storage accounts joined to any forest. This solution works for environments that have two or more forests.
132
+
You can solve the domain routing issue by modifying the SPN suffix of the storage account associated with the Azure file share, and then adding a CNAME record to route the new suffix to the endpoint of the storage account. With this configuration, domain-joined clients can access storage accounts joined to any forest. This solution works for environments that have two or more forests.
133
133
134
134
In this example, the domains **onpremad1.com** and **onpremad2.com** have **onprem1sa** and **onprem2sa** as storage accounts associated with SMB Azure file shares in the respective domains. These domains are in different forests that trust each other to access resources in each other's forests. You want to allow access to both storage accounts from clients who belong to each forest. To do this, you need to modify the SPN suffixes of the storage account:
135
135
@@ -180,7 +180,7 @@ First, add a new custom suffix on **Forest 2**. Make sure you have the appropria
180
180
1. Open the **Active Directory Domains and Trusts** console.
181
181
1. Right-click on **Active Directory Domains and Trusts**.
182
182
1. Select **Properties**, and then select **Add**.
183
-
1. Add "file.core.windows.net" as the UPN Suffix.
183
+
1. Add "file.core.windows.net" as the UPN suffix.
184
184
1. Select **Apply**, then **OK** to close the wizard.
185
185
186
186
Next, add the suffix routing rule on **Forest 1**, so that it redirects to **Forest 2**.
@@ -197,58 +197,62 @@ Next, add the suffix routing rule on **Forest 1**, so that it redirects to **For
197
197
Validate that the trust is working by running the **klist** command to display the contents of the Kerberos credentials cache and key table.
198
198
199
199
1. Sign in to a machine or VM that's joined to a domain in **Forest 1** and open a Windows command prompt.
200
+
200
201
1. To display the credentials cache for the domain-joined storage account in **Forest 2**, run one of the following commands:
201
-
- If you used the [Modify storage account name suffix and add CNAME record](#modify-storage-account-name-suffix-and-add-cname-record) method, run: `klist get cifs/onprem2sa.onpremad2.com`
202
+
- If you used the [Modify storage account SPN suffix and add CNAME record](#modify-storage-account-spn-suffix-and-add-cname-record) method, run: `klist get cifs/onprem2sa.onpremad2.com`
202
203
- If you used the [Add custom name suffix and routing rule](#add-custom-name-suffix-and-routing-rule) method, run: `klist get cifs/onprem2sa.file.core.windows.net`
204
+
203
205
1. You should see output similar to the following. The klist output differs slightly based on which method you used to configure domain suffixes.
1. Sign in to a machine or VM that's joined to a domain in **Forest 2** and open a Windows command prompt.
221
+
219
222
1. To display the credentials cache for the domain-joined storage account in **Forest 1**, run one of the following commands:
220
-
- If you used the [Modify storage account name suffix and add CNAME record](#modify-storage-account-name-suffix-and-add-cname-record) method, run: `klist get cifs/onprem1sa.onpremad1.com`
223
+
- If you used the [Modify storage account SPN suffix and add CNAME record](#modify-storage-account-spn-suffix-and-add-cname-record) method, run: `klist get cifs/onprem1sa.onpremad1.com`
221
224
- If you used the [Add custom name suffix and routing rule](#add-custom-name-suffix-and-routing-rule) method, run: `klist get cifs/onprem1sa.file.core.windows.net`
225
+
222
226
1. You should see output similar to the following. The klist output differs slightly based on which method you used to configure domain suffixes.
If you see the preceding output, you're done. If you don't, follow these steps to provide alternative UPN suffixes to make multi-forest authentication work.
249
253
250
254
> [!IMPORTANT]
251
-
> This method works only in environments with two forests. If you have more than two forests, use one of the other methods to configure domain suffixes.
255
+
> Adding a custom name suffix and routing rule works only in environments with two forests. If you have more than two forests, [modify the storage account SPN suffix and add a CNAME record](#modify-storage-account-spn-suffix-and-add-cname-record) instead.
252
256
253
257
First, add a new custom suffix on **Forest 1**.
254
258
@@ -268,9 +272,8 @@ Next, add the suffix routing rule on **Forest 2**.
268
272
1. Check if the "onprem1sa.file.core.windows.net" suffix shows up. If not, select **Refresh**.
269
273
1. Select "onprem1sa.file.core.windows.net", then select **Enable** and **Apply**.
270
274
271
-
## Next steps
275
+
## Next step
272
276
273
-
For more information, see the following resources:
277
+
For more information, see:
274
278
275
-
-[Overview of Azure Files identity-based authentication support (SMB only)](storage-files-active-directory-overview.md)
276
-
-[Azure Files FAQ](storage-files-faq.md)
279
+
-[Overview of Azure Files identity-based authentication (SMB only)](storage-files-active-directory-overview.md)
0 commit comments