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: azure-stack/operator/azure-stack-integrate-identity.md
+43-56Lines changed: 43 additions & 56 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Integrate AD FS identity with your Azure Stack Hub datacenter
3
3
description: Learn how to integrate Azure Stack Hub AD FS identity provider with your datacenter AD FS.
4
4
author: sethmanheim
5
5
ms.topic: how-to
6
-
ms.date: 05/15/2023
6
+
ms.date: 08/12/2025
7
7
ms.author: sethm
8
8
ms.reviewer: thoroet
9
9
ms.lastreviewed: 05/10/2019
@@ -48,25 +48,25 @@ Requirements:
48
48
49
49
## Setting up Graph integration
50
50
51
-
Graph only supports integration with a single Active Directory forest. If multiple forests exist, only the forest specified in the configuration will be used to fetch users and groups.
51
+
Graph only supports integration with a single Active Directory forest. If multiple forests exist, only the forest specified in the configuration is used to fetch users and groups.
52
52
53
53
The following information is required as inputs for the automation parameters:
|`CustomADGlobalCatalog`|AD FS Forest FQDN|FQDN of the target Active Directory forest that you want to integrate with|Contoso.com|
58
-
|`CustomADAdminCredentials`||A user with LDAP Read permission|graphservice|
57
+
|`CustomADGlobalCatalog`|AD FS Forest FQDN|FQDN of the target Active Directory forest that you want to integrate with.|Contoso.com|
58
+
|`CustomADAdminCredentials`||A user with LDAP **Read** permission.|graphservice|
59
59
60
-
### Configure Active Directory Sites
60
+
### Configure Active Directory sites
61
61
62
62
For Active Directory deployments having multiple sites, configure the closest Active Directory Site to your Azure Stack Hub deployment. The configuration avoids having the Azure Stack Hub Graph service resolve queries using a Global Catalog Server from a remote site.
63
63
64
-
Add the Azure Stack Hub [Public VIP network](azure-stack-network.md#public-vip-network) subnet to the Active Directory Site closest to Azure Stack Hub. For example, let's say your Active Directory has two sites: Seattle and Redmond. If Azure Stack Hub is deployed at the Seattle site, you would add the Azure Stack Hub Public VIP network subnet to the Active Directory site for Seattle.
64
+
Add the Azure Stack Hub [Public VIP network](azure-stack-network.md#public-vip-network) subnet to the Active Directory Site closest to Azure Stack Hub. For example, your Active Directory has two sites: Seattle and Redmond. If Azure Stack Hub is deployed at the Seattle site, you add the Azure Stack Hub Public VIP network subnet to the Active Directory site for Seattle.
65
65
66
-
For more information on Active Directory Sites, see [Designing the site topology](/windows-server/identity/ad-ds/plan/designing-the-site-topology).
66
+
For more information about Active Directory sites, see [Designing the site topology](/windows-server/identity/ad-ds/plan/designing-the-site-topology).
67
67
68
68
> [!NOTE]
69
-
> If your Active Directory consist of a single site, you can skip this step. If you have a catch-all subnet configured, validate that the Azure Stack Hub Public VIP network subnet isn't part of it.
69
+
> If your Active Directory consists of a single site, you can skip this step. If you have a catch-all subnet configured, validate that the Azure Stack Hub public VIP network subnet isn't part of it.
70
70
71
71
### Create user account in the existing Active Directory (optional)
72
72
@@ -76,22 +76,20 @@ Optionally, you can create an account for the Graph service in the existing Acti
76
76
-**Username**: graphservice
77
77
-**Password**: Use a strong password and configure the password to never expire.
78
78
79
-
No special permissions or membership is required.
79
+
No special permissions or membership are required.
80
80
81
81
#### Trigger automation to configure graph
82
82
83
83
For this procedure, use a computer in your datacenter network that can communicate with the privileged endpoint in Azure Stack Hub.
84
84
85
-
1. Open an elevated Windows PowerShell session (run as administrator), and connect to the IP address of the privileged endpoint. Use the credentials for **CloudAdmin** to authenticate.
85
+
1. Open an elevated Windows PowerShell session (run as administrator), and connect to the IP address of the privileged endpoint. Use the **CloudAdmin** credentials to authenticate.
When prompted, specify the credential for the user account that you want to use for the Graph service (such as graphservice). The input for the Register-DirectoryService cmdlet must be the forest name / root domain in the forest rather than any other domain in the forest.
106
+
When prompted, specify the credential for the user account that you want to use for the Graph service (such as graphservice). The input for the `Register-DirectoryService` cmdlet must be the forest name/root domain in the forest rather than any other domain in the forest.
119
107
120
108
> [!IMPORTANT]
121
-
> Wait for the credentials pop-up (Get-Credential isn't supported in the privileged endpoint) and enter the Graph Service Account credentials.
109
+
> Wait for the credentials pop-up (`Get-Credential` isn't supported in the privileged endpoint) and enter the Graph Service account credentials.
122
110
123
-
3. The **Register-DirectoryService** cmdlet has optional parameters that you can use in certain scenarios where the existing Active Directory validation fails. When this cmdlet is executed, it validates that the provided domain is the root domain, a global catalog server can be reached, and that the provided account is granted read access.
111
+
1. The `Register-DirectoryService` cmdlet has optional parameters that you can use in certain scenarios where the existing Active Directory validation fails. When this cmdlet is executed, it validates that the provided domain is the root domain, a global catalog server can be reached, and that the provided account is granted read access.
124
112
125
113
|Parameter|Description|
126
114
|---------|---------|
@@ -129,9 +117,9 @@ For this procedure, use a computer in your datacenter network that can communica
129
117
130
118
#### Graph protocols and ports
131
119
132
-
Graph service in Azure Stack Hub uses the following protocols and ports to communicate with a writeable Global Catalog Server (GC) and Key Distribution Center (KDC) that can process login requests in the target Active Directory forest.
120
+
The Graph service in Azure Stack Hub uses the following protocols and ports to communicate with a writeable Global Catalog Server (GC) and Key Distribution Center (KDC) that can process login requests in the target Active Directory forest.
133
121
134
-
Graph service in Azure Stack Hub uses the following protocols and ports to communicate with the target Active Directory:
122
+
The Graph service in Azure Stack Hub uses the following protocols and ports to communicate with the target Active Directory:
135
123
136
124
|Type|Port|Protocol|
137
125
|---------|---------|---------|
@@ -140,15 +128,15 @@ Graph service in Azure Stack Hub uses the following protocols and ports to commu
140
128
|LDAP GC|3268|TCP|
141
129
|LDAP GC SSL|3269|TCP|
142
130
143
-
## Setting up AD FS integration by downloading federation metadata
131
+
## Set up AD FS integration by downloading federation metadata
144
132
145
133
The following information is required as input for the automation parameters:
2. Copy the metadata file to a computer that can communicate with the privileged endpoint.
192
+
1. Copy the metadata file to a computer that can communicate with the privileged endpoint.
205
193
206
194
### Trigger automation to configure claims provider trust in Azure Stack Hub (using federation metadata file)
207
195
208
196
For this procedure, use a computer that can communicate with the privileged endpoint in Azure Stack Hub and has access to the metadata file you created in a previous step.
209
197
210
-
1. Open an elevated Windows PowerShell session and connect to the privileged endpoint.
198
+
1. Open an elevated Windows PowerShell session and connect to the privileged endpoint:
> When you rotate the certificate on the existing AD FS (account STS), you must set up the AD FS integration again. You must set up the integration even if the metadata endpoint is reachable or it was configured by providing the metadata file.
232
220
233
221
## Configure relying party on existing AD FS deployment (account STS)
@@ -271,7 +259,7 @@ If you decide to manually run the commands, follow these steps:
271
259
=> issue(claim = c);
272
260
```
273
261
274
-
2. Validate that Windows Forms-based authentication for extranet and intranet is enabled. You can check if its already enabled by running the following cmdlet:
262
+
1. Validate that Windows Forms-based authentication for extranet and intranet is enabled. You can check if its already enabled by running the following cmdlet:
@@ -280,7 +268,7 @@ If you decide to manually run the commands, follow these steps:
280
268
> [!Note]
281
269
> The Windows Integrated Authentication (WIA) supported user agent strings may be outdated for your AD FS deployment and may require an update to support the latest clients. You can read more about updating the WIA supported user agent strings in the article [Configuring intranet forms-based authentication for devices that don't support WIA](/windows-server/identity/ad-fs/operations/configure-intranet-forms-based-authentication-for-devices-that-do-not-support-wia).<br><br>For steps to enable Form-based authentication policy, see [Configure Authentication Policies](/windows-server/identity/ad-fs/operations/configure-authentication-policies).
282
270
283
-
3. To add the relying party trust, run the following Windows PowerShell command on your AD FS instance or a farm member. Make sure to update the AD FS endpoint and point to the file created in Step 1.
271
+
1. To add the relying party trust, run the following Windows PowerShell command on your AD FS instance or a farm member. Make sure to update the AD FS endpoint and point to the file created in Step 1.
284
272
285
273
> [!IMPORTANT]
286
274
> For customers running Azure Stack Hub versions 2002 and later, TLS 1.2 is enforced on the Azure Stack Hub ADFS endpoint. As such, [TLS 1.2 must also be enabled](/mem/configmgr/core/plan-design/security/enable-tls-1-2-client) on the customer ADFS servers. Otherwise, the following error will occur when running `Add-ADFSRelyingPartyTrust` on the customer owned ADFS host/farm:
@@ -302,7 +290,7 @@ If you decide to manually run the commands, follow these steps:
302
290
> [!IMPORTANT]
303
291
> You must use the AD FS MMC snap-in to configure the Issuance Authorization Rules when using Windows Server 2012 or 2012 R2 AD FS.
304
292
305
-
4. When you use Internet Explorer or the Microsoft Edge browser to access Azure Stack Hub, you must ignore token bindings. Otherwise, the sign-in attempts fail. On your AD FS instance or a farm member, run the following command:
293
+
1. When you use the Microsoft Edge browser to access Azure Stack Hub, you must ignore token bindings. Otherwise, the sign-in attempts fail. On your AD FS instance or a farm member, run the following command:
306
294
307
295
> [!note]
308
296
> This step isn't applicable when using Windows Server 2012 or 2012 R2 AD FS. In that case, it's safe to skip this command and continue with the integration.
@@ -321,15 +309,14 @@ There are many scenarios that require the use of a service principal name (SPN)
321
309
- Various apps.
322
310
- You require a non-interactive sign-in.
323
311
324
-
> [!Important]
312
+
> [!IMPORTANT]
325
313
> AD FS only supports interactive sign-in sessions. If you require a non-interactive sign-in for an automated scenario, you must use a SPN.
326
314
327
315
For more information on creating an SPN, see [Create service principal for AD FS](./give-app-access-to-resources.md).
328
316
329
-
330
317
## Troubleshooting
331
318
332
-
### Configuration Rollback
319
+
### Configuration rollback
333
320
334
321
If an error occurs that leaves the environment in a state where you can no longer authenticate, a rollback option is available.
335
322
@@ -340,7 +327,7 @@ If an error occurs that leaves the environment in a state where you can no longe
340
327
Enter-PSSession -ComputerName <IP Address of ERCS> -ConfigurationName PrivilegedEndpoint -Credential $creds
341
328
```
342
329
343
-
2. Then run the following cmdlet:
330
+
1. Then run the following cmdlet:
344
331
345
332
```powershell
346
333
Reset-DatacenterIntegrationConfiguration
@@ -357,16 +344,16 @@ If an error occurs that leaves the environment in a state where you can no longe
357
344
358
345
### Collecting additional logs
359
346
360
-
If any of the cmdlets fail, you can collect additional logs by using the `Get-Azurestacklogs` cmdlet.
347
+
If any of the cmdlets fail, you can collect additional logs by using the `Get-AzureStackLog` cmdlet.
361
348
362
349
1. Open an elevated Windows PowerShell session and run the following commands:
363
350
364
351
```powershell
365
352
$creds = Get-Credential
366
-
Enter-pssession -ComputerName <IP Address of ERCS> -ConfigurationName PrivilegedEndpoint -Credential $creds
353
+
Enter-PSSession -ComputerName <IP Address of ERCS> -ConfigurationName PrivilegedEndpoint -Credential $creds
0 commit comments