Partager via


Authentification Microsoft Entra comme alternative à l’authentification SQL

S’applique à :✅ point de terminaison d’analytique SQL et entrepôt dans Microsoft Fabric

Cet article traite des méthodes techniques que les utilisateurs et les clients peuvent utiliser pour passer de l’authentification SQL à l’authentification Microsoft Entra au sein de Microsoft Fabric. L’authentification Microsoft Entra est une alternative aux noms d’utilisateur et aux mots de passe via l’authentification SQL pour la connexion au point de terminaison d’analytique SQL du lakehouse ou de l’entrepôt dans Microsoft Fabric. L’authentification Microsoft Entra est conseillée et essentielle pour la création d’une plateforme de données sécurisée.

Cet article se concentre sur l’authentification Microsoft Entra comme alternative à l’authentification SQL dans les éléments Microsoft Fabric tels qu’un entrepôt ou lakehouse de point de terminaison d’analytique SQL.

Avantages de l’authentification Microsoft Entra dans Fabric

L’un des principes fondamentaux de Microsoft Fabric est la sécurisation par conception. Microsoft Entra fait partie intégrante de la sécurité de Microsoft Fabric en garantissant une protection des données, une gouvernance et une conformité fortes.

Microsoft Entra joue un rôle crucial dans la sécurité de Microsoft Fabric pour plusieurs raisons :

  • Authentification : vérifiez les utilisateurs et les principaux de service à l’aide de Microsoft Entra ID, qui accorde des jetons d’accès pour les opérations dans Fabric.
  • Accès sécurisé : connectez-vous de manière sécurisée aux applications cloud à partir de n’importe quel appareil ou réseau, en protégeant les demandes adressées à Fabric.
  • Accès conditionnel : les administrateurs peuvent définir des stratégies qui évaluent le contexte de connexion utilisateur, contrôlent l’accès ou appliquent des étapes de vérification supplémentaires.
  • Intégration : Microsoft Entra ID fonctionne en toute transparence avec toutes les offres Microsoft SaaS, notamment Fabric, ce qui facilite l’accès entre les appareils et les réseaux.
  • Plateforme vaste : Accédez à Microsoft Fabric avec Microsoft Entra ID via n’importe quelle méthode, que ce soit via le portail Fabric, une chaîne de connexion SQL, l’API REST ou le point de terminaison XMLA.

Microsoft Entra adopte une stratégie de Confiance Zéro complète, offrant une alternative supérieure à l’authentification SQL traditionnelle limitée aux noms d’utilisateur et aux mots de passe. Cette approche a les caractéristiques suivantes :

  • Empêche l’usurpation d’identité des utilisateurs.
  • Permet un contrôle d’accès affiné compte tenu de l’identité de l’utilisateur, de l’environnement, des appareils, etc.
  • Prend en charge la sécurité avancée comme l’authentification multifacteur Microsoft Entra.

Configuration de Fabric

L’authentification Microsoft Entra pour une utilisation avec un point de terminaison d’entrepôt ou de lakehouse d’analytique SQL nécessite une configuration dans les paramètres Client et Espace de travail.

Paramètre de locataire

Un administrateur Fabric de votre locataire doit autoriser l’accès des noms de principal du service (SPN) aux API Fabric. Cela est nécessaire pour que le SPN serve d’interface pour les chaînes de connexion SQL à l’entrepôt Warehouse ou aux éléments de point de terminaison d’analytique SQL.

Ce paramètre se trouve dans la section Paramètres du développeur et est intitulé Les principaux de service peuvent utiliser les API Fabric. Vérifiez qu’elle est activée.

Capture d’écran depuis le portail Fabric de la page Paramètres du développeur dans Paramètres Client.

Paramètres de l’espace de travail

Un administrateur Fabric de votre espace de travail doit accorder l’accès à un utilisateur ou à un SPN pour accéder aux éléments Fabric.

Il existe deux moyens par lesquels un utilisateur/SPN peut obtenir l’autorisation d’accès :

  • Accorder une appartenance d’utilisateur/SPN à un rôle : tout rôle d’espace de travail (administrateur, membre, contributeur ou visionneur) est suffisant pour se connecter à des éléments d’entrepôt ou de lakehouse avec une chaîne de connexion SQL.

    1. Dans l’option Gérer l’accès dans l’espace de travail, attribuez le rôle Contributeur. Pour plus d’informations, consultez Rôles de service.
  • Affecter un utilisateur/SPN à un élément spécifique : accordez l’accès à un point de terminaison d’analytique SQL ou d’entrepôt spécifique d’un Lakehouse. Un administrateur Fabric peut choisir parmi différents niveaux d’autorisation.

    1. Accédez à l’élément de point de terminaison d’entrepôt ou d’analytique SQL approprié.
    2. Sélectionnez Plus d’options puis Gérer les autorisations. Sélectionnez Ajouter un utilisateur.
    3. Ajoutez l’utilisateur/le SPN sur la page Accorder l’accès à des personnes.
    4. Attribuez les autorisations nécessaires à un utilisateur/SPN. Choisissez aucune Autorisation supplémentaire pour accorder des autorisations de connexion uniquement.

    Capture d’écran du portail Fabric de la page Accorder l’accès aux personnes.

Vous pouvez modifier les autorisations par défaut accordées à l’utilisateur ou au SPN par le système. Utilisez les commandes T-SQL GRANT et DENY pour modifier les autorisations en fonction des besoins, ou ALTER ROLE pour ajouter l’appartenance aux rôles.

Actuellement, les SPN n’ont pas la capacité en tant que comptes d’utilisateur pour une configuration d’autorisation détaillée avec GRANT/DENY.

Prise en charge des identités utilisateur et des noms de principaux de service (SPN)

Fabric prend en charge nativement l’authentification et l’autorisation pour les utilisateurs Microsoft Entra et les noms de principal de service (SPN) dans les connexions SQL à l’entrepôt et aux éléments de point de terminaison d’analytique SQL.

  • Les identités utilisateur sont les informations d’identification uniques pour chaque utilisateur au sein d’une organisation.
  • Les SPN représentent des objets d’application au sein d’un client et agissent comme l’identité des instances d’applications, prenant le rôle d’authentification et d’autorisation de ces applications.

Prise en charge du flux de données tabulaires (TDS)

Fabric utilise le protocole TDS (Tabular Data Stream), identique à SQL Server, lorsque vous vous connectez avec une chaîne de connexion.

Fabric est compatible avec n’importe quelle application ou outil capable de se connecter à un produit avec le moteur de base de données SQL. Comme pour une connexion d’instance SQL Server, TDS fonctionne sur le port TCP 1433. Pour plus d’informations sur la connectivité SQL Fabric et la recherche de la chaîne de connexion SQL, consultez Connectivité.

Un exemple de chaîne de connexion SQL se présente ainsi : <guid_unique_your_item>.datawarehouse.fabric.microsoft.com.

Les applications et les outils clients peuvent définir la propriété de connexion Authentication dans la chaîne de connexion pour choisir un mode d’authentification Microsoft Entra. Le tableau suivant détaille les différents modes d’authentification Microsoft Entra, notamment la prise en charge de l’Authentification multifacteur Microsoft Entra (MFA).

Mode d'authentification Scénarios Commentaires
Interaction Microsoft Entra Utilisée par des applications ou des outils dans des situations où l’authentification utilisateur peut se produire de manière interactive ou lorsqu’il est acceptable d’avoir une intervention manuelle pour la vérification des informations d’identification. Activer MFA et les stratégies d’accès conditionnel Microsoft Entra pour appliquer des stratégies organisationnelles.
Principal de service Microsoft Entra Utilisée par les applications pour l’authentification sécurisée sans intervention humaine, la plus adaptée à l’intégration d’applications. Il est conseillé d’activer Stratégies d’accès conditionnel Microsoft Entra.
Mot de passe Microsoft Entra Lorsque les applications ne peuvent pas utiliser l’authentification basée sur SPN en raison d’une incompatibilité, ou nécessitent un nom d’utilisateur et un mot de passe génériques pour de nombreux utilisateurs, ou si d’autres méthodes ne sont pas réalisables. La MFA doit être désactivée et aucune stratégie d’accès conditionnel ne peut être définie. Nous vous recommandons de valider auprès de l’équipe de sécurité du client avant de choisir cette solution.

Organigramme montrant les modes d’authentification Microsoft Entra et les points de décision.

Prise en charge du pilote pour l’authentification Microsoft Entra

Bien que la plupart des pilotes SQL aient initialement pris en charge l’authentification Microsoft Entra, les mises à jour récentes ont étendu la compatibilité pour inclure l’authentification basée sur SPN. Cette amélioration simplifie le passage à l’authentification Microsoft Entra pour diverses applications et divers outils via des mises à niveau de pilotes et l’ajout de la prise en charge de l’authentification Microsoft Entra.

Toutefois, il est parfois nécessaire d’ajuster des paramètres supplémentaires tels que l’activation de certains ports ou pare-feu pour faciliter l’authentification Microsoft Entra sur l’ordinateur hôte.

Les applications et les outils doivent mettre à niveau les pilotes vers des versions qui prennent en charge l’authentification Microsoft Entra et ajouter un mot clé de mode d’authentification dans leur chaîne de connexion SQL, comme ActiveDirectoryInteractive, ActiveDirectoryServicePrincipal ou ActiveDirectoryPassword.

Fabric est compatible avec les pilotes natifs de Microsoft, notamment OLE DB, Microsoft.Data.SqlClient et les pilotes génériques tels qu’ODBC et JDBC. La transition pour que les applications fonctionnent avec Fabric peut être gérée par le biais de la reconfiguration pour utiliser l’authentification basée sur Microsoft Entra ID.

Plus d’informations, consultez Connectivité à l’entrepôt de données dans Microsoft Fabric.

Microsoft OLE DB

OLE DB Driver pour SQL Server est une API d’accès aux données autonome conçue pour OLE DB et publiée pour la première fois avec SQL Server 2005 (9.x). Depuis, les fonctionnalités étendues incluent l’authentification basée sur SPN avec la version 18.5.0, qui s’ajoute aux méthodes d’authentification existantes des versions antérieures.

Mode d'authentification Chaîne de connexion SQL
Interaction Microsoft Entra Authentification interactive Microsoft Entra
Principal de service Microsoft Entra Authentification du principal de service Microsoft Entra
Mot de passe Microsoft Entra Authentification par nom d’utilisateur et mot de passe Microsoft Entra

Pour obtenir un extrait de code C# utilisant OLE DB avec l’authentification basée sur SPN, consultez System.Data.OLEDB.Connect.cs.

Pilote Microsoft ODBC

Microsoft ODBC Driver for SQL Server est une bibliothèque de liens dynamiques (DLL) unique qui prend en charge l’exécution des applications utilisant les API en code natif pour se connecter à SQL Server. Il est recommandé d’utiliser la version la plus récente pour les applications à intégrer à Fabric.

Pour plus d’informations sur l’authentification Microsoft Entra avec ODBC, consultez Utiliser Microsoft Entra ID avec l’exemple de code ODBC Driver.

Mode d'authentification SQL Connection String
Interaction Microsoft Entra DRIVER={ODBC Driver 18 for SQL Server};SERVER=<SQL Connection String>;DATABASE=<DB Name>;UID=<Client_ID@domain>;PWD=<Secret>;Authentication=ActiveDirectoryInteractive
Principal de service Microsoft Entra DRIVER={ODBC Driver 18 for SQL Server};SERVER=<SQL Connection String>;DATABASE=<DBName>;UID=<Client_ID@domain>;PWD=<Secret>;Authentication=ActiveDirectoryServicePrincipal
Mot de passe Microsoft Entra DRIVER={ODBC Driver 18 for SQL Server};SERVER=<SQL Connection String>;DATABASE=<DBName>;UID=<Client_ID@domain>;PWD=<Secret>;Authentication=ActiveDirectoryPassword

Pour obtenir un extrait de code Python utilisant ODBC avec l’authentification basée sur SPN, consultez pyodbc-dw-connectivity.py.

Microsoft JDBC Driver

Le pilote Microsoft JDBC pour SQL Server est un pilote JDBC de type 4 offrant une connectivité de base de données par le biais des API JDBC standard, disponibles sur la plateforme Java.

À partir de la version 9.2, mssql-jdbc introduit la prise en charge de ActiveDirectoryInteractive et ActiveDirectoryServicePrincipal, avec la prise en charge de ActiveDirectoryPassword dans les versions 12.2 et ultérieures. Ce pilote nécessite des fichiers jar supplémentaires en tant que dépendances, qui doivent être compatibles avec la version de mssql-driver utilisée dans votre application. Pour plus d’informations, consultez Dépendances de fonctionnalités du pilote JDBC et Exigences de configuration du client.

Mode d'authentification Plus d’informations
Interaction Microsoft Entra Se connecter à l’aide du mode d’authentification ActiveDirectoryInteractive
Principal de service Microsoft Entra Se connecter à l’aide du mode d’authentification ActiveDirectoryServicePrincipal
Mot de passe Microsoft Entra Se connecter à l’aide du mode d’authentification ActiveDirectoryPassword

Pour obtenir un extrait de code Java utilisant JDBC avec l’authentification basée sur SPN, consultez fabrictoolbox/dw_connect.java et exemple de fichier pom pom.xml.

Microsoft.Data.SqlClient dans .NET Core (C#)

Le Microsoft.Data.SqlClient est un fournisseur de données pour Microsoft Sql Server et Azure SQL Database. Il s’agit d’une union des deux composants System.Data.SqlClient qui vivent indépendamment dans .NET Framework et .NET Core, fournissant un ensemble de classes pour accéder aux bases de données Microsoft SQL Server. Microsoft.Data.SqlClient est recommandé pour tout nouveau ou futur développement.

Mode d'authentification Plus d’informations
Interaction Microsoft Entra Utilisation de l’authentification interactive
Principal de service Microsoft Entra Utilisation de l’authentification de principal de service
Mot de passe Microsoft Entra Utilisation de l’authentification par mot de passe

Extraits de code utilisant des SPN :