Korzystanie z uwierzytelniania Microsoft Entra

Dotyczy: Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics

Ten artykuł zawiera omówienie używania identyfikatora Entra firmy Microsoft (dawniej Azure Active Directory) do uwierzytelniania w usługach Azure SQL Database, Azure SQL Managed Instance, SQL Server na maszynach wirtualnych platformy Windows Azure, usłudze Synapse SQL w usługach Azure Synapse Analytics i SQL Server dla systemów Windows i Linux.

Aby dowiedzieć się, jak utworzyć i wypełnić identyfikator entra firmy Microsoft, a następnie skonfigurować identyfikator entra firmy Microsoft przy użyciu usług Azure SQL Database, Azure SQL Managed Instance i Synapse SQL w usłudze Azure Synapse Analytics, zapoznaj się z tematem Konfigurowanie identyfikatora Entra firmy Microsoft i identyfikatora Entra firmy Microsoft przy użyciu programu SQL Server na maszynach wirtualnych platformy Azure.

Uwaga

Microsoft Entra ID był wcześniej znany jako Azure Active Directory (Azure AD).

Omówienie

Korzystając z uwierzytelniania za pomocą usługi Microsoft Entra, możesz zarządzać tożsamościami użytkowników bazy danych oraz innych usług firmy Microsoft w jednej centralnej lokalizacji. Centralne zarządzanie tożsamościami oznacza jedną lokalizację do zarządzania użytkownikami bazy danych i prostsze zarządzanie uprawnieniami. Oto przykładowe korzyści:

  • Zapewnia alternatywę dla uwierzytelniania programu SQL Server.

  • Pomaga to zatrzymać rozprzestrzenianie się tożsamości użytkowników między serwerami.

  • Umożliwia rotację haseł w jednym miejscu.

  • Klienci mogą zarządzać uprawnieniami bazy danych przy użyciu grup firmy Microsoft Entra.

  • Może wyeliminować przechowywanie haseł, włączając zintegrowane uwierzytelnianie systemu Windows i inne formy uwierzytelniania obsługiwane przez identyfikator Firmy Microsoft Entra.

  • Uwierzytelnianie entra firmy Microsoft używa użytkowników zawartej bazy danych do uwierzytelniania tożsamości na poziomie bazy danych.

  • Microsoft Entra ID obsługuje uwierzytelnianie oparte na tokenach dla aplikacji łączących się z usługą SQL Database i wystąpieniem zarządzanym SQL.

  • Uwierzytelnianie entra firmy Microsoft obsługuje:

    • Tożsamości tylko w chmurze firmy Microsoft.
    • Tożsamości hybrydowe firmy Microsoft Entra, które obsługują:
      • Uwierzytelnianie w chmurze z dwiema opcjami w połączeniu z bezproblemowym logowaniem jednokrotnym (SSO) uwierzytelnianiem z przekazywaniem i uwierzytelnianiem skrótu haseł.
      • Uwierzytelnianie federacyjne.
    • Aby uzyskać więcej informacji na temat metod uwierzytelniania firmy Microsoft Entra i wybranej metody, zobacz następujący artykuł:
  • Program SQL Server Management Studio obsługuje połączenia korzystające z usługi Microsoft Entra z uwierzytelnianiem wieloskładnikowym. Uwierzytelnianie wieloskładnikowe zapewnia silne uwierzytelnianie z wieloma łatwymi opcjami weryfikacji — połączenie telefoniczne, wiadomość SMS, karty inteligentne z numerem PIN lub powiadomieniem aplikacji mobilnej. Aby uzyskać więcej informacji, zobacz Obsługa programu SSMS dla uwierzytelniania wieloskładnikowego firmy Microsoft przy użyciu usługi Azure SQL Database, wystąpienia zarządzanego SQL i usługi Azure Synapse

  • Narzędzia SQL Server Data Tools (SSDT) obsługują również szeroką gamę opcji uwierzytelniania przy użyciu identyfikatora Entra firmy Microsoft. Aby uzyskać więcej informacji, zobacz Obsługa identyfikatorów Entra firmy Microsoft w narzędziach SQL Server Data Tools (SSDT).

Kroki konfiguracji obejmują następujące procedury konfigurowania i używania uwierzytelniania firmy Microsoft Entra.

  1. Utwórz i wypełnij dzierżawę firmy Microsoft Entra.
  2. Opcjonalnie: skojarz lub zmień bieżący katalog skojarzony z subskrypcją platformy Azure.
  3. Utwórz administratora firmy Microsoft Entra.
  4. Konfigurowanie komputerów klienckich.
  5. Utwórz użytkowników zawartej bazy danych w bazie danych zamapowanych na tożsamości firmy Microsoft Entra.
  6. Połączenie do bazy danych przy użyciu tożsamości firmy Microsoft Entra.

Uwaga

W przypadku usługi Azure SQL, maszyn wirtualnych platformy Azure i programu SQL Server 2022 uwierzytelnianie Microsoft Entra obsługuje tylko tokeny dostępu pochodzące z identyfikatora Entra firmy Microsoft i nie obsługują tokenów dostępu innych firm. Identyfikator Entra firmy Microsoft nie obsługuje również przekierowywania zapytań microsoft Entra ID do punktów końcowych innych firm. Dotyczy to wszystkich platform SQL i wszystkich systemów operacyjnych obsługujących uwierzytelnianie firmy Microsoft Entra.

Architektura zaufania

  • Tylko część w chmurze microsoft Entra ID, SQL Database, SQL Managed Instance, SQL Server na maszynach wirtualnych platformy Windows Azure i Azure Synapse jest uważana za obsługę haseł użytkownika natywnego firmy Microsoft Entra.
  • Aby obsługiwać poświadczenia logowania jednokrotnego systemu Windows (lub użytkownika/hasła dla poświadczeń systemu Windows), użyj poświadczeń firmy Microsoft Entra z domeny federacyjnej lub zarządzanej, która jest skonfigurowana do bezproblemowego logowania jednokrotnego na potrzeby uwierzytelniania przekazywanego i skrótu haseł. Aby uzyskać więcej informacji, zobacz bezproblemowe logowanie jednokrotne usługi Microsoft Entra.
  • Aby obsługiwać uwierzytelnianie federacyjne (lub użytkownika/hasło dla poświadczeń systemu Windows), wymagana jest komunikacja z blokiem usług AD FS.

Aby uzyskać więcej informacji na temat tożsamości hybrydowych firmy Microsoft Entra, konfiguracji i synchronizacji, zobacz następujące artykuły:

Aby uzyskać przykładowe uwierzytelnianie federacyjne z infrastrukturą usług AD FS (lub użytkownik/hasło dla poświadczeń systemu Windows), zobacz diagram poniżej. Strzałki wskazują ścieżki komunikacyjne.

Diagram of Microsoft Entra authentication for Azure SQL.

Na poniższym diagramie przedstawiono relacje federacji, zaufania i hostowania, które umożliwiają klientowi łączenie się z bazą danych przez przesłanie tokenu. Token jest uwierzytelniany przez identyfikator Entra firmy Microsoft i jest zaufany przez bazę danych. Klient 1 może reprezentować identyfikator Entra firmy Microsoft z użytkownikami natywnymi lub identyfikatorem Entra firmy Microsoft z użytkownikami federacyjnymi. Klient 2 reprezentuje możliwe rozwiązanie, w tym zaimportowanych użytkowników, w tym przykładzie pochodzącym z federacyjnego identyfikatora Entra firmy Microsoft z usługą ADFS synchronizowanym z identyfikatorem Microsoft Entra ID. Należy pamiętać, że dostęp do bazy danych przy użyciu uwierzytelniania firmy Microsoft Entra wymaga, aby subskrypcja hostingu była skojarzona z identyfikatorem Entra firmy Microsoft. Ta sama subskrypcja musi służyć do tworzenia zasobów usługi Azure SQL Database, SQL Managed Instance lub Azure Synapse.

Diagram shows the relationship between subscriptions in the Microsoft Entra configuration.

struktura Administracja istrator

W przypadku korzystania z uwierzytelniania Microsoft Entra istnieją dwa konta Administracja istrator: oryginalny administrator usługi Azure SQL Database i administrator firmy Microsoft Entra. Te same pojęcia dotyczą usługi Azure Synapse. Tylko administrator oparty na koncie Microsoft Entra może utworzyć pierwszego użytkownika bazy danych Entra ID firmy Microsoft w bazie danych użytkownika. Identyfikator logowania administratora entra firmy Microsoft może być użytkownikiem firmy Microsoft lub grupą Entra firmy Microsoft. Gdy administrator jest kontem grupy, może być używany przez dowolnego członka grupy, włączając wielu administratorów firmy Microsoft Entra dla serwera. Użycie konta grupy jako administratora zwiększa możliwości zarządzania, umożliwiając centralne dodawanie i usuwanie członków grupy w identyfikatorze Entra firmy Microsoft bez zmieniania użytkowników lub uprawnień w usłudze SQL Database lub Azure Synapse. W dowolnym momencie można skonfigurować tylko jednego administratora firmy Microsoft (użytkownika lub grupy).

Diagram shows the administrator structure for Microsoft Entra ID used with SQL Server.

Uwaga

Uwierzytelnianie microsoft Entra w usłudze Azure SQL obsługuje tylko jedną dzierżawę usługi Microsoft Entra, w której obecnie znajduje się zasób usługi Azure SQL. Wszystkie obiekty firmy Microsoft Entra z tej dzierżawy można skonfigurować jako użytkownicy zezwalający na dostęp do usługi Azure SQL w tej dzierżawie. Administrator firmy Microsoft Entra musi również pochodzić z dzierżawy zasobu usługi Azure SQL. Uwierzytelnianie wielodostępne firmy Microsoft, które uzyskuje dostęp do usługi Azure SQL z różnych dzierżaw, nie jest obsługiwane.

Uprawnienia

Aby utworzyć nowych użytkowników, musisz mieć ALTER ANY USER uprawnienia w bazie danych. Uprawnienie ALTER ANY USER można przyznać dowolnemu użytkownikowi bazy danych. Uprawnienie ALTER ANY USER jest również przechowywane przez konta administratora serwera, a użytkownicy bazy danych z CONTROL ON DATABASE uprawnieniami lub ALTER ON DATABASE dla tej bazy danych oraz członkowie db_owner roli bazy danych.

Aby utworzyć użytkownika zawartej bazy danych w usłudze Azure SQL Database, usłudze Azure SQL Managed Instance lub usłudze Azure Synapse, musisz nawiązać połączenie z bazą danych lub wystąpieniem przy użyciu tożsamości firmy Microsoft Entra. Aby utworzyć pierwszego użytkownika zawartej bazy danych, musisz nawiązać połączenie z bazą danych przy użyciu administratora firmy Microsoft Entra (który jest właścicielem bazy danych). Przedstawiono to w temacie Konfigurowanie uwierzytelniania entra firmy Microsoft i zarządzanie nim za pomocą usługi SQL Database lub Azure Synapse. Uwierzytelnianie microsoft Entra jest możliwe tylko wtedy, gdy administrator firmy Microsoft Entra został utworzony dla usługi Azure SQL Database, azure SQL Managed Instance lub Azure Synapse. Jeśli administrator firmy Microsoft Entra został usunięty z serwera, istniejący użytkownicy firmy Microsoft Entra utworzone wcześniej na serwerze nie mogą już łączyć się z bazą danych przy użyciu poświadczeń firmy Microsoft Entra.

Funkcje i ograniczenia firmy Microsoft Entra

  • Następujące elementy członkowskie identyfikatora Entra firmy Microsoft można aprowizować dla usługi Azure SQL Database:

    • Użytkownicy firmy Microsoft Entra: dowolny typ użytkownika w dzierżawie firmy Microsoft Entra, w tym użytkowników wewnętrznych, zewnętrznych, gości i członków. Obsługiwane są również elementy członkowskie domeny usługi Active Directory skonfigurowanej na potrzeby federacji z identyfikatorem Entra firmy Microsoft i można je skonfigurować pod kątem bezproblemowego logowania jednokrotnego.
    • Aplikacje: aplikacje istniejące na platformie Azure mogą używać jednostek usługi lub tożsamości zarządzanych do uwierzytelniania bezpośrednio w usłudze Azure SQL Database. Używanie tożsamości zarządzanych do uwierzytelniania jest preferowane ze względu na to, że jest bez hasła i eliminuje potrzebę poświadczeń zarządzanych przez deweloperów.
    • Grupy firmy Microsoft Entra, które mogą uprościć zarządzanie dostępem w całej organizacji, zarządzając odpowiednim dostępem użytkowników i aplikacji na podstawie członkostwa w grupie.
  • Użytkownicy firmy Microsoft Entra, którzy są częścią grupy należącej db_owner do roli bazy danych, nie mogą używać składni CREATE DATABASE SCOPED CREDENTIAL względem usług Azure SQL Database i Azure Synapse. Zostanie wyświetlony następujący błąd:

    SQL Error [2760] [S0001]: The specified schema name 'user@mydomain.com' either doesn't exist or you do not have permission to use it.

    Aby rozwiązać problem CREATE DATABASE SCOPED CREDENTIAL (TWORZENIE POŚWIADCZEŃ O ZAKRESIE BAZY DANYCH), dodaj użytkownika microsoft Entra bezpośrednio do db_owner roli.

  • Te funkcje systemowe nie są obsługiwane i zwracają wartości NULL podczas wykonywania przez podmioty zabezpieczeń firmy Microsoft:

    • SUSER_ID()
    • SUSER_NAME(<ID>)
    • SUSER_SNAME(<SID>)
    • SUSER_ID(<name>)
    • SUSER_SID(<name>)
  • Usługa Azure SQL Database nie tworzy niejawnych użytkowników zalogowanych w ramach członkostwa w grupie Microsoft Entra. W związku z tym różne operacje wymagające przypisania własności nie powiedzie się, nawet jeśli grupa Microsoft Entra zostanie dodana jako członek do roli z tymi uprawnieniami.

    Na przykład użytkownik zalogowany do bazy danych za pośrednictwem grupy Microsoft Entra z rolą db_ddladmin nie będzie mógł wykonać instrukcji CREATE SCHEMA, ALTER SCHEMA i innych instrukcji tworzenia obiektów bez jawnie zdefiniowanego schematu (na przykład tabeli, widoku lub typu). Aby rozwiązać ten problem, należy utworzyć użytkownika entra firmy Microsoft dla tego użytkownika lub grupy Microsoft Entra należy zmienić, aby przypisać DEFAULT_SCHEMA do dbo.

Wystąpienie zarządzane SQL

  • Podmioty zabezpieczeń (identyfikatory logowania) serwera Firmy Microsoft i użytkownicy są obsługiwani w przypadku usługi SQL Managed Instance.

  • Ustawienie identyfikatorów logowania firmy Microsoft Entra mapowanych na grupę Entra firmy Microsoft jako właściciela bazy danych nie jest obsługiwane w usłudze SQL Managed Instance.

    • Rozszerzenie polega na tym, że po dodaniu grupy w ramach dbcreator roli serwera użytkownicy z tej grupy mogą łączyć się z wystąpieniem zarządzanym SQL i tworzyć nowe bazy danych, ale nie będą mogli uzyskać dostępu do bazy danych. Dzieje się tak, ponieważ nowy właściciel bazy danych jest administratorem, a nie użytkownikiem firmy Microsoft Entra. Ten problem nie manifestuje się, jeśli użytkownik indywidualny zostanie dodany do dbcreator roli serwera.
  • Wykonywanie zadań i zarządzania agentem SQL jest obsługiwane w przypadku logowań firmy Microsoft Entra.

  • Operacje tworzenia i przywracania kopii zapasowej bazy danych mogą być wykonywane przez podmioty zabezpieczeń serwera Firmy Microsoft (identyfikatory logowania).

  • Inspekcja wszystkich instrukcji związanych z jednostkami serwera Firmy Microsoft (identyfikatorami logowania) i zdarzeniami uwierzytelniania jest obsługiwana.

  • Dedykowane połączenie administratora dla podmiotów zabezpieczeń serwera firmy Microsoft (identyfikatorów logowania), które są członkami roli serwera sysadmin, jest obsługiwane.

    • Obsługiwane za pomocą narzędzia SQLCMD i programu SQL Server Management Studio.
  • Wyzwalacze logowania są obsługiwane w przypadku zdarzeń logowania pochodzących z podmiotów zabezpieczeń serwera Microsoft Entra (identyfikatorów logowania).

  • Usługi Service Broker i poczta bazy danych można skonfigurować przy użyciu jednostki serwera Firmy Microsoft Entra (identyfikator logowania).

Połączenie przy użyciu tożsamości Microsoft Entra

Uwierzytelnianie firmy Microsoft Entra obsługuje następujące metody nawiązywania połączenia z bazą danych przy użyciu tożsamości firmy Microsoft Entra:

  • Microsoft Entra Password
  • Microsoft Entra integrated
  • Microsoft Entra Universal z uwierzytelnianiem wieloskładnikowymi
  • Korzystanie z uwierzytelniania tokenu aplikacji

Następujące metody uwierzytelniania są obsługiwane w przypadku podmiotów zabezpieczeń serwera Firmy Microsoft (identyfikatorów logowania):

  • Microsoft Entra Password
  • Microsoft Entra integrated
  • Microsoft Entra Universal z uwierzytelnianiem wieloskładnikowymi

Uwagi dodatkowe

  • Aby zwiększyć możliwości zarządzania, zalecamy aprowizację dedykowanej grupy firmy Microsoft Entra jako administrator.
  • W dowolnym momencie można skonfigurować tylko jednego administratora firmy Microsoft Entra (użytkownika lub grupy) dla serwera w usłudze SQL Database lub Azure Synapse.
    • Dodanie jednostek usługi Microsoft Entra server (identyfikatorów logowania) dla usługi SQL Managed Instance umożliwia utworzenie wielu podmiotów zabezpieczeń serwera Firmy Microsoft Entra (identyfikatorów logowania), które można dodać do sysadmin roli.
  • Tylko administrator firmy Microsoft Entra dla serwera może początkowo łączyć się z serwerem lub wystąpieniem zarządzanym przy użyciu konta Microsoft Entra. Administrator firmy Microsoft Entra może skonfigurować kolejnych użytkowników bazy danych Firmy Microsoft Entra.
  • Użytkownicy i jednostki usług firmy Microsoft (aplikacje Firmy Microsoft Entra) należące do ponad 2048 grup zabezpieczeń firmy Microsoft Entra nie są obsługiwane do logowania się do bazy danych w usłudze SQL Database, SQL Managed Instance lub Azure Synapse.
  • Zalecamy ustawienie limitu czasu połączenia na 30 sekund.
  • Sql Server 2016 Management Studio i SQL Server Data Tools for Visual Studio 2015 (wersja 14.0.60311.1April 2016 lub nowsza) obsługują uwierzytelnianie firmy Microsoft Entra. (Uwierzytelnianie Microsoft Entra jest obsługiwane przez program .NET Framework Dostawca danych dla programu SqlServer; co najmniej w wersji .NET Framework 4.6). W związku z tym najnowsze wersje tych narzędzi i aplikacji warstwy danych (DAC i BACPAC) mogą używać uwierzytelniania firmy Microsoft Entra.
  • Począwszy od wersji 15.0.1, narzędzie sqlcmd i narzędzie bcp obsługują uwierzytelnianie interakcyjne usługi Active Directory przy użyciu uwierzytelniania wieloskładnikowego.
  • Narzędzia SQL Server Data Tools for Visual Studio 2015 wymagają co najmniej wersji narzędzi Data Tools z kwietnia 2016 r. (wersja 14.0.60311.1). Obecnie użytkownicy firmy Microsoft Entra nie są wyświetlani w programie SSDT Eksplorator obiektów. Aby obejść ten problem, wyświetl użytkowników w sys.database_principals.
  • Sterownik JDBC firmy Microsoft 6.0 dla programu SQL Server obsługuje uwierzytelnianie firmy Microsoft Entra. Zobacz również Ustawianie właściwości Połączenie ion.
  • Program PolyBase nie może uwierzytelnić się przy użyciu uwierzytelniania firmy Microsoft Entra.
  • Uwierzytelnianie entra firmy Microsoft jest obsługiwane w przypadku usług Azure SQL Database i Azure Synapse przy użyciu bloków Importowanie bazy danych i eksportowanie bazy danych w witrynie Azure Portal. Importowanie i eksportowanie przy użyciu uwierzytelniania entra firmy Microsoft jest również obsługiwane za pomocą polecenia programu PowerShell.
  • Uwierzytelnianie entra firmy Microsoft jest obsługiwane w przypadku usług SQL Database, SQL Managed Instance i Azure Synapse przy użyciu interfejsu wiersza polecenia. Aby uzyskać więcej informacji, zobacz Configure and manage Microsoft Entra authentication with SQL Database or Azure Synapse and SQL Server - az sql server (Konfigurowanie uwierzytelniania entra firmy Microsoft i zarządzanie nim za pomocą usługi SQL Database lub Azure Synapse i programu SQL Server — az sql server).

Następne kroki