Konfigurera Microsoft Entra-ID för SQL Server-federation

Den här sidan beskriver hur du konfigurerar Databricks Lakehouse Federation för att köra federerade frågor på Microsoft SQL Server med hjälp av Microsoft Entra ID-autentisering. Både U2M-flöden (user-to-machine) och M2M-flöden (machine-to-machine) för OAuth stöds.

OAuth-flöden som stöds

  • U2M: Autentisera med ett Microsoft-konto. Användaren uppmanas att logga in med en omdirigerings-URI och åtkomsttoken utfärdas för användaren.
  • M2M: Autentisera med hjälp av tjänstens huvudnamn. Åtkomsttoken utfärdas för programmet i stället för för för en specifik användare.

I Databricks-arbetsytan refererar OAuth till U2M-autentisering, och OAuth Machine to Machine refererar till M2M-autentisering.

Innan du börjar

Innan du kan köra federerade frågor på SQL Server med hjälp av Entra-ID måste du ha följande:

  • Åtkomst till en Azure-prenumeration och behörigheter för att registrera program i Microsoft Entra-ID.
  • Administratörsåtkomst till SQL Server-instansen för att skapa Entra-huvudkonton.

Registrera ett program i Microsoft Entra ID

Gör följande för att skapa en programregistrering för autentisering:

  1. Logga in på Azure-portalen.
  2. Gå till Microsoft Entra ID>Appregistreringar>Ny registrering.
  3. Ange ett namn för din app.
    • För U2M (OAuth) anger du omdirigerings-URI:n till följande: https://<workspace-url>/login/oauth/azure.html
    • För M2M (tjänstens huvudnamn) lämnar du omdirigerings-URI:n tom.
  4. Klicka på Registrera.
  5. Kopiera program-ID (klient-ID) och katalog-ID (klientorganisation-ID).
  6. Gå till Certifikat och hemligheter>Ny klienthemlighet.
  7. Spara det genererade hemliga värdet.

Tilldela behörigheter till programmet

Om du vill tillåta att programmet autentiseras till SQL Server tilldelar du nödvändiga API-behörigheter:

  1. Gå till API-behörigheter>Lägg till en behörighet.
  2. Välj Azure SQL Database>user_impersonation (delegerade behörigheter).
  3. För M2M kontrollerar du att appen har de behörigheter som krävs för autentisering med tjänsteprincip.
  4. För M2M-autentisering i Azure SQL Managed Instance kontrollerar du att du har tilldelat den hanterade instansidentiteten till rollen "Katalogläsare".

Skapa ett huvudnamn för tjänsten i SQL Server (endast M2M)

  1. Anslut till SQL Server-instansen med dina inloggningsuppgifter för Entra-ID. Du måste ha behörighet att skapa en ny användare.

  2. Skapa en ny inloggning och användare för Entra-appen.

  3. Bevilja användaren läsbehörighet.

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

Mer information och avancerade scenarier finns på följande sidor i Microsoft-dokumentationen:

Skapa en anslutning

Gör följande på Databricks-arbetsytan:

  1. I sidofältet klickar du på Katalog>Lägg till Lägg till>en anslutning.
  2. Som Anslutningstyp väljer du SQL Server.
  3. För autentiseringstyp väljer du OAuth (U2M) eller OAuth Machine to Machine (M2M).
  4. Ange följande anslutningsegenskaper:
    • Värd: SQL Server-värdnamn.
    • Port: SQL Server-port.
    • Användare: För U2M, din Microsoft-kontoanvändare. För M2M, tjänstens huvudnamn.
    • Ange klient-ID och klienthemlighet från Entra-appregistreringen.
    • Ange auktoriseringsslutpunkten:
      • U2M: https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize
      • M2M: https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
    • För OAuth-omfång anger du https://database.windows.net/.default offline_access (endast U2M).
  5. För U2M klickar du på Logga in med Azure Entra-ID och slutför autentiseringsflödet.
  6. Klicka på Skapa anslutning och fortsätt till att skapa katalogen.

Nästa steg

Nu när anslutningen till SQL Server har skapats kan du läsa Köra federerade frågor på Microsoft SQL Server för att skapa en sekundär katalog och fråga efter dina data.