Utiliser l’authentification Microsoft Entra pour l’authentification auprès de Synapse SQL

L’authentification Microsoft Entra est un mécanisme qui permet de se connecter à Azure Synapse Analytics à l’aide d’identités dans Microsoft Entra ID.

Avec l’authentification Microsoft Entra, vous pouvez gérer de manière centralisée les identités des utilisateurs ayant accès à Azure Synapse pour simplifier la gestion des autorisations. Les avantages suivants sont inclus :

  • Elle fournit une alternative à l’authentification par nom d’utilisateur et mot de passe standard.
  • Elle permet de bloquer la prolifération des identités utilisateur sur plusieurs serveurs.
  • Permet une rotation du mot de passe dans un emplacement unique.
  • Les clients peuvent gérer les autorisations à l’aide de groupes externes (Microsoft Entra ID).
  • Elle 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 Microsoft Entra ID.
  • Microsoft Entra ID prend en charge l’authentification basée sur des jetons pour les applications se connectant à Azure Synapse.
  • L’authentification Microsoft Entra prend en charge ADFS (fédération de domaine) ou l’authentification utilisateur natif/mot de passe pour un répertoire Microsoft Entra ID local sans synchronisation du domaine.
  • Microsoft Entra ID prend en charge les connexions à partir de SQL Server Management Studio qui utilisent l’authentification universelle Active Directory, et notamment l’authentification multifacteur (MFA). MFA comprend une authentification forte avec une gamme d’options de vérification simples : appel téléphonique, SMS, cartes à puce avec code PIN, notification d’application mobile, etc. Pour plus d’informations, consultez la Prise en charge de SSMS pour l’authentification multifacteur Microsoft Entra avec Synapse SQL.
  • Microsoft Entra ID prend en charge des connexions similaires à partir de SQL Server Data Tools (SSDT) qui utilisent l’authentification interactive Active Directory. Pour plus d’informations, consultez Prise en charge de Microsoft Entra ID dans SQL Server Data Tools (SSDT).

Les étapes de configuration incluent les procédures suivantes pour configurer et utiliser l’authentification Microsoft Entra.

  1. Créez et renseignez Microsoft Entra ID.
  2. Créer une identité Microsoft Entra
  3. Attribuer un rôle à l’identité Microsoft Entra créée dans un espace de travail Synapse
  4. Connectez-vous à Synapse Studio à l’aide des identités Microsoft Entra.

Pass-through Microsoft Entra dans Azure Synapse Analytics

Azure Synapse Analytics vous permet d’accéder aux données du lac de données à l’aide de votre identité Microsoft Entra.

Définir des droits d’accès sur les fichiers et les données qui sont respectées dans différents moteurs de données vous permet de simplifier vos solutions de lac de données en utilisant un emplacement unique où les autorisations sont définies, plutôt que de devoir les définir dans plusieurs emplacements.

Architecture d’approbation

Le diagramme général suivant résume l’architecture de la solution utilisant l’authentification Microsoft Entra avec Synapse SQL. Pour prendre en charge les mots de passe d’utilisateurs natifs de Microsoft Entra, seuls la partie cloud et Azure AD/Synapse SQL sont pris en considération. 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. Les flèches indiquent les voies de communication.

Microsoft Entra auth diagram

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. Le jeton est authentifié par Microsoft Entra ID et est approuvé par la base de données.

Le client 1 peut représenter un Microsoft Entra ID avec des utilisateurs natifs ou un Microsoft Entra ID avec des utilisateurs fédérés. Le client 2 représente une solution possible incluant des utilisateurs importés, dans cet exemple, ils proviennent d’un Microsoft Entra ID fédéré avec ADFS synchronisé avec Microsoft Entra ID.

Il est important de comprendre que l’accès à une base de données à l’aide de l’authentification Microsoft Entra exige que l’abonnement d’hébergement soit associé à Microsoft Entra ID. Le même abonnement doit être utilisé pour créer le serveur SQL Server hébergeant la base de données Azure SQL ou le pool SQL dédié.

subscription relationship

Structure de l’administrateur

En cas d’utilisation de l’authentification Microsoft Entra, il existe deux comptes Administrateur pour l’instance Synapse SQL : l’administrateur SQL d’origine (avec l’authentification SQL) et l’administrateur Microsoft Entra. Seul l’administrateur basé sur un compte Microsoft Entra peut créer le premier utilisateur de base de données autonome Microsoft Entra ID dans une base de données utilisateur.

La connexion administrateur Microsoft Entra peut être un utilisateur Microsoft Entra ou un groupe Microsoft Entra. Lorsque l’administrateur est un compte de groupe, il peut être utilisé par n’importe quel membre du groupe, autorisant plusieurs administrateurs Microsoft Entra à accéder à l’instance Synapse SQL.

L’utilisation d’un compte de groupe en tant qu’administrateur facilite la gestion en vous permettant de centraliser l’ajout et la suppression des membres du groupe dans Microsoft Entra ID, sans modifier les utilisateurs ou les autorisations dans l’espace de travail Azure Synapse Analytics. Seul un administrateur Microsoft Entra (utilisateur ou groupe) peut être configuré à tout moment.

admin structure

Autorisations

Pour créer de nouveaux utilisateurs, vous devez disposer de l’autorisation ALTER ANY USER dans la base de données. L’autorisation ALTER ANY USER peut être octroyée à un utilisateur de base de données. L’autorisation ALTER ANY USER est également détenue par les comptes d’administrateur SQL et Microsoft Entra, 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.

Pour créer un utilisateur de base de données autonome dans Synapse SQL, vous devez vous connecter à la base de données ou à l’instance à l’aide d’une identité Microsoft Entra. 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 Microsoft Entra (le propriétaire de la base de données).

Toute authentification Microsoft Entra n’est possible que si l’administrateur Microsoft Entra a été créé pour Synapse SQL. Si l’administrateur Microsoft Entra a été supprimé du serveur, les utilisateurs Microsoft Entra existants créés précédemment dans Synapse SQL ne peuvent plus se connecter à la base de données en utilisant leurs informations d’identification Microsoft Entra.

Désactiver l’authentification locale

En autorisant uniquement l’authentification Microsoft Entra, vous gérez de façon centralisée l’accès aux ressources Azure Synapse, telles que les pools SQL. Pour désactiver l’authentification locale dans Synapse lors de la création de l’espace de travail, sélectionnez Utiliser uniquement l’authentification Microsoft Entra comme méthode d’authentification. Une connexion d’administrateur SQL sera toujours créée, mais elle sera désactivée. L’authentification locale peut être activée ultérieurement par un Propriétaire ou Contributeur Azure de l’espace de travail Synapse.

Microsoft Entra-only auth configuration during workspace creation

Vous pouvez également désactiver l’authentification locale après la création d’un espace de travail via le portail Azure. L’authentification locale ne peut pas être désactivée tant qu’un administrateur Microsoft Entra n’est pas créé pour l’espace de travail Azure Synapse.

Microsoft Entra-only auth configuration after workspace creation

Fonctionnalités et limitations de Microsoft Entra

  • Les membres suivants de Microsoft Entra ID peuvent être approvisionnés dans Synapse SQL :

  • Les utilisateurs Microsoft Entra qui font partie d’un groupe doté du rôle serveur db_owner ne peuvent pas utiliser la syntaxe CREATE DATABASE SCOPED CREDENTIAL dans Synapse SQL. Vous voyez l’erreur suivante :

    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 Microsoft Entra individuel pour atténuer le problème lié à CREATE DATABASE SCOPED CREDENTIAL.

  • Ces fonctions système retournent des valeurs NULL lors de leur exécution sous des entités Microsoft Entra :

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

Se connecter à l’aide d’identités Microsoft Entra

L’authentification Microsoft Entra prend en charge les méthodes suivantes de connexion à une base de données à l’aide d’identités Microsoft Entra :

  • Mot de passe Microsoft Entra
  • Microsoft Entra intégré
  • Authentification universelle Microsoft Entra avec MFA
  • À l’aide de l’authentification par jeton d’application

Les méthodes d’authentification suivantes sont prises en charge pour les principaux de serveur (connexions) Microsoft Entra :

  • Mot de passe Microsoft Entra
  • Microsoft Entra intégré
  • Authentification universelle Microsoft Entra avec MFA

Considérations supplémentaires

  • Pour améliorer la facilité de gestion, nous vous conseillons de mettre en service un groupe Microsoft Entra dédié en tant qu’administrateur.
  • Seul un administrateur Microsoft Entra (utilisateur ou groupe) peut être configuré à tout moment pour un pool Synapse SQL.
    • L’ajout de principaux de serveur (connexions) Microsoft Entra pour Synapse SQL permet de créer plusieurs principaux de serveur (connexions) Microsoft Entra qui peuvent être ajoutés au rôle sysadmin.
  • Seul un administrateur Microsoft Entra pour Synapse SQL peut initialement se connecter à Synapse SQL à l’aide d’un compte Microsoft Entra. L’administrateur Active Directory peut configurer les utilisateurs de base de données Microsoft Entra suivants.
  • Nous vous conseillons de définir l’expiration du délai de connexion à 30 secondes.
  • 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 Microsoft Entra. (L’authentification Microsoft Entra est prise en charge par le Fournisseur de données .NET Framework pour SQL Server ; .NET Framework version 4.6 minimum). Ainsi, les dernières versions de ces outils et applications de la couche Données (DAC et .BACPAC) peuvent utiliser l’authentification Microsoft Entra.
  • À partir de la version 15.0.1, l’utilitaire sqlcmd et l’utilitaire bcp prennent en charge l’authentification interactive Active Directory avec MFA.
  • SQL Server Data Tools pour Visual Studio 2015 requiert la version d’avril 2016 (version 14.0.60311.1) ou une version ultérieure. Actuellement, les utilisateurs de Microsoft Entra ne sont pas affichés dans l’Explorateur d’objets SSDT. Comme solution de contournement, vous pouvez afficher les utilisateurs dans sys.database_principals.
  • Le pilote Microsoft JDBC 6.0 pour SQL Server prend en charge l’authentification Microsoft Entra. Consultez également Définition des propriétés de connexion.
  • Le compte d’administrateur Microsoft Entra contrôle l’accès aux pools dédiés, tandis que les rôles RBAC Synapse serveurs sont utilisés pour contrôler l’accès aux pools serverless, par exemple, avec les rôles Administrateur Synapse et Administrateur Synapse SQL. Configuration des rôles RBAC de Synapse via Synapse Studio. Pour plus d’informations, consultez Gestion des attributions de rôles RBAC Synapse dans Synapse Studio.
  • Si un utilisateur est configuré en tant qu’administrateur Microsoft Entra et Administrateur Synapse, puis supprimé du rôle administrateur Microsoft Entra, l’utilisateur perd l’accès aux pools SQL dédiés dans Synapse. Il doit être supprimé, puis ajoutés au rôle Administrateur Synapse pour récupérer l’accès aux pools SQL dédiés.

Étapes suivantes