Utiliser l’authentification Azure Active DirectoryUse Azure Active Directory authentication

S’APPLIQUE À : Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics (SQL DW)

L’authentification Azure Active Directory (Azure AD) est un mécanisme qui sert à se connecter à Azure SQL Database, Azure SQL Managed Instance et Azure Synapse Analytics (anciennement SQL Data Warehouse) à l’aide d’identités se trouvant dans Azure AD.Azure Active Directory (Azure AD) authentication is a mechanism for connecting to Azure SQL Database, Azure SQL Managed Instance, and Azure Synapse Analytics (formerly SQL Data Warehouse) by using identities in Azure AD.

Notes

Cet article s’applique à Azure SQL Database, SQL Managed Instance et Azure Synapse Analytics.This article applies to Azure SQL Database, SQL Managed Instance, and Azure Synapse Analytics.

Avec l’authentification Azure AD, vous pouvez gérer de manière centralisée les identités des utilisateurs de base de données et d’autres services Microsoft dans un emplacement centralisé.With Azure AD authentication, you can centrally manage the identities of database users and other Microsoft services in one central location. La gestion centralisée des ID fournit un emplacement unique pour gérer les utilisateurs de la base de données et simplifie la gestion des autorisations.Central ID management provides a single place to manage database users and simplifies permission management. Les avantages suivants sont inclus :Benefits include the following:

  • Elle fournit une alternative à l’authentification SQL Server.It provides an alternative to SQL Server authentication.

  • Elle aide à bloquer la prolifération des identités utilisateur sur plusieurs serveurs.It helps stop the proliferation of user identities across servers.

  • Elle permet une rotation du mot de passe dans un emplacement unique.It allows password rotation in a single place.

  • Les clients peuvent gérer les autorisations de base de données à l’aide des groupes (Azure AD) externes.Customers can manage database permissions using external (Azure AD) groups.

  • Il peut éliminer le stockage des mots de passe en activant l’authentification intégrée Windows et les autres formes d’authentification prises en charge par Azure Active Directory.It can eliminate storing passwords by enabling integrated Windows authentication and other forms of authentication supported by Azure Active Directory.

  • L’authentification Azure AD utilise les utilisateurs de base de données autonome pour authentifier les identités au niveau de la base de données.Azure AD authentication uses contained database users to authenticate identities at the database level.

  • Azure AD prend en charge l’authentification basée sur des jetons pour les applications se connectant à SQL Database et SQL Managed Instance.Azure AD supports token-based authentication for applications connecting to SQL Database and SQL Managed Instance.

  • L’authentification Azure AD prend en charge :Azure AD authentication supports:

  • Azure AD prend en charge les connexions à partir de SQL Server Management Studio qui utilisent l’authentification universelle Active Directory, laquelle inclut et notamment Multi-Factor Authentication.Azure AD supports connections from SQL Server Management Studio that use Active Directory Universal Authentication, which includes Multi-Factor Authentication. Multi-Factor Authentication inclut une authentification forte avec diverses options pratiques de vérification (appel téléphonique, SMS, cartes à puce avec code PIN ou notification d’application mobile).Multi-Factor Authentication includes strong authentication with a range of easy verification options — phone call, text message, smart cards with pin, or mobile app notification. Pour plus d’informations, consultez Prise en charge de SSMS pour Azure AD Multi-Factor Authentication avec Azure SQL Database, SQL Managed Instance et Azure SynapseFor more information, see SSMS support for Azure AD Multi-Factor Authentication with Azure SQL Database, SQL Managed Instance, and Azure Synapse

  • Azure AD prend en charge des connexions similaires à partir de SQL Server Data Tools (SSDT) qui utilisent l’authentification interactive Active Directory.Azure AD supports similar connections from SQL Server Data Tools (SSDT) that use Active Directory Interactive Authentication. Pour plus d’informations, consultez Prise en charge d’Azure Active Directory dans SQL Server Data Tools (SSDT).For more information, see Azure Active Directory support in SQL Server Data Tools (SSDT)

Notes

La connexion à une instance SQL Server s’exécutant sur une machine virtuelle Azure n’est pas prise en charge à l’aide d’un compte Azure Active Directory.Connecting to a SQL Server instance that's running on an Azure virtual machine (VM) is not supported using an Azure Active Directory account. Utilisez plutôt un compte Active Directory du domaine.Use a domain Active Directory account instead.

Les étapes de configuration incluent les procédures suivantes pour configurer et utiliser l’authentification Azure Active Directory.The configuration steps include the following procedures to configure and use Azure Active Directory authentication.

  1. Créer et renseigner Azure AD.Create and populate Azure AD.
  2. Facultatif : associez ou modifiez l’annuaire Active Directory actuellement associé à votre abonnement Azure.Optional: Associate or change the active directory that is currently associated with your Azure Subscription.
  3. Créer un administrateur Azure Active Directory.Create an Azure Active Directory administrator.
  4. Configurer vos ordinateurs clients.Configure your client computers.
  5. Créer des utilisateurs de base de données autonome dans votre base de données mappés sur les identités Azure AD.Create contained database users in your database mapped to Azure AD identities.
  6. Se connecter à la base de données à l’aide des identités Azure AD.Connect to your database by using Azure AD identities.

Notes

Pour apprendre à créer et à remplir Azure AD, puis à configurer Azure AD avec Azure SQL Database, SQL Managed Instance et Azure Synapse, consultez Configurer Azure AD avec Azure SQL Database.To learn how to create and populate Azure AD, and then configure Azure AD with Azure SQL Database, SQL Managed Instance, and Azure Synapse, see Configure Azure AD with Azure SQL Database.

Architecture d’approbationTrust architecture

  • Seuls la partie cloud et Azure AD, SQL Database, SQL Managed Instance et Azure Synapse sont considérés pour prendre en charge les mots de passe des utilisateurs natifs d’Azure AD.Only the cloud portion of Azure AD, SQL Database, SQL Managed Instance, and Azure Synapse is considered to support Azure AD native user passwords.
  • Pour prendre en charge les informations d’identification de l’authentification unique Windows (ou utilisateur/mot de passe pour les informations d’identification Windows), utilisez les informations d’identification Azure Active Directory à partir d’un domaine fédéré ou managé configuré pour une authentification unique transparente à des fins d’authentification directe et d’authentification par hachage du mot de passe.To support Windows single sign-on credentials (or user/password for Windows credential), use Azure Active Directory credentials from a federated or managed domain that is configured for seamless single sign-on for pass-through and password hash authentication. Pour plus d’informations, consultez la page Authentification unique transparente Azure Active Directory.For more information, see Azure Active Directory Seamless Single Sign-On.
  • Pour prendre en charge l’authentification fédérée (ou utilisateur/mot de passe pour les informations d’identification Windows), la communication avec le bloc ADFS est requise.To support Federated authentication (or user/password for Windows credentials), the communication with ADFS block is required.

Pour plus d’informations sur les identités hybrides Azure AD, la configuration et la synchronisation, consultez les articles suivants :For more information on Azure AD hybrid identities, the setup, and synchronization, see the following articles:

Pour obtenir un exemple d’authentification fédérée avec l’infrastructure ADFS (ou utilisateur/mot de passe pour les informations d’identification Windows), consultez le diagramme ci-dessous.For a sample federated authentication with ADFS infrastructure (or user/password for Windows credentials), see the diagram below. Les flèches indiquent les voies de communication.The arrows indicate communication pathways.

diagramme autorisation aad

Le diagramme suivant indique la fédération, l’approbation et les relations d’hébergement qui autorisent un client à se connecter à une base de données en soumettant un jeton.The following diagram indicates the federation, trust, and hosting relationships that allow a client to connect to a database by submitting a token. Le jeton est authentifié par une instance Azure AD, et approuvé par la base de données.The token is authenticated by an Azure AD, and is trusted by the database. Le client 1 peut représenter un répertoire Azure Active Directory avec des utilisateurs natifs ou un répertoire Azure AD avec des utilisateurs fédérés.Customer 1 can represent an Azure Active Directory with native users or an Azure AD with federated users. Le client 2 représente une solution possible incluant des utilisateurs importés, qui dans cet exemple proviennent d’un répertoire Azure Active Directory fédéré avec la synchronisation d’ADFS avec Azure Active Directory.Customer 2 represents a possible solution including imported users, in this example coming from a federated Azure Active Directory with ADFS being synchronized with Azure Active Directory. Il est important de comprendre que l’accès à une base de données à l’aide de l’authentification Azure AD exige que l’abonnement d’hébergement soit associé à Azure AD.It's important to understand that access to a database using Azure AD authentication requires that the hosting subscription is associated to the Azure AD. Le même abonnement doit être utilisé pour créer les ressources Azure SQL Database, SQL Managed Instance ou Azure Synapse.The same subscription must be used to create the Azure SQL Database, SQL Managed Instance, or Azure Synapse resources.

relation abonnement

Structure de l’administrateurAdministrator structure

En cas d’utilisation de l’authentification Azure AD, il existe deux comptes administrateur : administrateur Azure SQL Database d’origine et administrateur Azure AD.When using Azure AD authentication, there are two Administrator accounts: the original Azure SQL Database administrator and the Azure AD administrator. Les mêmes concepts s’appliquent à Azure Synapse.The same concepts apply to Azure Synapse. Seul l’administrateur basé sur un compte Azure AD peut créer le premier utilisateur de la base de données autonome Azure AD dans une base de données utilisateur.Only the administrator based on an Azure AD account can create the first Azure AD contained database user in a user database. La connexion d’administrateur Azure AD peut être un utilisateur Azure AD ou un groupe Azure AD.The Azure AD administrator login can be an Azure AD user or an Azure AD group. Lorsque l’administrateur est un compte de groupe, il peut être utilisé par n’importe quel membre du groupe, activant plusieurs administrateurs Azure AD pour le serveur.When the administrator is a group account, it can be used by any group member, enabling multiple Azure AD administrators for the server. L’utilisation d’un compte de groupe en tant qu’administrateur facilite la gestion en vous permettant d’ajouter et de supprimer des membres du groupe dans Azure AD sans modifier les utilisateurs ou les autorisations dans SQL Database ou Azure Synapse.Using group account as an administrator enhances manageability by allowing you to centrally add and remove group members in Azure AD without changing the users or permissions in SQL Database or Azure Synapse. Seul un administrateur Azure AD (utilisateur ou groupe) peut être configuré à tout moment.Only one Azure AD administrator (a user or group) can be configured at any time.

structure admin

AutorisationsPermissions

Pour créer de nouveaux utilisateurs, vous devez disposer de l’autorisation ALTER ANY USER dans la base de données.To create new users, you must have the ALTER ANY USER permission in the database. L’autorisation ALTER ANY USER peut être octroyée à un utilisateur de base de données.The ALTER ANY USER permission can be granted to any database user. L’autorisation ALTER ANY USER est également détenue par les comptes d’administrateur de serveur et les utilisateurs de base de données avec les autorisations CONTROL ON DATABASE ou ALTER ON DATABASE pour cette base de données et par les membres du rôle de base de données db_owner.The ALTER ANY USER permission is also held by the server administrator accounts, and database users with the CONTROL ON DATABASE or ALTER ON DATABASE permission for that database, and by members of the db_owner database role.

Pour créer un utilisateur de base de données autonome dans Azure SQL Database, SQL Managed Instance ou Azure Synapse, vous devez vous connecter à la base de données ou à l’instance avec une identité Azure AD.To create a contained database user in Azure SQL Database, SQL Managed Instance, or Azure Synapse, you must connect to the database or instance using an Azure AD identity. Pour créer le premier utilisateur de la base de données autonome, vous devez vous connecter à la base de données à l’aide d’un administrateur Azure AD (le propriétaire de la base de données).To create the first contained database user, you must connect to the database by using an Azure AD administrator (who is the owner of the database). Cette procédure est expliquée dans Configurer et gérer l’authentification Azure Active Directory avec SQL Database ou Azure Synapse.This is demonstrated in Configure and manage Azure Active Directory authentication with SQL Database or Azure Synapse. L’authentification Azure AD est possible seulement si l’administrateur Azure AD a été créé pour Azure SQL Database, SQL Managed Instance ou Azure Synapse.Azure AD authentication is only possible if the Azure AD admin was created for Azure SQL Database, SQL Managed Instance, or Azure Synapse. Si l’administrateur Azure Active Directory a été supprimé du serveur, les utilisateurs Azure Active Directory existants créés précédemment dans le serveur SQL Server ne peuvent plus se connecter à la base de données à l’aide de leurs informations d’identification Azure Active Directory.If the Azure Active Directory admin was removed from the server, existing Azure Active Directory users created previously inside SQL Server can no longer connect to the database using their Azure Active Directory credentials.

Limitations et fonctionnalités azure ADAzure AD features and limitations

  • Les membres suivants d’Azure AD peuvent être provisionnés pour Azure SQL Database :The following members of Azure AD can be provisioned for Azure SQL Database:

  • Les utilisateurs Azure AD qui font partie d’un groupe doté du rôle serveur db_owner ne peuvent pas utiliser la syntaxe CREATE DATABASE SCOPED CREDENTIAL dans Azure SQL Database et Azure Synapse.Azure AD users that are part of a group that has db_owner server role cannot use the CREATE DATABASE SCOPED CREDENTIAL syntax against Azure SQL Database and Azure Synapse. Vous voyez l’erreur suivante :You will see the following error:

    SQL Error [2760] [S0001]: The specified schema name 'user@mydomain.com' either does not exist or you do not have permission to use it.

    Accordez le rôle db_owner directement à l’utilisateur Azure AD individuel pour atténuer le problème lié à CREATE DATABASE SCOPED CREDENTIAL .Grant the db_owner role directly to the individual Azure AD user to mitigate the CREATE DATABASE SCOPED CREDENTIAL issue.

  • Ces fonctions système retournent des valeurs NULL lors de leur exécution sous des entités Azure AD :These system functions return NULL values when executed under Azure AD principals:

    • SUSER_ID()
    • SUSER_NAME(<admin ID>)
    • SUSER_SNAME(<admin SID>)
    • SUSER_ID(<admin name>)
    • SUSER_SID(<admin name>)

Instance managée SQLSQL Managed Instance

  • Les principaux de serveur (connexions) et les utilisateurs Azure AD sont pris en charge pour SQL Managed Instance.Azure AD server principals (logins) and users are supported for SQL Managed Instance.
  • La définition de principaux de serveur (connexions) Azure AD mappés sur un groupe Azure AD en tant que propriétaire de la base de données n’est pas prise en charge dans SQL Managed Instance.Setting Azure AD server principals (logins) mapped to an Azure AD group as database owner is not supported in SQL Managed Instance.
    • Quand vous ajoutez un groupe dans le cadre du rôle serveur dbcreator, les utilisateurs de ce groupe peuvent donc se connecter à SQL Managed Instance et créer des bases de données, mais ils ne peuvent pas accéder à la base de données.An extension of this is that when a group is added as part of the dbcreator server role, users from this group can connect to the SQL Managed Instance and create new databases, but will not be able to access the database. En effet, le propriétaire de la nouvelle base de données est SA et non l’utilisateur Azure AD.This is because the new database owner is SA, and not the Azure AD user. Ce problème ne se manifeste pas si l’utilisateur individuel est ajouté au rôle serveur dbcreator.This issue does not manifest if the individual user is added to the dbcreator server role.
  • La gestion et l’exécution de travaux SQL Agent sont prises en charge pour les principaux de serveur (connexions) Azure AD.SQL Agent management and jobs execution are supported for Azure AD server principals (logins).
  • Les opérations de sauvegarde et de restauration de base de données peuvent être exécutées par les principaux de serveur (connexions) Azure AD.Database backup and restore operations can be executed by Azure AD server principals (logins).
  • L’audit de toutes les instructions liées aux principaux de serveur (connexions) Azure AD et aux événements d’authentification Azure AD est pris en charge.Auditing of all statements related to Azure AD server principals (logins) and authentication events is supported.
  • La connexion administrateur dédiée pour les principaux de serveur (connexions) Azure AD membres du rôle serveur sysadmin est prise en charge.Dedicated administrator connection for Azure AD server principals (logins) which are members of sysadmin server role is supported.
    • Prise en charge par le biais de l’utilitaire SQLCMD et de SQL Server Management Studio.Supported through SQLCMD Utility and SQL Server Management Studio.
  • Les déclencheurs d’ouverture de session sont pris en charge pour les événements d’ouverture de session provenant de principaux de serveur (connexions) Azure AD.Logon triggers are supported for logon events coming from Azure AD server principals (logins).
  • Vous pouvez configurer Service Broker et Database Mail à l’aide d’un principal de serveur (connexion) Azure AD.Service Broker and DB mail can be setup using an Azure AD server principal (login).

Se connecter à l’aide des identités Azure ADConnect by using Azure AD identities

L’authentification Azure Active Directory prend en charge les méthodes suivantes de connexion à une base de données à l’aide d’identités Azure AD :Azure Active Directory authentication supports the following methods of connecting to a database using Azure AD identities:

  • Mot de passe Azure Active DirectoryAzure Active Directory Password
  • Intégration d’Azure Active DirectoryAzure Active Directory Integrated
  • Authentification universelle Azure Active Directory avec Multi-Factor Authentication (MFA)Azure Active Directory Universal with Multi-Factor Authentication
  • À l’aide de l’authentification par jeton d’applicationUsing Application token authentication

Les méthodes d’authentification suivantes sont prises en charge pour les principaux de serveur (connexions) Azure AD :The following authentication methods are supported for Azure AD server principals (logins):

  • Mot de passe Azure Active DirectoryAzure Active Directory Password
  • Intégration d’Azure Active DirectoryAzure Active Directory Integrated
  • Authentification universelle Azure Active Directory avec Multi-Factor Authentication (MFA)Azure Active Directory Universal with Multi-Factor Authentication

Considérations supplémentairesAdditional considerations

  • Pour améliorer la facilité de gestion, nous vous conseillons de mettre en service un groupe Azure AD dédié en tant qu’administrateur.To enhance manageability, we recommend you provision a dedicated Azure AD group as an administrator.
  • Un seul administrateur Azure AD (utilisateur ou groupe) peut être configuré pour un serveur dans SQL Database ou Azure Synapse à tout moment.Only one Azure AD administrator (a user or group) can be configured for a server in SQL Database or Azure Synapse at any time.
    • L’ajout de principaux de serveur (connexions) Azure AD pour SQL Managed Instance permet de créer plusieurs principaux de serveur (connexions) Azure AD pouvant être ajoutés au rôle sysadmin.The addition of Azure AD server principals (logins) for SQL Managed Instance allows the possibility of creating multiple Azure AD server principals (logins) that can be added to the sysadmin role.
  • Seul un administrateur Azure AD pour le serveur peut se connecter initialement au serveur ou à l’instance managée avec un compte Azure Active Directory.Only an Azure AD administrator for the server can initially connect to the server or managed instance using an Azure Active Directory account. L’administrateur Active Directory peut configurer les utilisateurs de base de données Azure AD suivants.The Active Directory administrator can configure subsequent Azure AD database users.
  • Nous vous conseillons de définir l’expiration du délai de connexion à 30 secondes.We recommend setting the connection timeout to 30 seconds.
  • SQL Server 2016 Management Studio et SQL Server Data Tools pour Visual Studio 2015 (version 14.0.60311.1 d’avril 2016 ou ultérieure) prennent en charge l’authentification Azure Active Directory.SQL Server 2016 Management Studio and SQL Server Data Tools for Visual Studio 2015 (version 14.0.60311.1April 2016 or later) support Azure Active Directory authentication. (L’authentification Azure AD est prise en charge par le Fournisseur de données .NET Framework pour SQL Server ; .NET Framework version 4.6 minimum).(Azure AD authentication is supported by the .NET Framework Data Provider for SqlServer ; at least version .NET Framework 4.6). Par conséquent, les dernières versions de ces outils et applications de la couche Données (DAC et BACPAC) peuvent utiliser l’authentification Azure AD.Therefore the newest versions of these tools and data-tier applications (DAC and BACPAC) can use Azure AD authentication.
  • À partir de la version 15.0.1, l’utilitaire sqlcmd et l’utilitaire bcp prennent en charge l’authentification interactive Active Directory avec Multi-Factor Authentication (MFA).Beginning with version 15.0.1, sqlcmd utility and bcp utility support Active Directory Interactive authentication with Multi-Factor Authentication.
  • SQL Server Data Tools pour Visual Studio 2015 requiert la version d’avril 2016 (version 14.0.60311.1) ou une version ultérieure.SQL Server Data Tools for Visual Studio 2015 requires at least the April 2016 version of the Data Tools (version 14.0.60311.1). Actuellement, les utilisateurs Azure AD ne sont pas affichés dans l’Explorateur d’objets SSDT.Currently, Azure AD users are not shown in SSDT Object Explorer. Comme solution de contournement, vous pouvez afficher les utilisateurs dans sys.database_principals.As a workaround, view the users in sys.database_principals.
  • Le pilote Microsoft JDBC 6.0 pour SQL Server prend en charge l’authentification Azure AD.Microsoft JDBC Driver 6.0 for SQL Server supports Azure AD authentication. Consultez également Définition des propriétés de connexion.Also, see Setting the Connection Properties.
  • PolyBase ne peut pas s’authentifier avec l’authentification Azure AD.PolyBase cannot authenticate by using Azure AD authentication.
  • L’authentification Azure AD est prise en charge pour Azure SQL Database et Azure Synapse en utilisant les panneaux Importer la base de données et Exporter la base de données du portail Azure.Azure AD authentication is supported for Azure SQL Database and Azure Synapse by using the Azure portal Import Database and Export Database blades. L’importation et l’exportation à l’aide de l’authentification Azure AD sont également prises en charge depuis une invite de commandes PowerShell.Import and export using Azure AD authentication is also supported from a PowerShell command.
  • L’authentification Azure AD est prise en charge pour SQL Database, SQL Managed Instance et Azure Synapse par le biais de l’interface de ligne de commande (CLI).Azure AD authentication is supported for SQL Database, SQL Managed Instance, and Azure Synapse with using the CLI. Pour plus d’informations, consultez Configurer et gérer l’authentification Azure AD avec SQL Database ou Azure Synapse et SQL Server - az sql server.For more information, see Configure and manage Azure AD authentication with SQL Database or Azure Synapse and SQL Server - az sql server.

Étapes suivantesNext steps