Authentification Microsoft Entra pour SQL Server

S'applique à : SQL Server 2022 (16.x)

SQL Server 2022 (16.x) introduit la prise en charge de l'authentification avec Microsoft Entra ID (anciennement Azure Active Directory), à la fois sur Windows et Linux sur site, et SQL Server sur des ordinateurs virtuels Azure Windows.

Vue d'ensemble

Vous pouvez maintenant vous connecter au serveur SQL Server en utilisant les méthodes d'authentification Microsoft Entra suivantes :

  • Authentification par défaut
  • Nom d'utilisateur et mot de passe
  • Intégré
  • Universelle avec l'authentification multifacteur
  • Principal du service
  • Identité managée
  • Access token (Jeton d'accès)

Les modes d'authentification existants, l'authentification SQL et l'authentification Windows, restent inchangés.

Microsoft Entra ID est le service de gestion des identités et des accès informatique Azure. Microsoft Entra ID est conceptuellement similaire à Active Directory, fournissant un référentiel centralisé permettant de gérer l'accès aux ressources de votre organisation. Les identités sont des objets dans Microsoft Entra ID qui représentent des utilisateurs, des groupes ou des applications. Ils peuvent se voir attribuer des autorisations par le biais d'un contrôle d'accès en fonction du rôle et être utilisés pour l'authentification des ressources Azure. L'authentification Microsoft Entra est prise en charge pour :

  • Azure SQL Database
  • Azure SQL Managed Instance
  • SQL Server sur ordinateurs virtuels Windows Azure
  • Azure Synapse Analytics
  • SQL Server

Pour plus d'informations, consultez Utiliser l'authentification Microsoft Entra avec Azure SQL et Configurer et gérer l'authentification Microsoft Entra avec Azure SQL.

Si votre Windows Server Active Directory est fédéré avec Microsoft Entra ID, les utilisateurs peuvent s'authentifier auprès du serveur SQL Server à l'aide de leurs identifiants Windows, qu'il s'agisse d'identifiants Windows ou d'identifiants Microsoft Entra. Bien que Microsoft Entra ID ne prenne pas en charge toutes les fonctions AD prises en charge par Windows Server Active Directory, telles que les comptes de service ou le réseau complexe des forêts en réseau. Il existe d'autres fonctionnalités de Microsoft Entra ID, telles que l'authentification multifacteur qui n'est pas disponible avec Active Directory. Comparez Microsoft Entra ID avec Active Directory pour en savoir plus.

Se connecter SQL Server à Azure avec Microsoft Entra ID

Pour que SQL Server puisse communiquer avec Azure, SQL Server et l'hôte Windows ou Linux sur lequel il s'exécute doivent être enregistrés auprès d'Azure Arc. Pour activer la communication de SQL Server avec Azure, vous devez installer l'agent Azure Arc et l'extension Azure pour SQL Server.

Pour bien démarrer, consultez Connecter votre serveur SQL à Azure Arc.

Remarque

Si vous exécutez SQL Server sur un ordinateur virtuel Azure, vous n'avez pas besoin d'inscrire l'ordinateur virtuel auprès d'Azure Arc. Vous devez plutôt inscrire la machine virtuelle auprès de l'extension SQL IaaS Agent. Une fois l'ordinateur virtuel enregistré, consultez Activer l'authentification Azure AD Authentication pour SQL Server sur les ordinateurs virtuels Azure pour plus d'informations.

Authentification par défaut

Option d'authentification par défaut avec Microsoft Entra ID qui permet l'authentification par des mécanismes sans mot de passe et non interactifs, y compris les identités gérées, Visual Studio, Visual Studio Code, Azure CLI, etc.

Nom d'utilisateur et mot de passe

Permet de spécifier le nom d'utilisateur et le mot de passe pour le client et le pilote. La méthode nom d'utilisateur et mot de passe est généralement désactivée sur de nombreux locataires pour des raisons de sécurité. Bien que les connexions soient cryptées, il est préférable d'éviter l'utilisation du nom d'utilisateur et du mot de passe dans la mesure du possible, car cela nécessite l'envoi de mots de passe sur le réseau.

Intégré

Avec l'authentification intégrée de Windows (IWA), Microsoft Entra ID fournit une solution aux organisations avec des infrastructures locales et cloud. Les domaines Active Directory locaux peuvent être synchronisés avec Microsoft Entra ID par le biais de la fédération, ce qui permet de gérer la gestion et l'Access Control au sein de Microsoft Entra ID. Ce faisant, l'authentification de l'utilisateur reste sur site. Avec IWA, les identifiants Windows de l'utilisateur sont authentifiés sur Active Directory et, en cas de réussite, le jeton d'authentification de l'utilisateur de Microsoft Entra ID est retourné à SQL.

Universelle avec l'authentification multifacteur

Il s'agit de la méthode interactive standard avec option d'authentification multifacteur pour les comptes Microsoft Entra. Fonctionne dans la plupart des scénarios.

Principal du service

Un principal de service est une identité qui peut être créée pour être utilisée avec des outils, des travaux et des applications automatisés. Avec la méthode d'authentification du principal de service, vous pouvez vous connecter à votre instance SQL Server à l'aide de l'ID client et du secret d'une identité de principal de service.

Identité gérée

Les identités managées sont des formes spéciales de principaux de service. Il existe deux types d'identités managées : celles qui sont affectées par le système et celles qui sont affectées par l'utilisateur. Les identités managées affectées par le système sont activées directement sur une ressource Azure, tandis que les identités managées affectées par l'utilisateur sont une ressource autonome qui peut être attribuée à une ou plusieurs ressources Azure.

Remarque

Afin d'utiliser une identité managée pour se connecter à une ressource SQL via des clients GUI tels que SSMS et ADS, l'ordinateur exécutant l'application client doit avoir un client Microsoft Entra en cours d'exécution avec le certificat de l'identité stocké dans celui-ci. Cela se fait le plus souvent par le biais d'une VM Azure, car l'identité peut être facilement attribuée à la machine par le biais du volet du portail de la VM.

Pour les outils qui utilisent les bibliothèques d'identité Azure, tels que SQL Server Management Studio (SSMS), lorsque vous vous connectez avec une identité managée, vous devez utiliser le GUID de la connexion, tel que abcd1234-abcd-1234-abcd-abcd1234abcd1234. Pour plus d'informations, consultez (ManagedIdentityCredential. Si vous transférez un nom d'utilisateur incorrect, une erreur se produit, par exemple :

ManagedIdentityCredential authentication unavailable. The requested identity has not been assigned to this resource.
Status: 400 (Bad Request)
Content:
{"error":"invalid_request","error_description":"Identity not found"}

Access token (Jeton d'accès)

Certains clients non-GUI comme Invoke-sqlcmd autorisent la fourniture d'un jeton d'accès. L'étendue ou l'audience du jeton d'accès doit être https://database.windows.net/.

Notes

  • Seul SQL Server 2022 (16.x) sur site avec un système d'exploitation Windows ou Linux pris en charge, ou SQL Server 2022 sur les ordinateurs virtuels Windows Azure, est pris en charge pour l'authentification Microsoft Entra.
  • Pour connecter SQL Server à Azure Arc, le compte Microsoft Entra a besoin des autorisations suivantes :
    • Membre du groupe Intégration Azure Connected Machine ou du rôle Contributeur dans le groupe de ressources.
    • Membre du rôle Administrateur de ressource Azure Connected Machine dans le groupe de ressources.
    • Membre du rôle Lecteur dans le groupe de ressources.