Activer l’authentification de base de données Microsoft Entra

Effectué

Cette unité vous montre comment utiliser Microsoft Entra ID pour l’authentification avec Azure SQL Database, Azure SQL Managed Instance et Azure Synapse Analytics.

Remarque

Microsoft Entra ID était précédemment connu sous le nom d'Azure Active Directory (Azure AD).

Vous pouvez également configurer l’authentification Microsoft Entra pour SQL Server sur des machines virtuelles Azure.

Conditions préalables

Pour utiliser l’authentification Microsoft Entra avec votre ressource Azure SQL, vous avez besoin des prérequis suivants :

Créer et remplir un locataire Microsoft Entra

Avant de pouvoir configurer l’authentification Microsoft Entra pour votre ressource Azure SQL, vous devez créer un locataire Microsoft Entra et le remplir avec des utilisateurs et des groupes. Les locataires Microsoft Entra peuvent être gérés entièrement dans Azure ou utilisés pour la fédération d’un service de domaine Active Directory local.

Pour plus d’informations, consultez :

Définir l’administrateur Microsoft Entra

Pour utiliser l’authentification Microsoft Entra avec votre ressource, l’administrateur Microsoft Entra doit être défini. Bien que les étapes soient conceptuellement identiques pour Azure SQL Database, Azure Synapse Analytics et Azure SQL Managed Instance, cette section décrit en détail les différentes API et expériences du portail pour le faire par produit.

L’administrateur Microsoft Entra peut également être configuré lors de la création de la ressource Azure SQL. Si un administrateur Microsoft Entra est déjà configuré, ignorez cette section.

Azure SQL Database et Azure Synapse Analytics

La définition de l’administrateur Microsoft Entra active l’authentification Microsoft Entra pour votre serveur logique pour Azure SQL Database et Azure Synapse Analytics. Vous pouvez définir un administrateur Microsoft Entra pour votre serveur à l’aide du portail Microsoft Azure, de PowerShell, d’Azure CLI ou d’API REST.

Dans le portail Azure, vous trouverez le nom du serveur logique

  • Dans le champ nom du serveur sur la page Vue d’ensemble d’Azure SQL Database.
  • Dans le champ nom du serveur dans la page Vue d’ensemble de votre pool SQL dédié autonome dans Azure Synapse Analytics.
  • Dans le point de terminaison SQL approprié dans la page Vue d’ensemble de votre espace de travail Azure Synapse Analytics.
  • portail Azure
  • PowerShell
  • Azure CLI
  • API REST

Pour définir l’administrateur Microsoft Entra pour votre serveur logique dans le portail Microsoft Azure, procédez comme suit :

  1. Dans le volet Répertoires + abonnements du portail Azure, choisissez le répertoire qui contient votre ressource Azure SQL en tant que répertoire actif.
  2. Recherchez des serveurs SQL, puis sélectionnez le serveur logique de votre ressource de base de données pour ouvrir le volet serveur SQL.
  3. Dans le volet SQL Server de votre serveur logique, sélectionnez Microsoft Entra ID sous Paramètres pour ouvrir le volet Microsoft Entra ID.
  4. Dans le volet ID De Microsoft Entra, sélectionnez Définir l’administrateur pour ouvrir le volet ID De Microsoft Entra.
  5. Le volet ID Microsoft Entra affiche tous les utilisateurs, groupes et applications dans votre annuaire actif et vous permet de rechercher par nom, alias ou ID. Recherchez votre identité souhaitée pour votre administrateur Microsoft Entra et sélectionnez-la, puis cliquez sur Sélectionner pour fermer le volet.
  6. En haut de la page MICROSOFT Entra ID pour votre serveur logique, sélectionnez Enregistrer.

L’ID d’objet s’affiche en regard du nom d’administrateur pour les utilisateurs et les groupes Microsoft Entra. Pour les applications (principaux de service), l’ID d’application s’affiche.

Le processus de changement d'administrateur peut prendre plusieurs minutes. Ensuite, le nouvel administrateur apparaît dans le champ Administrateur Microsoft Entra.

Pour supprimer l’administrateur, en haut de la page MICROSOFT Entra ID, sélectionnez Supprimer l’administrateur, puis sélectionnez Enregistrer. La suppression de l’administrateur Microsoft Entra désactive l’authentification Microsoft Entra pour votre serveur logique.

Remarque

L’administrateur Microsoft Entra est stocké dans la base de données principale du serveur en tant qu’utilisateur (principal de base de données). Étant donné que les noms de principal de base de données doivent être uniques, le nom complet de l’administrateur ne peut pas être identique au nom d’un utilisateur dans la base de données principale du serveur. Si un utilisateur portant le nom existe déjà, la configuration de l’administrateur Microsoft Entra échoue et s’annule, indiquant que le nom est déjà utilisé.

Azure SQL Managed Instance (Instance gérée Azure SQL)

La configuration de l’administrateur Microsoft Entra active l’authentification Microsoft Entra pour Azure SQL Managed Instance. Vous pouvez définir un administrateur Microsoft Entra pour votre instance managée SQL à l’aide du portail Microsoft Azure, de PowerShell, d’Azure CLI ou d’API REST.

Pour accorder à votre instance managée SQL des autorisations de lecture à Microsoft Entra ID à l’aide du portail Azure, connectez-vous en tant qu’administrateur de rôle privilégié et procédez comme suit :

  1. Dans le portail Azure, dans le coin supérieur droit, sélectionnez votre compte, puis choisissez Changer de répertoires pour confirmer le répertoire actuel. Changez de répertoires, si nécessaire.
  2. Dans le volet Répertoires + abonnements du portail Azure, choisissez le répertoire qui contient votre instance managée en tant que répertoire actuel.
  3. Recherchez des instances managées SQL, puis sélectionnez votre instance managée pour ouvrir le volet d’instance managée SQL. Sélectionnez ensuite Microsoft Entra ID sous Paramètres pour ouvrir le volet ID Microsoft Entra pour votre instance.
  4. Dans le volet d’administration Microsoft Entra, sélectionnez Définir l’administrateur dans la barre de navigation pour ouvrir le volet Microsoft Entra ID.
  5. Dans le volet ID Microsoft Entra, recherchez un utilisateur, cochez la case en regard de l’utilisateur ou du groupe pour être administrateur, puis appuyez sur Sélectionner pour fermer le volet et revenir à la page d’administration Microsoft Entra pour votre instance managée. Le volet ID Microsoft Entra affiche tous les membres et groupes de votre répertoire actif. Les utilisateurs ou groupes grisés ne peuvent pas être sélectionnés, car ils ne sont pas pris en charge en tant qu’administrateurs Microsoft Entra. Sélectionnez l’identité que vous souhaitez attribuer en tant qu’administrateur.
  6. Dans la barre de navigation de la page d’administration Microsoft Entra pour votre instance managée, sélectionnez Enregistrer pour confirmer votre administrateur Microsoft Entra. Une fois l’opération de modification de l’administrateur terminée, le nouvel administrateur apparaît dans le champ Administrateur Microsoft Entra. L’ID d’objet s’affiche en regard du nom d’administrateur pour les utilisateurs et les groupes Microsoft Entra. Pour les applications (principaux de service), l’ID d’application s’affiche.

Conseil / Astuce

Pour supprimer l’administrateur, sélectionnez Supprimer l’administrateur en haut de la page Microsoft Entra ID, puis sélectionnez Enregistrer.

Attribuer des autorisations Microsoft Graph

SQL Managed Instance a besoin d’autorisations de lecture de Microsoft Entra ID pour des scénarios tels que l’autorisation des utilisateurs qui se connectent par le biais de l’appartenance à un groupe de sécurité et la création de nouveaux utilisateurs. Pour que l’authentification Microsoft Entra fonctionne, vous devez affecter l’identité d’instance managée au rôle Lecteurs d’annuaire. Vous pouvez effectuer cette opération dans le portail Azure ou à l’aide de PowerShell.

Pour certaines opérations, Azure SQL Database et Azure Synapse Analytics nécessitent également des autorisations pour interroger Microsoft Graph, expliquées dans les autorisations Microsoft Graph. Azure SQL Database et Azure Synapse Analytics prennent en charge les autorisations Graph affinées pour ces scénarios, tandis que SQL Managed Instance nécessite le rôle Lecteurs d’annuaire. Les autorisations affinées et leur affectation sont décrites en détail dans l’activation des principaux de service pour créer des utilisateurs Microsoft Entra.

Rôle de lecteur de répertoire

La page MICROSOFT Entra ID pour SQL Managed Instance dans le portail Azure affiche une bannière pratique lorsque l’instance n’a pas les autorisations lecteur d’annuaire.

  1. Sélectionnez la bannière en haut de la page Microsoft Entra ID et accordez l’autorisation à l’identité managée affectée par le système ou affectée par l’utilisateur qui représente votre instance. Seul un Administrateur de Rôles Privilégiés ou un rôle supérieur dans votre client peut effectuer cette opération.
  2. Lorsque l’opération réussit, une notification de réussite s’affiche dans le coin supérieur droit :

L’administrateur Microsoft Entra peut désormais être utilisé pour créer des principaux de serveur Microsoft Entra (connexions) et des principaux de base de données (utilisateurs). Pour plus d’informations, consultez Intégration de Microsoft Entra à Azure SQL Managed Instance.

Créer des principaux Microsoft Entra dans SQL

Pour vous connecter à une base de données dans SQL Database ou Azure Synapse Analytics avec l’authentification Microsoft Entra, un principal doit être configuré sur la base de données pour cette identité avec au moins l’autorisation CONNECT.

Autorisations d’un utilisateur de base de données

Lorsqu’un utilisateur de base de données est créé, il reçoit l’autorisation CONNECT à la base de données par défaut. Un utilisateur de base de données hérite également des autorisations dans deux circonstances :

  • Si l’utilisateur est membre d’un groupe Microsoft Entra qui dispose également des autorisations sur le serveur.
  • Si l’utilisateur est créé à partir d’une connexion, il hérite des autorisations attribuées par le serveur de la connexion applicable sur la base de données.

La gestion des autorisations pour les principaux de serveur et de base de données fonctionne de la même façon, quel que soit le type de principal (Microsoft Entra ID, authentification SQL, etc.). Nous vous recommandons d’accorder des autorisations aux rôles de base de données au lieu d’accorder directement des autorisations aux utilisateurs. Les utilisateurs peuvent ensuite être ajoutés aux rôles avec les autorisations appropriées. Cela simplifie la gestion des autorisations à long terme et réduit la probabilité qu’une identité conserve l’accès passé lorsqu’elle est appropriée.

Pour plus d’informations, consultez :

Utilisateurs de base de données autonome

Un utilisateur de base de données autonome est un type d’utilisateur SQL qui n’est pas connecté à une connexion dans la base de données master. Pour créer un utilisateur de base de données autonome Microsoft Entra, connectez-vous à la base de données avec une identité Microsoft Entra qui dispose au moins de l’autorisation ALTER ANY USER. L’exemple T-SQL suivant crée un principal de base de données Microsoft_Entra_principal_name à partir de l’ID Microsoft Entra.

SQL

CREATE USER [<Microsoft_Entra_principal_name>] FROM EXTERNAL PROVIDER;


SQL

CREATE USER [ICU Nurses] FROM EXTERNAL PROVIDER;


SQL

CREATE USER [appName] FROM EXTERNAL PROVIDER;


SQL

CREATE USER [adrian@contoso.com] FROM EXTERNAL PROVIDER;


Utilisateurs basés sur la connexion

Remarque

Les principaux de serveur Microsoft Entra (connexions) sont actuellement en préversion publique pour Azure SQL Database et Azure Synapse Analytics. Les connexions Microsoft Entra sont généralement disponibles pour Azure SQL Managed Instance et SQL Server 2022.

Les principaux de serveur Microsoft Entra (ou connexions) sont pris en charge, ce qui signifie que les utilisateurs de base de données autonome ne sont pas requis. Les principaux de base de données (utilisateurs) peuvent être créés en fonction d’un principal de serveur, ce qui signifie que les utilisateurs Microsoft Entra peuvent hériter des autorisations attribuées au niveau du serveur d’une connexion.

SQL

CREATE USER [appName] FROM LOGIN [appName];


Pour plus d’informations, consultez Vue d’ensemble de SQL Managed Instance. Pour obtenir une syntaxe sur la création de principaux de serveur Microsoft Entra (connexions), consultez CREATE LOGIN.

Utilisateurs externes

Vous ne pouvez pas créer directement un utilisateur de base de données pour une identité gérée dans un autre locataire Microsoft Entra que celui associé à votre abonnement Azure. Toutefois, les utilisateurs d’autres répertoires peuvent être importés dans l’annuaire associé en tant qu’utilisateurs externes. Ils peuvent ensuite être utilisés pour créer des utilisateurs de base de données autonome qui peuvent accéder à la base de données. Les utilisateurs externes peuvent également accéder via l’appartenance aux groupes Microsoft Entra.

Exemples : Pour créer un utilisateur de base de données autonome représentant un utilisateur de domaine fédéré ou managé Microsoft Entra :

SQL

CREATE USER [alice@fabrikam.com] FROM EXTERNAL PROVIDER;


Un compte d’utilisateur de domaine fédéré importé dans un domaine managé comme utilisateur externe doit utiliser l’identité de domaine managé.

Considérations relatives à l’affectation de noms

Les caractères spéciaux tels que les deux-points : ou l'esperluette (&) lorsqu'ils sont utilisés comme noms d'utilisateur dans les instructions T-SQL CREATE LOGIN et CREATE USER ne sont pas pris en charge.

Microsoft Entra ID et Azure SQL divergent dans leur conception de gestion des utilisateurs d’une manière unique : Microsoft Entra ID permet aux noms d’affichage d’être dupliqués au sein d’un locataire, tandis qu’Azure SQL nécessite que tous les principaux de serveur sur un serveur ou une instance et que tous les principaux de base de données d’une base de données aient un nom unique. Étant donné qu’Azure SQL utilise directement le nom complet Microsoft Entra de l’identité lors de la création de principaux, cela peut entraîner des erreurs lors de la création d’utilisateurs. Pour résoudre ce problème, Azure SQL a publié l’amélioration OBJECT_ID WITH actuellement en préversion, ce qui permet aux utilisateurs de spécifier l’ID d’objet Microsoft Entra de l’identité ajoutée au serveur ou à l’instance.

Autorisations Microsoft Graph

CREATE USER ... La commande FROM EXTERNAL PROVIDER requiert l’accès Azure SQL à Microsoft Entra ID (le « fournisseur externe ») pour le compte de l’utilisateur connecté. Parfois, les circonstances font que Microsoft Entra ID renvoie une exception à Azure SQL.

  • Vous pouvez rencontrer l’erreur SQL 33134, qui contient le message d’erreur spécifique à Microsoft Entra ID. La plupart du temps, l’erreur indique que l’accès est refusé, que l’utilisateur doit s’inscrire pour l’authentification multifacteur afin d’accéder à la ressource, ou que l’accès entre les applications internes doit être géré par le biais de l’autorisation préalable. Dans les deux premiers cas, le problème est généralement dû à des stratégies d’accès conditionnel définies dans le locataire Microsoft Entra de l’utilisateur : elles l’empêchent d’accéder au fournisseur externe. La mise à jour des stratégies d’accès conditionnel de façon à autoriser l’accès à l’application « 00000003-0000-0000-c000-000000000000 » (ID d’application de l’API Microsoft Graph) doit résoudre le problème. Si l’erreur indique que l’accès entre les applications internes doit être géré par le biais de l’autorisation préalable, le problème vient du fait que l’utilisateur est connecté en tant que principal du service. La commande doit aboutir si au lieu de cela elle est exécutée par un utilisateur.
  • Si vous recevez un délai d’expiration de connexion, vous devrez peut-être définir le paramètre TransparentNetworkIPResolution de la chaîne de connexion sur false. Pour plus d’informations, consultez Problème lié au délai d’expiration de la connexion avec .NET Framework 4.6.1 - TransparentNetworkIPResolution.

Pour plus d’informations sur la création d’utilisateurs de base de données autonome basés sur des identités Microsoft Entra, consultez CREATE USER.

Configurer l’authentification multifacteur

Pour améliorer la sécurité de votre ressource Azure SQL, envisagez de configurer l’authentification multifacteur (MFA),ce qui invite l’utilisateur à utiliser une deuxième méthode alternative pour s’authentifier auprès de la base de données, comme un appel téléphonique ou une application d’authentificateur.

Pour utiliser l’authentification multifacteur avec votre ressource Azure SQL, commencez par activer l’authentification multifacteur, puis utilisez une stratégie d’accès conditionnel pour appliquer l’authentification multifacteur pour votre ressource Azure SQL.

Se connecter avec Microsoft Entra

Une fois l’authentification Microsoft Entra configurée, vous pouvez l’utiliser pour vous connecter à votre ressource SQL avec des outils Microsoft tels que SQL Server Management Studio et SQL Server Data Tools, et configurer des applications clientes pour vous connecter à l’aide des identités Microsoft Entra.

Résoudre les problèmes d’authentification Microsoft Entra

Pour obtenir des conseils sur la résolution des problèmes, consultez Blog : résolution des problèmes liés à l’authentification Microsoft Entra avec Azure SQL Database et Azure Synapse.