Aller au contenu principal

Configurez Microsoft Entra ID pour la fédération SQL Server

Cette page décrit comment configurer la Lakehouse Federation de Databricks pour exécuter des query fédérées sur Microsoft SQL Server en utilisant l'authentification Microsoft Entra ID. Les flux OAuth user-to-machine (U2M) et machine-to-machine (M2M) sont tous deux pris en charge.

Flux OAuth pris en charge

  • U2M : Authentifiez-vous à l'aide d'un compte Microsoft. L'utilisateur est invité à se connecter à l'aide d'un URI de redirection, et le jeton d'accès est émis pour l'utilisateur.
  • M2M : Authentifiez-vous à l’aide d’un Service Principal. Le jeton d'accès est émis pour l'application et non pour un utilisateur spécifique.

Dans le Workspace Databricks, **OAuth** fait référence à l'authentification U2M, et **OAuth Machine to Machine** fait référence à l'authentification M2M.

Avant de commencer

Avant de pouvoir exécuter des queries fédérées sur SQL Server à l'aide d'Entra ID, vous devez disposer des éléments suivants :

  • Accès à un abonnement Azure et autorisations pour enregistrer des applications dans Microsoft Entra ID.
  • Accès administrateur à votre instance SQL Server pour créer des principaux Entra.

Enregistrer une application dans Microsoft Entra ID

Pour créer une inscription d'application pour l'authentification, procédez comme suit :

  1. Connectez-vous au portail Azure.

  2. Accédez à Microsoft Entra ID > Inscriptions d'applications > Nouvelle inscription .

  3. Saisissez un nom pour votre application.

    • Pour U2M (OAuth) , définissez l'URI de redirection comme suit : https://<workspace-url>/login/oauth/azure.html
    • Pour **M2M (Service Principal)**, laissez l'URI de redirection vide.
  4. Cliquez sur S'INSCRIRE .

  5. Copiez l' ID d'application (client) et l' ID de répertoire (tenant) .

  6. Accédez à Certificats et secrets > Nouveau secret client .

  7. Enregistrez la valeur secrète générée.

Attribuer des autorisations à l'application

Pour permettre à l'application de s'authentifier auprès de SQL Server, attribuez les autorisations API requises :

  1. Accédez à Autorisations API > Ajouter une autorisation .
  2. Sélectionnez **Azure SQL Database** > **user_impersonation** (Autorisations déléguées).
  3. Pour M2M, assurez-vous que l'application dispose des autorisations requises pour l'authentification du Service Principal.
  4. Pour l'authentification M2M sur Azure SQL Managed Instance, assurez-vous d'avoir attribué l'identité de l'instance gérée au rôle "Lecteurs de répertoires".

Créez un service principal dans SQL Server (M2M uniquement)

  1. Connectez-vous à votre instance SQL Server à l'aide de vos identifiants de connexion Entra ID. Vous devez avoir les autorisations pour créer un nouvel utilisateur.

  2. Créez une nouvelle connexion et un utilisateur pour l'application Entra.

  3. Accordez les autorisations de lecture à l'utilisateur.

    SQL
    CREATE LOGIN [<app_name>] FROM EXTERNAL PROVIDER;
    CREATE USER [<app_name>] FROM LOGIN [<app_name>];
    ALTER ROLE db_datareader ADD MEMBER [<app_name>];

Pour plus de détails et des scénarios avancés, consultez les pages suivantes dans la documentation Microsoft :

Créer une connexion

Dans le Workspace Databricks, effectuez les opérations suivantes :

  1. Dans la barre latérale, cliquez sur Catalog > Add > Créer une connexion .

  2. Pour type de connexion , sélectionnez SQL Server .

  3. Pour le **Type d'authentification**, sélectionnez **OAuth** (U2M) ou **OAuth machine à machine** (M2M).

  4. Saisissez les propriétés de connexion suivantes :

    • Hôte : Hostname SQL Server.

    • Port : Port SQL Server.

    • Utilisateur : pour U2M, votre utilisateur de compte Microsoft. Pour M2M, le nom du Service Principal.

    • Saisissez l' ID client et la clé secrète client de l'enregistrement d'application Entra.

    • Saisissez l’**Endpoint d’autorisation** :

      • U2M : https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize
      • M2M : https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
    • Pour le **champ d’application OAuth**, entrez https://database.windows.net/.default offline_access (U2M uniquement).

  5. Pour U2M, cliquez sur Se connecter avec Azure Entra ID et terminez le flux d'authentification.

  6. Cliquez sur Créer une connexion et passez à la création du catalogue.

Étapes suivantes

Maintenant que la connexion à SQL Server a été créée, vous pouvez :