Skip to content

Commit 03e61c3

Browse files
authored
Merge pull request #34371 from MicrosoftDocs/main
6/10/2025 PM Publish
2 parents d5e2b79 + e1b14e9 commit 03e61c3

File tree

9 files changed

+100
-60
lines changed

9 files changed

+100
-60
lines changed

azure-sql/database/always-encrypted-landing.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ metadata:
2121

2222
landingContent:
2323
# Cards and links should be based on top customer tasks or top subjects
24-
# Start card title with a verb
24+
# Start card title with a verb
2525

2626
# Card
2727
- title: Always Encrypted overview
@@ -127,4 +127,4 @@ landingContent:
127127
- linkListType: how-to-guide
128128
links:
129129
- text: Develop applications using Always Encrypted
130-
url: /sql/relational-databases/security/encryption/always-encrypted-client-development
130+
url: /sql/relational-databases/security/encryption/always-encrypted-client-development

docs/docfx.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,7 @@
116116
"**/*.md": "Conceptual",
117117
"**/*.yml": "Conceptual",
118118
"**/toc.md": null,
119-
"**/toc.yml": null,
120-
"**/index.yml": "LandingPage"
119+
"**/toc.yml": null
121120
},
122121
"monikerRange": {
123122
"ado/**/*.md": ">= sql-server-2016 || >= sql-server-linux-2017 || = azuresqldb-current || = azuresqldb-mi-current || = azure-sqldw-latest || >= aps-pdw-2016",
@@ -475,4 +474,4 @@
475474
}
476475
}
477476
}
478-
}
477+
}

docs/sql-server/azure-arc/agent-extension-files.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ ms.topic: reference
1212

1313
[!INCLUDE [SQL Server](../../includes/applies-to-version/sqlserver.md)]
1414

15-
This article lists system objects - files, registry keys, and tables deployed and managed by the Azure extension for SQL Server.
15+
This article lists system objects - files, registry keys, Windows services and tables deployed and managed by the Azure extension for SQL Server.
1616

1717
## Windows server files
1818

@@ -37,6 +37,22 @@ This article lists system objects - files, registry keys, and tables deployed an
3737
> [!NOTE]
3838
> [!INCLUDE [least-privilege-default](includes/least-privilege-default.md)]
3939
40+
## Windows Services
41+
42+
| Service name | Display name | Process name | Description |
43+
| :----- | :----- | :----- | :----- |
44+
| SqlServerExtension |Microsoft Sql Server Extension Service | SqlServerExtension.exe | Connects your SQL Server instance to Azure. |
45+
| himds | Azure Hybrid Instance Metadata Service | `himds.exe` | Synchronizes metadata with Azure and hosts a local REST API for extensions and applications to access the metadata and request Microsoft Entra managed identity tokens |
46+
| GCArcService | Machine configuration Arc Service | `gc_arc_service.exe` (gc_service.exe earlier than version 1.36) | Audits and enforces Azure machine configuration policies on the machine. |
47+
| ExtensionService | Machine configuration Extension Service | `gc_extension_service.exe` (gc_service.exe earlier than version 1.36) | Installs, updates, and manages extensions on the machine. |
48+
49+
## Virtual service accounts
50+
51+
| Virtual Account | Description |
52+
|------------------|-------------|
53+
| `NT SERVICE\himds` | Unprivileged account used to run the Hybrid Instance Metadata Service. |
54+
| `NT Service\SQLServerExtension` | Unprivileged account used to run the SQL Server Extension Service in least privilege mode. |
55+
4056
## Registry keys
4157

4258
Base key: `HKEY_LOCAL_MACHINE`

docs/sql-server/azure-arc/backup-local.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ If you use Azure extension for SQL Server [version 1.1.2504.99](release-notes.md
100100

101101
Automated backups are disabled by default.
102102

103-
After you assigned permissions, you can schedule automated backups. After the automated backups are configured, the Arc SQL extension initiates a backup to the default backup location.
103+
After you assigned permissions, you can schedule automated backups. After the automated backups are configured, the Azure Extension for SQL Server initiates a backup to the default backup location.
104104

105105
The backups are native SQL Server backups, so all backup history is available in the backup related tables in the msdb database.
106106

docs/sql-server/azure-arc/manage-availability-group.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ Azure portal displays the health and status of the Always on Availability Group
4343
- Failover mode
4444
- Synchronization state
4545

46-
When the availability group (AG) dashboard loads, fetching the dashboard details is done via a roundtrip down to the [!INCLUDE [ssazurearc](../../includes/ssazurearc.md)] instance. The Arc SQL extension agent connects to the SQL Server, queries the AG related DMV (Dynamic Management Views) metadata, and sends the information back to the Azure portal where it is displayed.
46+
When the availability group (AG) dashboard loads, fetching the dashboard details is done via a roundtrip down to the [!INCLUDE [ssazurearc](../../includes/ssazurearc.md)] instance. The Azure Extension for SQL Server connects to the SQL Server instance, queries the AG related DMV (Dynamic Management Views) metadata, and sends the information back to the Azure portal where it is displayed.
4747

4848
## Failover
4949

docs/sql-server/azure-arc/managed-identity.md

Lines changed: 74 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,75 @@
11
---
22
title: Managed Identity
3-
description: Learn how to use a managed identity with SQL Server 2025.
3+
description: Learn how to use a managed identity with SQL Server 2025.
44
author: PratimDasgupta
55
ms.author: prdasgu
66
ms.reviewer: mikeray, randolphwest, mathoma, vanto
7-
ms.date: 05/23/2025
7+
ms.date: 06/09/2025
88
ms.service: sql
99
ms.topic: how-to
10-
# CustomerIntent: As a database engineer I need to understand how to implement managed identity with SQL Server 2025.
11-
monikerRange: ">=sql-server-ver17"
1210
ms.custom:
1311
- build-2025
12+
# CustomerIntent: As a database engineer I need to understand how to implement managed identity with SQL Server 2025.
13+
monikerRange: ">=sql-server-ver17"
1414
---
15-
# Managed identity (preview) | SQL Server enabled by Azure Arc
15+
# Managed identity (preview) for SQL Server enabled by Azure Arc
1616

1717
[!INCLUDE [sqlserver2025](../../includes/applies-to-version/sqlserver2025.md)]
1818

19-
This article describes how to configure a managed identity for SQL Server enabled by Azure Arc.
19+
This article describes how to configure a managed identity for SQL Server enabled by Azure Arc.
2020

2121
[!INCLUDE [sssql25-md](../../includes/sssql25-md.md)] includes managed identity support for SQL Server on Windows. Use a managed identity to interact with resources in Azure by using Microsoft Entra authentication.
2222

23-
> [!NOTE]
23+
> [!NOTE]
2424
> Using a managed identity with SQL Server 2025 is currently in **preview**.
2525
26-
## Overview
26+
## Overview
2727

2828
[!INCLUDE [sssql25-md](../../includes/sssql25-md.md)] introduces support for [Microsoft Entra managed identities](/entra/identity/managed-identities-azure-resources/overview). Use managed identities to authenticate to Azure services without needing to manage credentials. Managed identities are automatically managed by Azure and can be used to authenticate to any service that supports Microsoft Entra authentication. With [!INCLUDE [sssql25-md](../../includes/sssql25-md.md)], you can use managed identities both to authenticate inbound connections, and also to authenticate outbound connections to Azure services.
2929

3030
When you connect your SQL Server instance to Azure Arc, a system-assigned managed identity is automatically created for the SQL Server hostname. After the managed identity is created, you must associate the identity with the SQL Server instance and the Microsoft Entra tenant ID by updating the registry.
3131

3232
When using managed identity with SQL Server enabled by Azure Arc, consider the following:
33+
3334
- The managed identity is assigned at the Azure Arc server level.
34-
- Only system-assigned managed identities are supported.
35+
- Only system-assigned managed identities are supported.
3536
- SQL Server uses this Azure Arc server level managed identity as the **primary managed identity**.
3637
- SQL Server can use this primary managed identity in either `inbound` and/or `outbound` connections.
37-
- `Inbound connections` are logins and users connecting to SQL Server. Inbound connections can also be achieved by using [App Registration available from SQL Server 2022](../../sql-server/azure-arc/entra-authentication-setup-tutorial.md).
38-
- `Outbound connections` are SQL Server connections to Azure resources, like backup to URL, or connecting to Azure Key Vault.
38+
- `Inbound connections` are logins and users connecting to SQL Server. Inbound connections can also be achieved by using [App Registration available from SQL Server 2022](entra-authentication-setup-tutorial.md).
39+
- `Outbound connections` are SQL Server connections to Azure resources, like backup to URL, or connecting to Azure Key Vault.
3940
- App Registration **can't** enable a SQL Server to make outbound connections. Outbound connections need a primary managed identity assigned to the SQL Server.
4041

4142
## Prerequisites
4243

43-
To use a managed identity with SQL Server 2025, you need to [connect the SQL Server instance to Azure Arc](connect.md).
44+
Before you can use a managed identity with SQL Server enabled by Azure Arc, ensure that you meet the following prerequisites:
45+
46+
- [Connect the SQL Server instance to Azure Arc](connect.md).
47+
- The latest version of the [Azure Extension for SQL Server](release-notes.md).
48+
49+
## Enable the primary managed identity
50+
51+
If you've installed the Azure Extension for SQL Server to your server, you can enable the primary managed identity for your SQL Server instance directly from the Azure portal. It's also possible to enable the primary managed identity manually by updating the registry, but should be done with extreme caution.
52+
53+
### [Azure portal](#tab/portal)
54+
55+
To enable the primary managed identity in the Azure portal, follow these steps:
4456

45-
> [!CAUTION]
46-
> Microsoft Entra authentication (**Inbound**) in SQL Server 2025 doesn't currently support users who are members of more than 200 Microsoft Entra groups. Such an authentication attempt can result in unpredictable behavior and affect the functionality of your instance.
57+
1. Go to your [SQL Server enabled by Azure Arc](https://portal.azure.com/#view/Microsoft_Azure_ArcCenterUX/ArcCenterMenuBlade/~/sqlServerInstances) resource in the Azure portal.
58+
1. Under **Settings**, select **Microsoft Entra ID and Purview** to open the **Microsoft Entra ID and Purview** page.
4759

48-
## Grant permission to the Tokens folder
60+
> [!NOTE]
61+
> If you don't see the **Enable Microsoft Entra ID authentication** option, ensure that your SQL Server instance is connected to Azure Arc and that you have the latest SQL extension installed.
62+
63+
1. On the **Microsoft Entra ID and Purview** page, check the box next to **Use a primary managed identity** and then use **Save** to apply your configuration:
64+
65+
:::image type="content" source="media/managed-identity/entra-portal.png" alt-text="Screenshot of the Microsoft Entra option in the Azure portal." lightbox="media/managed-identity/entra-portal.png":::
66+
67+
68+
### [Manually](#tab/manual)
69+
70+
It's possible to manually enable the primary managed identity for your SQL Server instance by updating the registry, but should be done with extreme caution.
71+
72+
### Grant permission to the Tokens folder
4973

5074
Grant **Read & execute** operating system permissions on the folder `C:\ProgramData\AzureConnectedMachineAgent\Tokens\` to the SQL Server 2025 instance service account. By default, the service account is `NT Service\MSSQLSERVER`, or for named instances, `NT Service\MSSQL$<instancename>`.
5175

@@ -55,7 +79,7 @@ You might need to grant admin permissions for the SQL Server service account on
5579

5680
:::image type="content" source="media/managed-identity/azure-connected-machine-agent-folder-permissions.png" alt-text="Screenshot of AzureConnectedMachineAgent folder Security properties tab.":::
5781

58-
## Add SQL Server service account to the Hybrid agent extension applications group
82+
### Add SQL Server service account to the Hybrid agent extension applications group
5983

6084
Add the SQL Server service account (default: `NT Service\MSSQLSERVER` or for named instances, `NT Service\MSSQL$instancename`) to the **Hybrid agent extension applications** group.
6185

@@ -67,7 +91,7 @@ Add the SQL Server service account (default: `NT Service\MSSQLSERVER` or for nam
6791

6892
:::image type="content" source="media/managed-identity/hybrid-agent-extension-applications-group-properties.png" alt-text="Screenshot of the hybrid agent extension application group properties.":::
6993

70-
## Update the registry
94+
### Update the registry
7195

7296
> [!WARNING]
7397
> Incorrectly editing the registry can severely damage your system. Before making changes to the registry, we recommend you back up any valued data on the computer.
@@ -84,39 +108,39 @@ Create the following entries:
84108
| `ArcServerSystemAssignedManagedIdentityTenantId` | `Arc-AAD-Tenant-ID` |
85109
| `ArcServerSystemAssignedManagedIdentityClientId` | `Arc-Machine-Client-Id` |
86110
| `PrimaryAADTenant` | `Arc-AAD-Tenant-ID` |
87-
| `AADChannelMaxBufferedMessageSize`|`200000` |
88-
| `AADGraphEndPoint`|`graph.windows.net` |
89-
| `AADGroupLookupMaxRetryAttempts`|`10` |
90-
| `AADGroupLookupMaxRetryDuration`|`30000` |
91-
| `AADGroupLookupRetryInitialBackoff`|`100` |
92-
| `AADServerAdminSid`|`00000000-0000-0000-0000-000000000000` |
93-
| `AuthenticationEndpoint`|`login.microsoftonline.com` |
94-
| `CacheMaxSize`|`300` |
95-
| `ClientCertBlackList`|Empty (no value) |
96-
| `FederationMetadataEndpoint`|`login.windows.net` |
97-
| `GraphAPIEndpoint`|`graph.windows.net` |
98-
| `IssuerURL`|`https://sts.windows.net/` |
99-
| `OnBehalfOfAuthority`|`https://login.windows.net/` |
100-
| `STSURL`|`https://login.windows.net/` |
101-
| `MsGraphEndPoint`|`graph.microsoft.com` |
102-
| `SendX5c`|`false` |
103-
| `ServicePrincipalName`|`https://database.windows.net/` |
104-
| `ServicePrincipalNameForArcadia`|`https://sql.azuresynapse.net` |
105-
| `ServicePrincipalNameForArcadiaDogfood`|`https://sql.azuresynapse-dogfood.net` |
106-
| `ServicePrincipalNameNoSlash`|`https://database.windows.net` |
107-
| `AADBecWSConnectionPoolMaxSize`|`500` |
108-
109-
## Back up and edit the registry
111+
| `AADChannelMaxBufferedMessageSize` | `200000` |
112+
| `AADGraphEndPoint` | `graph.windows.net` |
113+
| `AADGroupLookupMaxRetryAttempts` | `10` |
114+
| `AADGroupLookupMaxRetryDuration` | `30000` |
115+
| `AADGroupLookupRetryInitialBackoff` | `100` |
116+
| `AADServerAdminSid` | `00000000-0000-0000-0000-000000000000` |
117+
| `AuthenticationEndpoint` | `login.microsoftonline.com` |
118+
| `CacheMaxSize` | `300` |
119+
| `ClientCertBlackList` | Empty (no value) |
120+
| `FederationMetadataEndpoint` | `login.windows.net` |
121+
| `GraphAPIEndpoint` | `graph.windows.net` |
122+
| `IssuerURL` | `https://sts.windows.net/` |
123+
| `OnBehalfOfAuthority` | `https://login.windows.net/` |
124+
| `STSURL` | `https://login.windows.net/` |
125+
| `MsGraphEndPoint` | `graph.microsoft.com` |
126+
| `SendX5c` | `false` |
127+
| `ServicePrincipalName` | `https://database.windows.net/` |
128+
| `ServicePrincipalNameForArcadia` | `https://sql.azuresynapse.net` |
129+
| `ServicePrincipalNameForArcadiaDogfood` | `https://sql.azuresynapse-dogfood.net` |
130+
| `ServicePrincipalNameNoSlash` | `https://database.windows.net` |
131+
| `AADBecWSConnectionPoolMaxSize` | `500` |
132+
133+
### Back up and edit the registry
110134

111135
The following sections describe how to back up and edit the registry with Registry Editor.
112136

113-
### Open the Registry Editor
137+
#### Open the Registry Editor
114138

115139
1. Press **Windows key + R** to open the Run dialog box.
116140
1. Type `regedit` and press **Enter**.
117141
1. If prompted by User Account Control, select **Yes**.
118142

119-
### Back up the registry key
143+
#### Back up the registry key
120144

121145
This step backs up the registry before you make any changes. You can import this file back into the registry later if your changes cause a problem.
122146

@@ -127,7 +151,7 @@ This step backs up the registry before you make any changes. You can import this
127151
1. Ensure **All** is selected in the Export range.
128152
1. Select **Save**.
129153

130-
### Add entries
154+
#### Add entries
131155

132156
In this step, you'll add entries to the registry with Registry Editor.
133157

@@ -143,7 +167,7 @@ In this step, you'll add entries to the registry with Registry Editor.
143167

144168
:::image type="content" source="media/managed-identity/federated-authentication-registry-key.png" alt-text="Screenshot of the registry set with correct entries." lightbox="media/managed-identity/federated-authentication-registry-key.png":::
145169

146-
### Restore the registry key (if needed)
170+
#### Restore the registry key (if needed)
147171

148172
If you need to restore to previous registry settings, follow these steps.
149173

@@ -155,16 +179,17 @@ If you need to restore to previous registry settings, follow these steps.
155179

156180
For details, review [How to add, modify, or delete registry subkeys and values by using a .reg file](https://support.microsoft.com/topic/how-to-add-modify-or-delete-registry-subkeys-and-values-by-using-a-reg-file-9c7f37cf-a5e9-e1cd-c4fa-2a26218a1a23).
157181

158-
## Grant application permissions to the identity
182+
---
183+
184+
## Grant application permissions to the identity
159185

160186
The system-assigned managed identity, which uses the Arc-enabled machine name, must have the following Microsoft Graph application permissions (app roles): `User.Read.All`, `GroupMember.Read.All`, and `Application.Read.All`.
161187

162-
You can use PowerShell to grant required permissions to the managed identity. Alternatively, you can [create a role-assignable group](/entra/identity/role-based-access-control/groups-create-eligible). After the group is created, assign the **Directory readers** role to the group, and add all system-assigned managed identities for your Arc-enabled machines to the group.
188+
You can use PowerShell to grant required permissions to the managed identity. Alternatively, you can [create a role-assignable group](/entra/identity/role-based-access-control/groups-create-eligible). After the group is created, assign the **Directory readers** role to the group, and add all system-assigned managed identities for your Arc-enabled machines to the group.
163189

164190
The following PowerShell script grants the required permissions to the managed identity:
165191

166192
```powershell
167-
168193
# Update these variables to match your Azure & Arc machine setup
169194
$tenantID = '<Enter-Your-Azure-Tenant-Id>'
170195
$managedIdentityName = '<Enter-Your-Arc-HostMachine-Name>'
@@ -232,7 +257,7 @@ Follow the steps in the [Microsoft Entra tutorial](../../sql-server/azure-arc/en
232257
Consider the following limitations when using a managed identity with SQL Server 2025:
233258

234259
- Microsoft Entra authentication is only supported with Arc enabled SQL Server 2025 running on Windows Server.
235-
- Using Microsoft Entra authentication with failover cluster instances is not supported.
260+
- Using Microsoft Entra authentication with failover cluster instances isn't supported.
236261
- The identity you choose to authenticate to SQL Server has to have either the **Directory Readers** role in Microsoft Entra ID or the following three Microsoft Graph application permissions (app roles): `User.Read.All`, `GroupMember.Read.All`, and `Application.Read.All`.
237262
- Once Microsoft Entra authentication is enabled, disabling isn't advisable. Disabling Microsoft Entra authentication forcefully by deleting registry entries can result in unpredictable behavior with SQL Server 2025.
238263
- Authenticating to SQL Server on Arc machines through Microsoft Entra authentication using the [FIDO2 method](/azure/active-directory/authentication/howto-authentication-passwordless-faqs) isn't currently supported.
@@ -241,4 +266,4 @@ Consider the following limitations when using a managed identity with SQL Server
241266

242267
- [Microsoft Entra authentication for SQL Server](../../relational-databases/security/authentication-access/azure-ad-authentication-sql-server-overview.md)
243268
- [What are managed identities for Azure resources?](/entra/identity/managed-identities-azure-resources/overview)
244-
- [Enable Microsoft Entra authentication - SQL Server on Azure VMs](/azure/azure-sql/virtual-machines/windows/configure-azure-ad-authentication-for-sql-vm)
269+
- [Enable Microsoft Entra authentication for SQL Server on Azure VMs](/azure/azure-sql/virtual-machines/windows/configure-azure-ad-authentication-for-sql-vm)
Loading

0 commit comments

Comments
 (0)