Dela via


Microsoft Entra-autentisering som ett alternativ till SQL-autentisering

Gäller för:✅ SQL-analysslutpunkt och lager i Microsoft Fabric

Den här artikeln beskriver tekniska metoder som användare och kunder kan använda för att övergå från SQL-autentisering till Microsoft Entra-autentisering i Microsoft Fabric. Microsoft Entra-autentisering är ett alternativ till användarnamn och lösenord via SQL-autentisering för att logga in på SQL-analysslutpunkten för lakehouse eller lagret i Microsoft Fabric. Microsoft Entra-autentisering är tillrådligt och viktigt för att skapa en säker dataplattform.

Den här artikeln fokuserar på Microsoft Entra-autentisering som ett alternativ till SQL-autentisering i Microsoft Fabric-objekt, till exempel en Slutpunkt för Warehouse- eller Lakehouse SQL-analys.

Fördelar med Microsoft Entra-autentisering i Fabric

En av Microsoft Fabrics huvudprinciper är säker avsiktligt. Microsoft Entra är en integrerad del av Microsoft Fabrics säkerhet genom att säkerställa starkt dataskydd, styrning och efterlevnad.

Microsoft Entra spelar en viktig roll i Microsoft Fabrics säkerhet av flera skäl:

  • Autentisering: Verifiera användare och tjänstens huvudnamn med hjälp av Microsoft Entra-ID, som beviljar åtkomsttoken för åtgärder i Fabric.
  • Säker åtkomst: Anslut säkert till molnappar från valfri enhet eller nätverk och skydda begäranden som görs till Fabric.
  • Villkorlig åtkomst: Administratörer kan ange principer som utvärderar användarens inloggningskontext, kontrollerar åtkomsten eller framtvingar extra verifieringssteg.
  • Integrering: Microsoft Entra ID fungerar sömlöst med alla Microsoft SaaS-erbjudanden, inklusive Fabric, vilket ger enkel åtkomst mellan enheter och nätverk.
  • Bred plattform: Få åtkomst till Microsoft Fabric med Microsoft Entra-ID via valfri metod, oavsett om det är via Fabric-portalen, SQL anslutningssträng, REST API eller XMLA-slutpunkten.

Microsoft Entra antar en fullständig Nolltillit princip som erbjuder ett överlägset alternativ till traditionell SQL-autentisering som är begränsad till användarnamn och lösenord. Den här metoden:

  • Förhindrar personifiering av användare.
  • Möjliggör detaljerad åtkomstkontroll med tanke på användaridentitet, miljö, enheter osv.
  • Stöder avancerad säkerhet som Microsoft Entra multifaktorautentisering.

Infrastrukturkonfiguration

Microsoft Entra-autentisering för användning med en Slutpunkt för Warehouse- eller Lakehouse SQL-analys kräver konfiguration i både klient- och arbetsyteinställningar .

Klientinställning

En Infrastrukturadministratör i klientorganisationen måste tillåta spn-åtkomst (Service Principal Name) till Infrastruktur-API:er, vilket krävs för att SPN ska kunna användas för SQL-anslutningssträng till Fabric Warehouse eller SQL Analytics-slutpunktsobjekt.

Den här inställningen finns i avsnittet Inställningar för utvecklare och är märkt som Tjänstens huvudnamn kan använda Infrastruktur-API:er. Kontrollera att den är aktiverad.

Skärmbild från fabric-portalen på sidan Inställningar för utvecklare i Klientinställningar.

Inställning för arbetsyta

En infrastrukturresursadministratör på din arbetsyta måste bevilja åtkomst för en användare eller SPN för att få åtkomst till infrastrukturresurser.

Det finns två sätt på vilka en användare/SPN kan beviljas åtkomst:

  • Bevilja en användare/SPN-medlemskap till en roll: Alla arbetsyteroller (administratör, medlem, deltagare eller läsare) räcker för att ansluta till lager- eller lakehouse-objekt med en SQL-anslutningssträng.

    1. I alternativet Hantera åtkomst på arbetsytan tilldelar du rollen Deltagare. Mer information finns i Tjänstroller.
  • Tilldela en användare/SPN till ett specifikt objekt: Bevilja åtkomst till ett specifikt lager- eller SQL-analysslutpunkt för en Lakehouse. En infrastrukturadministratör kan välja mellan olika behörighetsnivåer.

    1. Gå till relevant lager- eller SQL-analysslutpunktsobjekt.
    2. Välj Fler alternativ och sedan Hantera behörigheter. Välj Lägg till användare.
    3. Lägg till användar-/SPN på sidan Bevilja personer åtkomst .
    4. Tilldela nödvändiga behörigheter till en användare/SPN. Välj inga ytterligare behörigheter för att endast bevilja anslutningsbehörigheter.

    Skärmbild från Infrastrukturportalen på sidan Bevilja personer åtkomst.

Du kan ändra standardbehörigheterna som ges till användaren eller SPN av systemet. Använd kommandona T-SQL GRANT och DENY för att ändra behörigheter efter behov, eller ÄNDRA ROLL för att lägga till medlemskap i roller.

För närvarande har SPN inte funktionen som användarkonton för detaljerad behörighetskonfiguration med GRANT/DENY.

Stöd för användaridentiteter och tjänsthuvudnamn (SPN)

Fabric har inbyggt stöd för autentisering och auktorisering för Microsoft Entra-användare och tjänsthuvudnamn (SPN) i SQL-anslutningar till lager- och SQL-analysslutpunktsobjekt.

  • Användaridentiteter är de unika autentiseringsuppgifterna för varje användare i en organisation.
  • SPN representerar programobjekt i en klientorganisation och fungerar som identitet för instanser av program, med rollen att autentisera och auktorisera dessa program.

Stöd för tabelldataström (TDS)

Fabric använder TDS-protokollet (Tabular Data Stream), samma som SQL Server, när du ansluter med en anslutningssträng.

Fabric är kompatibelt med alla program eller verktyg som kan ansluta till en produkt med SQL Database Engine. På samma sätt som en SQL Server-instansanslutning fungerar TDS på TCP-port 1433. Mer information om SQL-anslutningar för infrastrukturresurser och hitta SQL-anslutningssträng finns i Anslutning.

Ett SQL-exempel anslutningssträng ser ut så här: <guid_unique_your_item>.datawarehouse.fabric.microsoft.com.

Program och klientverktyg kan ange anslutningsegenskapen Authentication i anslutningssträng för att välja ett Microsoft Entra-autentiseringsläge. I följande tabell beskrivs de olika autentiseringslägena för Microsoft Entra, inklusive stöd för MFA (Microsoft Entra multifactor authentication).

Autentiseringsläge Scenarier Kommentarer
Microsoft Entra Interactive Används av program eller verktyg i situationer där användarautentisering kan ske interaktivt eller när det är acceptabelt att ha manuella åtgärder för verifiering av autentiseringsuppgifter. Aktivera principer för villkorsstyrd åtkomst i MFA och Microsoft Entra för att framtvinga organisationsregler.
Microsoft Entra-tjänstens huvudnamn Används av appar för säker autentisering utan mänsklig inblandning, som passar bäst för programintegrering. Vi rekommenderar att du aktiverar principer för villkorsstyrd åtkomst i Microsoft Entra.
Microsoft Entra-lösenord När program inte kan använda SPN-baserad autentisering på grund av inkompatibilitet, eller kräver ett allmänt användarnamn och lösenord för många användare, eller om andra metoder är omöjliga. MFA måste vara inaktiverat och inga principer för villkorlig åtkomst kan anges. Vi rekommenderar att du verifierar med kundens säkerhetsteam innan du väljer den här lösningen.

Flödesschema som visar autentiseringslägen och beslutspunkter för Microsoft Entra.

Drivrutinsstöd för Microsoft Entra-autentisering

De flesta SQL-drivrutinerna hade ursprungligen stöd för Microsoft Entra-autentisering, men de senaste uppdateringarna har utökat kompatibiliteten till att omfatta SPN-baserad autentisering. Den här förbättringen förenklar övergången till Microsoft Entra-autentisering för olika program och verktyg via drivrutinsuppgraderingar och lägger till stöd för Microsoft Entra-autentisering.

Ibland är det dock nödvändigt att justera ytterligare inställningar, till exempel att aktivera vissa portar eller brandväggar för att underlätta Microsoft Entra-autentisering på värddatorn.

Program och verktyg måste uppgradera drivrutiner till versioner som stöder Microsoft Entra-autentisering och lägga till nyckelordet autentiseringsläge i sql-anslutningssträng, till exempel ActiveDirectoryInteractive, ActiveDirectoryServicePrincipaleller ActiveDirectoryPassword.

Fabric är kompatibelt med Microsofts inbyggda drivrutiner, inklusive OLE DB och Microsoft.Data.SqlClientallmänna drivrutiner som ODBC och JDBC. Övergången för program att fungera med Fabric kan hanteras genom omkonfiguration för att använda Microsoft Entra ID-baserad autentisering.

Mer information finns i Anslutning till datalager i Microsoft Fabric.

Microsoft OLE DB

OLE DB-drivrutinen för SQL Server är ett fristående API för dataåtkomst som utformats för OLE DB och först släpptes med SQL Server 2005 (9.x). Sedan dess omfattar utökade funktioner SPN-baserad autentisering med version 18.5.0, vilket lägger till befintliga autentiseringsmetoder från tidigare versioner.

Autentiseringsläge SQL anslutningssträng
Microsoft Entra Interactive Interaktiv Microsoft Entra-autentisering
Microsoft Entra-tjänstens huvudnamn Microsoft Entra-tjänstens huvudnamnsautentisering
Microsoft Entra-lösenord Microsoft Entra-autentisering med användarnamn och lösenord

Ett C#-kodfragment med OLE DB med SPN-baserad autentisering finns i System.Data.OLEDB.Connect.cs.

Microsoft ODBC-drivrutin

Microsoft ODBC-drivrutinen för SQL Server är ett enda DLL-bibliotek (Dynamic Link Library) som innehåller körningsstöd för program som använder api:er med inbyggd kod för att ansluta till SQL Server. Vi rekommenderar att du använder den senaste versionen för program som ska integreras med Fabric.

Mer information om Microsoft Entra-autentisering med ODBC finns i Använda Microsoft Entra-ID med ODBC-drivrutinsexempelkoden.

Autentiseringsläge SQL-anslutningssträng
Microsoft Entra Interactive DRIVER={ODBC Driver 18 for SQL Server};SERVER=<SQL Connection String>;DATABASE=<DB Name>;UID=<Client_ID@domain>;PWD=<Secret>;Authentication=ActiveDirectoryInteractive
Microsoft Entra-tjänstens huvudnamn DRIVER={ODBC Driver 18 for SQL Server};SERVER=<SQL Connection String>;DATABASE=<DBName>;UID=<Client_ID@domain>;PWD=<Secret>;Authentication=ActiveDirectoryServicePrincipal
Microsoft Entra-lösenord DRIVER={ODBC Driver 18 for SQL Server};SERVER=<SQL Connection String>;DATABASE=<DBName>;UID=<Client_ID@domain>;PWD=<Secret>;Authentication=ActiveDirectoryPassword

Ett python-kodfragment med ODBC med SPN-baserad autentisering finns i pyodbc-dw-connectivity.py.

Microsoft JDBC-drivrutin

Microsoft JDBC-drivrutinen för SQL Server är en JDBC-drivrutin av typ 4 som tillhandahåller databasanslutning via de vanliga JDBC-programprogramgränssnitten (API:er) som är tillgängliga på Java-plattformen.

Från och med version 9.2 mssql-jdbc introducerar stöd för ActiveDirectoryInteractive och ActiveDirectoryServicePrincipal, med ActiveDirectoryPassword stöd i version 12.2 och senare. Den här drivrutinen kräver ytterligare jars som beroenden, som måste vara kompatibla med den version av som mssql-driver används i ditt program. Mer information finns i Funktionsberoenden för JDBC-drivrutin och krav på klientkonfiguration.

Autentiseringsläge Mer information
Microsoft Entra Interactive Ansluta med ActiveDirectoryInteractive-autentiseringsläge
Microsoft Entra-tjänstens huvudnamn Ansluta med autentiseringsläget ActiveDirectoryServicePrincipal
Microsoft Entra-lösenord Ansluta med autentiseringsläget ActiveDirectoryPassword

Ett java-kodfragment med JDBC med SPN-baserad autentisering finns i fabrictoolbox/dw_connect.java och pom-exempelfil pom.xml.

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

Microsoft.Data.SqlClient är en dataprovider för Microsoft SQL Server och Azure SQL Database. Det är en union av de två System.Data.SqlClient komponenterna som finns oberoende av varandra i .NET Framework och .NET Core, vilket ger en uppsättning klasser för åtkomst till Microsoft SQL Server-databaser. Microsoft.Data.SqlClient rekommenderas för all ny och framtida utveckling.

Autentiseringsläge Mer information
Microsoft Entra Interactive Använda interaktiv autentisering
Microsoft Entra-tjänstens huvudnamn Använda autentisering med tjänstens huvudnamn
Microsoft Entra-lösenord Använda lösenordsautentisering

Kodfragment med hjälp av SPN: