Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S'applique à : SQL Server 2025 (17.x)
- SQL Server 2022
- SQL Server 2025
Azure SQL Database & Azure SQL Managed Instance - SQL Server sur les machines virtuelles Azure
Cet article fournit des instructions pas à pas pour mettre en place et configurer les identités managées Microsoft Entra ID pour SQL Server, activées par Azure Arc.
Pour obtenir une vue d’ensemble de l’identité managée avec SQL Server, consultez Identité managée pour SQL Server activée par Azure Arc.
Prerequisites
Avant de pouvoir utiliser une identité managée avec SQL Server activé par Azure Arc, vérifiez que vous remplissez les conditions préalables suivantes :
- Pris en charge pour SQL Server 2025 et versions ultérieures, fonctionnant sous Windows.
- Connectez votre SQL Server à Azure Arc.
- Dernière version de l’extension Azure pour SQL Server.
Activer l’identité managée principale
Si vous avez installé l'extension Azure pour SQL Server sur votre serveur, vous pouvez activer l'identité managée principale de votre instance de SQL Server directement à partir du portail Azure. Il est également possible d’activer manuellement l’identité managée principale en mettant à jour le Registre, mais doit être effectuée avec une prudence extrême.
- portail Azure
- Manuellement
Pour activer l’identité managée principale dans le portail Azure, procédez comme suit :
Accédez à votre SQL Server activé par Azure Arc ressource dans le portail Azure.
Sous Settings, sélectionnez Microsoft Entra ID et Purview pour ouvrir la page Microsoft Entra ID et Purview.
Note
Si vous ne voyez pas l'option Enable Microsoft Entra ID authentication, vérifiez que votre instance de SQL Server est connectée à Azure Arc et que vous avez installé la dernière extension SQL.
Dans la page Microsoft Entra ID et Purview, cochez la case en regard de Utilisez une identité managée principale puis utilisez Save pour appliquer votre configuration :
Accorder à l'application des autorisations d'accès à l'identité
Important
Seul un administrateur de rôle privilégié ou un rôle supérieur peut accorder ces autorisations.
Pour activer l’authentification Microsoft Entra pour SQL Server instances, chaque identité managée affectée par le système nécessite des autorisations User.Read.All, GroupMember.Read.All et Application.Read.All pour interroger Microsoft Graph. Pour plus d’informations sur ces autorisations, consultez :
- User.Read.All : permet d’accéder à Microsoft Entra informations utilisateur.
- GroupMember.Read.All : autorise l’accès aux informations de groupe Microsoft Entra.
- Application.Read.All : autorise l’accès aux informations de Microsoft Entra principal de service (application).
Ces autorisations sont des autorisations au niveau de l’application (rôles d’application) et doivent être affectées directement à chaque identité managée. Ils ne peuvent pas être attribués manuellement à un groupe de sécurité Microsoft Entra et accordés aux membres par le biais de l'appartenance au groupe. Pour les environnements avec de nombreuses machines, une alternative consiste à affecter le rôle Directory Readers à un groupe de sécurité assignable par rôle Microsoft Entra et à ajouter les identités gérées en tant que membres. Contrairement aux autorisations de rôle d’application, ce rôle Microsoft Entra peut être accordé au niveau du groupe, ce qui simplifie la gestion à grande échelle. Toutefois, Directory Reader accorde un accès en lecture étendu à tous les objets d’annuaire, dépassant considérablement les trois autorisations de API Graph ciblées. Le rôle Lecteurs d’annuaire n’est pas recommandé pour les environnements de production où un accès avec le moins de privilèges possible est requis.
Le script PowerShell suivant accorde les autorisations requises à l’identité managée. Vérifiez que ce script est exécuté sur PowerShell 7.5 ou une version ultérieure et que le module Microsoft.Graph 2.28 ou version ultérieure est installé.
# Set your Azure tenant and managed identity name
$tenantID = '<Enter-Your-Azure-Tenant-Id>'
$managedIdentityName = '<Enter-Your-Arc-HostMachine-Name>'
# Connect to Microsoft Graph
try {
Connect-MgGraph -TenantId $tenantID -ErrorAction Stop
Write-Output "Connected to Microsoft Graph successfully."
}
catch {
Write-Error "Failed to connect to Microsoft Graph: $_"
return
}
# Get Microsoft Graph service principal
$graphAppId = '00000003-0000-0000-c000-000000000000'
$graphSP = Get-MgServicePrincipal -Filter "appId eq '$graphAppId'"
if (-not $graphSP) {
Write-Error "Microsoft Graph service principal not found."
return
}
# Get the managed identity service principal
$managedIdentity = Get-MgServicePrincipal -Filter "displayName eq '$managedIdentityName'"
if (-not $managedIdentity) {
Write-Error "Managed identity '$managedIdentityName' not found."
return
}
# Define roles to assign
$requiredRoles = @(
"User.Read.All",
"GroupMember.Read.All",
"Application.Read.All"
)
# Assign roles using scoped syntax
foreach ($roleValue in $requiredRoles) {
$appRole = $graphSP.AppRoles | Where-Object {
$_.Value -eq $roleValue -and $_.AllowedMemberTypes -contains "Application"
}
if ($appRole) {
try {
New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $managedIdentity.Id `
-PrincipalId $managedIdentity.Id `
-ResourceId $graphSP.Id `
-AppRoleId $appRole.Id `
-ErrorAction Stop
Write-Output "Successfully assigned role '$roleValue' to '$managedIdentityName'."
}
catch {
Write-Warning "Failed to assign role '$roleValue': $_"
}
}
else {
Write-Warning "Role '$roleValue' not found in Microsoft Graph AppRoles."
}
}
Créer des connexions et des utilisateurs
Suivez les étapes du didacticiel Microsoft Entra pour créer des connexions et des utilisateurs pour l’identité managée.