Udostępnij za pośrednictwem


Uwierzytelnianie microsoft Entra jako alternatywa dla uwierzytelniania SQL

Dotyczy:✅ punkt końcowy analizy SQL i magazyn w usłudze Microsoft Fabric

W tym artykule opisano metody techniczne, których użytkownicy i klienci mogą używać do przejścia z uwierzytelniania SQL do uwierzytelniania entra firmy Microsoft w usłudze Microsoft Fabric. Uwierzytelnianie entra firmy Microsoft to alternatywa dla nazw użytkowników i haseł za pośrednictwem uwierzytelniania SQL na potrzeby logowania się do punktu końcowego analizy SQL lakehouse lub magazynu w usłudze Microsoft Fabric. Uwierzytelnianie firmy Microsoft Entra jest zalecane i niezbędne do utworzenia bezpiecznej platformy danych.

Ten artykuł koncentruje się na uwierzytelnianiu firmy Microsoft Entra jako alternatywie dla uwierzytelniania SQL w elementach usługi Microsoft Fabric, takich jak punkt końcowy analizy SQL usługi Warehouse lub Lakehouse.

Zalety uwierzytelniania entra firmy Microsoft w sieci szkieletowej

Jedną z podstawowych zasad usługi Microsoft Fabric jest bezpieczeństwo zgodnie z projektem. Firma Microsoft Entra jest integralną częścią zabezpieczeń usługi Microsoft Fabric, zapewniając silną ochronę danych, ład i zgodność.

Firma Microsoft Entra odgrywa kluczową rolę w zabezpieczeniach usługi Microsoft Fabric z kilku powodów:

  • Uwierzytelnianie: Zweryfikuj użytkowników i jednostki usługi przy użyciu identyfikatora Entra firmy Microsoft, który udziela tokenów dostępu dla operacji w ramach sieci szkieletowej.
  • Bezpieczny dostęp: bezpiecznie połącz się z aplikacjami w chmurze z dowolnego urządzenia lub sieci, chroniąc żądania wysyłane do sieci szkieletowej.
  • Dostęp warunkowy: Administratorzy mogą ustawiać zasady, które oceniają kontekst logowania użytkownika, kontrolują dostęp lub wymuszają dodatkowe kroki weryfikacji.
  • Integracja: usługa Microsoft Entra ID bezproblemowo współpracuje ze wszystkimi ofertami SaaS firmy Microsoft, w tym siecią szkieletową, umożliwiając łatwy dostęp między urządzeniami i sieciami.
  • Szeroka platforma: uzyskiwanie dostępu do usługi Microsoft Fabric przy użyciu identyfikatora Entra firmy Microsoft za pośrednictwem dowolnej metody, niezależnie od tego, czy za pośrednictwem portalu sieci szkieletowej, parametry połączenia SQL, interfejsu API REST lub punktu końcowego XMLA.

Firma Microsoft Entra stosuje pełne zasady zero trustu, oferując doskonałą alternatywę dla tradycyjnego uwierzytelniania SQL ograniczonego do nazw użytkowników i haseł. Takie podejście:

  • Uniemożliwia personifikację użytkownika.
  • Umożliwia szczegółową kontrolę dostępu, biorąc pod uwagę tożsamość użytkownika, środowisko, urządzenia itp.
  • Obsługuje zaawansowane zabezpieczenia, takie jak uwierzytelnianie wieloskładnikowe firmy Microsoft.

Konfiguracja sieci szkieletowej

Uwierzytelnianie entra firmy Microsoft do użycia z punktem końcowym analizy SQL usługi Warehouse lub Lakehouse wymaga konfiguracji zarówno w ustawieniach dzierżawy, jak i obszaru roboczego.

Ustawienie dzierżawy

Administrator sieci szkieletowej w dzierżawie musi zezwolić na dostęp spN do interfejsów API sieci szkieletowej, co jest niezbędne, aby nazwa SPN interfejsu dla parametry połączenia SQL do usługi Fabric Warehouse lub elementów punktów końcowych analizy SQL.

To ustawienie znajduje się w sekcji Ustawienia dla deweloperów ios z etykietą Jednostki usługi mogą używać interfejsów API sieci szkieletowej. Upewnij się, że jest włączona.

Zrzut ekranu przedstawiający portal sieci szkieletowej na stronie Ustawienia dewelopera w obszarze Ustawienia dzierżawy.

Ustawienie obszaru roboczego

Administrator sieci szkieletowej w obszarze roboczym musi udzielić dostępu użytkownikowi/spN w celu uzyskania dostępu do elementów sieci szkieletowej.

Istnieją dwa sposoby, za pomocą których użytkownik/nazwa SPN może uzyskać dostęp:

  • Przyznaj członkostwu użytkownika/nazwy SPN roli Współautor obszaru roboczego: Rola Współautor obszaru roboczego umożliwia tożsamości użytkownika/spN uzyskiwanie dostępu do wszystkich elementów sieci szkieletowej za pośrednictwem parametry połączenia SQL.

    1. W opcji Zarządzaj dostępem w obszarze roboczym przypisz rolę Współautor. Aby uzyskać więcej informacji, zobacz Role usługi.

    Zrzut ekranu z portalu sieci szkieletowej przedstawiający rolę Współautor przypisaną użytkownikowi w opcji Zarządzanie dostępem w obszarze roboczym.

  • Przypisz użytkownika/nazwę SPN do określonego elementu: udziel dostępu do określonego punktu końcowego magazynu lub analizy SQL. Administrator sieci szkieletowej może wybrać spośród różnych poziomów uprawnień.

    1. Przejdź do odpowiedniego elementu punktu końcowego magazynu lub analizy SQL.
    2. Wybierz pozycję Więcej opcji, a następnie pozycję Zarządzaj uprawnieniami. Wybierz Dodaj użytkownika.
    3. Dodaj nazwę USER/SPN na stronie Udzielanie osobom dostępu .
    4. Przypisz niezbędne uprawnienia do użytkownika/nazwy SPN. Wybierz opcję Brak dodatkowych uprawnień, aby przyznać tylko uprawnienia do nawiązywania połączenia.

    Zrzut ekranu przedstawiający portal sieci szkieletowej na stronie Udzielanie dostępu osobom.

Możesz zmienić domyślne uprawnienia podane użytkownikowi/spN przez system. Użyj poleceń T-SQL GRANT i DENY , aby zmienić uprawnienia zgodnie z potrzebami lub ALTER ROLE , aby dodać członkostwo do ról.

Obecnie nazwy SPN nie mają możliwości jako kont użytkowników w celu uzyskania szczegółowej konfiguracji uprawnień za pomocą polecenia GRANT/DENY.

Obsługa tożsamości użytkowników i nazw głównych usług (SPN)

Sieć szkieletowa natywnie obsługuje uwierzytelnianie i autoryzację dla użytkowników firmy Microsoft i głównych nazw usług (SPN) w połączeniach SQL z elementami punktów końcowych magazynu i analizy SQL.

  • Tożsamości użytkowników to unikatowe poświadczenia dla każdego użytkownika w organizacji.
  • Nazwy SPN reprezentują obiekty aplikacji w dzierżawie i działają jako tożsamość dla wystąpień aplikacji, biorąc pod uwagę rolę uwierzytelniania i autoryzowania tych aplikacji.

Obsługa strumienia danych tabelarycznych (TDS)

Sieć szkieletowa natywnie obsługuje protokół strumienia danych tabelarycznych (TDS), znany również jako parametry połączenia SQL. W związku z tym sieć szkieletowa jest zgodna z dowolną aplikacją lub narzędziem, które może połączyć się z produktem za pomocą aparatu bazy danych SQL. Podobnie jak w przypadku połączenia z wystąpieniem programu SQL Server, TDS działa na porcie TCP 1433. Aby uzyskać więcej informacji na temat łączności SQL sieci szkieletowej, zobacz Łączność.

Aby uzyskać parametry połączenia, wybierz pozycję Więcej opcji w magazynie sieci szkieletowej lub elemencie punktu końcowego analizy SQL.

Zrzut ekranu z portalu Sieci szkieletowej w menu kontekstowym Więcej opcji. Opcja Kopiuj parametry połączenia SQL jest wyróżniona.

Przykładowy parametry połączenia SQL wygląda następująco: <guid_unique_your_item>.datawarehouse.fabric.microsoft.com.

Aplikacje i narzędzia klienckie mogą ustawiać Authentication właściwość połączenia w parametry połączenia, aby wybrać tryb uwierzytelniania Entra firmy Microsoft. W poniższej tabeli przedstawiono różne tryby uwierzytelniania Entra, w tym obsługę uwierzytelniania wieloskładnikowego firmy Microsoft (MFA).

Tryb uwierzytelniania Scenariusze Komentarze
Microsoft Entra Interactive Używane przez aplikacje lub narzędzia w sytuacjach, w których uwierzytelnianie użytkownika może wystąpić interaktywnie lub gdy dopuszczalne jest ręczne interwencje w celu weryfikacji poświadczeń. Aktywuj zasady MFA i Microsoft Entra Conditional Access, aby wymusić reguły organizacyjne.
Microsoft Entra Service Principal Używane przez aplikacje do bezpiecznego uwierzytelniania bez interwencji człowieka, najbardziej odpowiednie do integracji aplikacji. Zaleca się włączenie zasad dostępu warunkowego firmy Microsoft Entra.
Microsoft Entra Password Gdy aplikacje nie mogą używać uwierzytelniania opartego na nazwie SPN z powodu niezgodności lub wymagają ogólnej nazwy użytkownika i hasła dla wielu użytkowników lub jeśli inne metody są niewykonalne. Uwierzytelnianie wieloskładnikowe musi być wyłączone i nie można ustawić żadnych zasad dostępu warunkowego. Zaleca się zweryfikowanie z zespołem ds. zabezpieczeń klienta przed wybraniem tego rozwiązania.

Schemat blokowy przedstawiający tryby uwierzytelniania entra firmy Microsoft i punkty decyzyjne.

Obsługa sterowników na potrzeby uwierzytelniania firmy Microsoft Entra

Chociaż większość sterowników SQL początkowo obsługiwała uwierzytelnianie firmy Microsoft Entra, najnowsze aktualizacje rozszerzyły zgodność w celu uwzględnienia uwierzytelniania opartego na nazwie SPN. To ulepszenie upraszcza przejście do uwierzytelniania entra firmy Microsoft dla różnych aplikacji i narzędzi poprzez uaktualnienia sterowników i dodanie obsługi uwierzytelniania Firmy Microsoft Entra.

Jednak czasami konieczne jest dostosowanie dodatkowych ustawień, takich jak włączenie niektórych portów lub zapór w celu ułatwienia uwierzytelniania firmy Microsoft Entra na maszynie hosta.

Aplikacje i narzędzia muszą uaktualnić sterowniki do wersji obsługujących uwierzytelnianie Entra i dodać słowo kluczowe trybu uwierzytelniania w parametry połączenia SQL, takich jak ActiveDirectoryInteractive, ActiveDirectoryServicePrincipallub ActiveDirectoryPassword.

Sieć szkieletowa jest zgodna ze sterownikami natywnymi firmy Microsoft, w tym sterownikami OLE DB, Microsoft.Data.SqlClienti ogólnymi sterownikami, takimi jak ODBC i JDBC. Przejście aplikacji do pracy z usługą Fabric można zarządzać za pomocą ponownej konfiguracji w celu korzystania z uwierzytelniania opartego na identyfikatorze Microsoft Entra.

Aby uzyskać więcej informacji, zobacz Łączność z magazynowaniem danych w usłudze Microsoft Fabric.

Microsoft OLE DB

Sterownik OLE DB dla programu SQL Server jest autonomicznym interfejsem API dostępu do danych zaprojektowanym dla ole DB i wydanym po raz pierwszy z programem SQL Server 2005 (9.x). Ponieważ rozszerzone funkcje obejmują uwierzytelnianie oparte na nazwie SPN w wersji 18.5.0, dodając do istniejących metod uwierzytelniania z wcześniejszych wersji.

Tryb uwierzytelniania Parametry połączenia SQL
Microsoft Entra Interactive Interakcyjne uwierzytelnianie firmy Microsoft Entra
Microsoft Entra Service Principal Uwierzytelnianie jednostki usługi Microsoft Entra
Microsoft Entra Password Microsoft Entra username and password authentication (Uwierzytelnianie nazwy użytkownika i hasła firmy Microsoft)

Aby zapoznać się z fragmentem kodu języka C# przy użyciu uwierzytelniania opartego na protokole OLE DB z uwierzytelnianiem opartym na nazwie SPN, zobacz System.Data.OLEDB.Connect.cs.

Sterownik ODBC firmy Microsoft

Sterownik Microsoft ODBC dla programu SQL Server to pojedyncza biblioteka biblioteki dynamicznej (DLL) zawierająca obsługę czasu wykonywania dla aplikacji korzystających z interfejsów API kodu natywnego w celu nawiązania połączenia z programem SQL Server. Zaleca się używanie najnowszej wersji do integracji aplikacji z usługą Fabric.

Aby uzyskać więcej informacji na temat uwierzytelniania microsoft Entra za pomocą odBC, zobacz Using Microsoft Entra ID with the ODBC Driver sample code (Używanie identyfikatora Microsoft Entra ID z przykładowym kodem sterownika ODBC).

Tryb uwierzytelniania Parametry połączenia SQL
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 Service Principal DRIVER={ODBC Driver 18 for SQL Server};SERVER=<SQL Connection String>;DATABASE=<DBName>;UID=<Client_ID@domain>;PWD=<Secret>;Authentication=ActiveDirectoryServicePrincipal
Microsoft Entra Password DRIVER={ODBC Driver 18 for SQL Server};SERVER=<SQL Connection String>;DATABASE=<DBName>;UID=<Client_ID@domain>;PWD=<Secret>;Authentication=ActiveDirectoryPassword

Aby użyć fragmentu kodu w języku Python przy użyciu uwierzytelniania ODBC z uwierzytelnianiem opartym na nazwie SPN, zobacz pyodbc-dw-connectivity.py.

Sterownik JDBC firmy Microsoft

Sterownik JDBC firmy Microsoft dla programu SQL Server to sterownik JDBC typu 4, który zapewnia łączność bazy danych za pośrednictwem standardowych interfejsów programu aplikacji JDBC (API) dostępnych na platformie Java.

Począwszy od wersji 9.2, mssql-jdbc wprowadzono obsługę ActiveDirectoryInteractive systemów i ActiveDirectoryServicePrincipal, które ActiveDirectoryPassword są obsługiwane w wersjach 12.2 i nowszych. Ten sterownik wymaga dodatkowych plików JAR jako zależności, które muszą być zgodne z wersją używanej mssql-driver w aplikacji. Aby uzyskać więcej informacji, zobacz Zależności funkcji sterownika JDBC i Wymagania dotyczące konfiguracji klienta.

Tryb uwierzytelniania Więcej informacji
Microsoft Entra Interactive Nawiązywanie połączenia przy użyciu trybu uwierzytelniania ActiveDirectoryInteractive
Microsoft Entra Service Principal Nawiązywanie połączenia przy użyciu trybu uwierzytelniania ActiveDirectoryServicePrincipal
Microsoft Entra Password Nawiązywanie połączenia przy użyciu trybu uwierzytelniania ActiveDirectoryPassword

Aby zapoznać się ze fragmentem kodu java korzystającym z uwierzytelniania opartego na protokole JDBC, zobacz fabrictoolbox/dw_connect.java i przykładowy plik pom pom.xml.

Microsoft.Data.SqlClient na platformie .NET Core (C#)

Microsoft.Data.SqlClient to dostawca danych dla programów Microsoft SQL Server i Azure SQL Database. Jest to związek dwóch System.Data.SqlClient składników, które działają niezależnie w programach .NET Framework i .NET Core, zapewniając zestaw klas na potrzeby uzyskiwania dostępu do baz danych programu Microsoft SQL Server. Microsoft.Data.SqlClient jest zalecane dla wszystkich nowych i przyszłych rozwoju.

Tryb uwierzytelniania Więcej informacji
Microsoft Entra Interactive Korzystanie z uwierzytelniania interakcyjnego
Microsoft Entra Service Principal Korzystanie z uwierzytelniania jednostki usługi
Microsoft Entra Password Korzystanie z uwierzytelniania haseł

Fragmenty kodu używające nazw SPN: