Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
S’applique à : SQL Server 2022 (16.x) et versions ultérieures.
Cet article explique comment s’authentifier auprès de Microsoft Entra ID sans configurer Azure Arc pour vos versions sql Server 2022 et ultérieures locales. L’authentification Microsoft Entra est un service de gestion des identités basé sur le cloud qui fournit un accès sécurisé aux bases de données SQL Server. Ce tutoriel vous guide tout au long du processus de configuration de l’authentification Microsoft Entra pour SQL Server sur Windows sans Azure Arc.
Remarque
Microsoft Entra ID était précédemment connu sous le nom d'Azure Active Directory (Azure AD).
Dans ce tutoriel, vous allez apprendre à :
- Ajoutez un certificat pour SQL Server.
- Installez adal.dll utilisé pour la connexion à SQL Server.
- Créez et inscrivez une application Microsoft Entra ID.
- Accordez des autorisations d’application.
- Chargez le certificat dans l’application.
- Ajoutez des valeurs de Registre pour activer l’authentification Microsoft Entra pour SQL Server.
Conditions préalables
- Une version locale de SQL Server 2022 ou ultérieure.
- Client Microsoft Entra ID actif.
- Cette configuration utilise une inscription d’application pour associer SQL Server à l’ID Microsoft Entra. Suivez le guide pour inscrire une application dans Microsoft Entra ID.
- Vérifiez que SQL Server dispose d’une connectivité réseau à Azure, en particulier au service et aux adresses Microsoft Entra ID suivants :
- login.windows.net.
- login.microsoftonline.com.
- graph.microsoft.com.
- graph.windows.net.
- database.windows.net.
- La liste complète des adresses IP et des URL n’est pas nécessaire, mais elle peut être trouvée dans l’article Microsoft 365 - URL et plages d’adresses IP.
Obtenir un certificat
- Obtenez un certificat à utiliser pour SQL Server et importez-le dans le magasin de certificats de l’ordinateur. Nous recommandons un certificat signé par l’autorité de certification.
Utilisez un nom CN unique pour le certificat qui ne correspond à aucun certificat installé dans le magasin de certificats.
Installez le certificat dans le magasin de certificats de votre ordinateur. Pour plus d’informations, consultez Importer le certificat dans le magasin d’ordinateurs local.
Ajoutez
Readdes autorisations pour le compte de service SQL Server sur le certificat.
Installer adal.dll
Installez adal.dll pour SQL Server. Cette bibliothèque est nécessaire pour la connexion à votre serveur SQL Server avec l’authentification Microsoft Entra. Vous pouvez obtenir adal.dll à partir de la dernière installation de Microsoft OLE DB Driver pour SQL Server .
Après avoir installé Microsoft OLE DB Driver pour SQL Server, vérifiez que adal.dll se trouve dans le dossier
C:\windows\system32.Vous devez également avoir la clé
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSADALSQL\TargetDirde Registre avec la valeurC:\windows\system32\adal.dll. Si ce n’est pas le cas, créez-le.
Pour plus d’informations sur le Registre Windows, consultez les informations de Registre Windows pour les utilisateurs avancés.
Créer et inscrire une application Microsoft Entra ID
- Dans le portail Azure, sélectionnez Microsoft Entra ID>Inscriptions d'applications>Nouvelle inscription.
- Spécifiez un nom : l’exemple de cet article utilise SQLServer.
- Sélectionnez Types de comptes pris en charge et utilisez Comptes dans cet annuaire organisationnel uniquement
- Ne définissez pas d'URI de redirection
- Sélectionnez Inscrire.
Voir l'enregistrement de l'application ci-dessous.
Octroyer des autorisations aux applications
Sélectionnez l’application nouvellement créée et, dans le menu de gauche, sélectionnez Autorisations d’API.
Sélectionnez Ajouter une autorisation>Microsoft Graph>Autorisations de l’application
- Cochez Directory.Read.All
- Sélectionner Ajouter des autorisations
Ou,
Sélectionnez Ajouter une autorisation>Microsoft Graph>Autorisations de l’application
Cochez Application.Read.All
Cochez Group.Read.All
Cochez User.Read.All
Sélectionner Ajouter des autorisations
Sélectionner Accorder le consentement administrateur
Remarque
Pour accorder le Consentement administrateur aux autorisations ci-dessus, votre compte Microsoft Entra nécessite le rôle Administrateur de rôle privilégié ou des autorisations supérieures.
Téléchargement du certificat
Chargez le certificat que vous avez créé dans la section Obtenir un certificat au format .cer ou .pem lors de l'inscription de l'application dans le portail Azure.
Ajouter des valeurs de Registre pour activer l’authentification Microsoft Entra pour SQL Server
Mettez à jour la clé HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL<version-number>.<instance-name>\MSSQLServer\FederatedAuthentication de Registre avec les valeurs suivantes pour activer l’authentification Microsoft Entra pour SQL Server. Voici un exemple de chemin de clé de Registre pour SQL Server 2022 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQLServer\FederatedAuthentication.
Avertissement
Des problèmes sérieux pourraient survenir si vous modifiez le registre de manière incorrecte en utilisant l'Éditeur du Registre ou en utilisant une autre méthode. Vous risquez même de devoir réinstaller le système d’exploitation. Microsoft ne peut pas garantir que ces problèmes peuvent être résolus. Vous assumez l’ensemble des risques liés à la modification du Registre.
- Si la clé n’existe pas, créez-la
FederatedAuthenticationavec toutes les valeurs suivantes. - Les cinq premières entrées répertoriées doivent être mises à jour avec les valeurs de l’application que vous avez créée dans la section précédente. Le reste des entrées sont des valeurs par défaut.
- Il
<sql-server-certificate-name>s’agit du nom du certificat que vous avez créé dans la section Obtenir un certificat et chargé sur Azure. - Il
<application-client-id>s’agit de l’ID d’application (client) de l’application que vous avez créée dans la section Créer et inscrire une application Microsoft Entra ID. Pour plus d’informations sur la recherche de l’ID client, consultez l’ID client. - Il
<tenant-id>s’agit de l’ID de locataire de votre locataire Azure. Vous trouverez l’ID de locataire dans le portail Azure sous Microsoft Entra ID>Overview.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL<version-number>.<instance-name>\MSSQLServer\FederatedAuthentication]
"AADCertSubjectName"="<sql-server-certificate-name>"
"AADTenantSpecificSQLServicePrincipalCertSubjectName"="<sql-server-certificate-name>"
"ClientId"="<application-client-id>"
"AADTenantSpecificSQLServicePrincipalClientId"="<application-client-id>"
"PrimaryAADTenant"="<tenant-id>"
"AADChannelMaxBufferedMessageSize"="200000"
"AADGraphEndPoint"="graph.windows.net"
"AADGroupLookupMaxRetryAttempts"="10"
"AADGroupLookupMaxRetryDuration"="30000"
"AADGroupLookupRetryInitialBackoff"="100"
"AuthenticationEndpoint"="login.microsoftonline.com"
"CacheMaxSize"="300"
"FederationMetadataEndpoint"="login.windows.net"
"GraphAPIEndpoint"="graph.windows.net"
"IssuerURL"="https://sts.windows.net/"
"MsGraphEndPoint"="graph.microsoft.com"
"OnBehalfOfAuthority"="https://login.windows.net/"
"SendX5c"="false"
"ServicePrincipalName"="https://database.windows.net/"
"ServicePrincipalNameForArcadia"="https://sql.azuresynapse.net"
"ServicePrincipalNameForArcadiaDogfood"="https://sql.azuresynapse-dogfood.net"
"ServicePrincipalNameNoSlash"="https://database.windows.net"
"STSURL"="https://login.windows.net/"
"ClientCertBlackList"=""
Pour plus d’informations sur le Registre Windows, notamment la sauvegarde, la modification et la restauration des clés de Registre, consultez les informations de Registre Windows pour les utilisateurs avancés.
Test de l’authentification
Après avoir configuré le serveur et modifié les valeurs du Registre, l’authentification Microsoft Entra doit être fonctionnelle. Testez la configuration en créant des connexions à l’aide des commandes T-SQL suivantes :
CREATE LOGIN [<admin@domain.com>] FROM EXTERNAL PROVIDER
Problèmes courants
L’erreur suivante peut s’afficher :
Keyset does not exist (AdalDll) with error code: 21
Cette erreur peut être due à des problèmes d’autorisation sur le certificat. Vérifiez que le compte de service SQL Server dispose Read d’autorisations sur le certificat. Si le problème persiste, assurez-vous que le certificat a un nom CN unique qui ne correspond à aucun autre certificat dans le magasin de certificats.