Udostępnij za pośrednictwem


Uwierzytelnianie usługi Microsoft Entra w usłudze Azure SQL

Dotyczy:Azure SQL Database Azure SQL Managed InstanceAzure Synapse Analytics

Ten artykuł zawiera szczegółowe omówienie korzystania z uwierzytelniania Microsoft Entra w Azure SQL Database, Azure SQL Managed Instance, SQL Server na maszynach wirtualnych platformy Azure, Synapse SQL w Azure Synapse Analytics oraz SQL Server dla systemów Windows i Linux.

Jeśli chcesz skonfigurować uwierzytelnianie firmy Microsoft Entra, zapoznaj się z artykułem:

Uwaga

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

Omówienie

Microsoft Entra ID umożliwia centralne zarządzanie tożsamościami ludzi i usług w infrastrukturze danych. Integrując firmę Microsoft Entra z usługą Azure SQL na potrzeby uwierzytelniania, można uprościć zarządzanie tożsamościami i uprawnieniami, jednocześnie włączając szczegółowy dostęp warunkowy i nadzór nad wszystkimi połączeniami z danymi.

Korzystanie z uwierzytelniania firmy Microsoft Entra zapewnia następujące korzyści:

  • Zastępuje mniej bezpieczne metody uwierzytelniania, takie jak nazwy użytkowników i hasła.
  • Eliminuje lub pomaga zatrzymać rozprzestrzenianie się tożsamości użytkowników na serwerach.
  • Grupy Microsoft Entra umożliwiają abstrakcję zarządzania uprawnieniami bazy danych z poszczególnych kont na grupy operacyjne.
  • Umożliwia rotację haseł w jednym miejscu.
  • Uwierzytelnianie tylko za pomocą Microsoft Entra zapewnia pełną alternatywę dla uwierzytelniania SQL.
  • Tożsamości zarządzane dla zasobów platformy Azure eliminują konieczność przechowywania haseł dla usług łączących się z bazami danych oraz połączeń z baz danych do innych zasobów platformy Azure.
  • Umożliwia nowoczesne mechanizmy kontroli zabezpieczeń, w tym silne uwierzytelnianie wieloskładnikowe z szeregiem łatwych opcji weryfikacji, takich jak rozmowa telefoniczna, wiadomość SMS, karta inteligentna z numerem PIN lub powiadomienie aplikacji mobilnej.
  • Microsoft Entra ID umożliwia integrację z wieloma nowoczesnymi protokołami uwierzytelniania, w tym OpenID Connect, OAuth2.0, Ograniczone delegowanie Kerberos i nie tylko.
  • Umożliwia scentralizowane monitorowanie połączeń ze źródłami danych.
  • Włącza mechanizmy kontroli dostępu warunkowego, takie jak wymaganie zgodnych urządzeń lub metod uwierzytelniania dla pomyślnych połączeń.
  • Centralnie zarządzaj uwierzytelnianiem i monitoruj je za pomocą zasad platformy Azure.

Uwaga

Uwierzytelnianie Entra firmy Microsoft obsługuje tylko tokeny dostępu pochodzące z identyfikatora Entra firmy Microsoft, a nie tokeny 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.

Kroki w konfiguracji

Ogólne kroki konfigurowania uwierzytelniania Microsoft Entra są następujące:

  1. Utwórz i wypełnij dzierżawę Microsoft Entra.
  2. Utwórz serwer logiczny lub wystąpienie na platformie Azure.
  3. Przypisz administratora Microsoft Entra do serwera lub instancji.
  4. Utwórz zasady SQL w bazie danych, mapowane na tożsamości Microsoft Entra.
  5. Skonfiguruj aplikacje klienckie, aby łączyć się przy użyciu bibliotek tożsamości platformy Azure i metod uwierzytelniania.
  6. Nawiąż połączenie z bazą danych za pomocą tożsamości Microsoft Entra.

Obsługiwane tożsamości i metody uwierzytelniania

Usługa Azure SQL obsługuje używanie następujących tożsamości Microsoft Entra jako danych logowania i użytkowników (podmiotów) na serwerach i w bazach danych:

  • Użytkownicy firmy Microsoft Entra: dowolny typ użytkownika w dzierżawie firmy Microsoft Entra, który obejmuje użytkowników wewnętrznych, użytkowników zewnętrznych, gości i członków. Członkowie domeny federowanej z Microsoft Entra ID są również obsługiwani 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. Korzystanie z tożsamości zarządzanych jest preferowane, ponieważ uwierzytelnianie 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 dostępem użytkowników i aplikacji na podstawie członkostwa w grupie.

W przypadku tożsamości użytkowników obsługiwane są następujące metody uwierzytelniania:

  • Microsoft Entra Integrated (uwierzytelnianie systemu Windows) obsługiwany przez tożsamości hybrydowe Microsoft Entra z usługą Active Directory [federacja].
  • Microsoft Entra MFA lub uwierzytelnianie wieloskładnikowe, które wymaga dodatkowych kontroli zabezpieczeń poza wiedzą użytkownika.
  • Uwierzytelnianie za pomocą hasła firmy Microsoft, które używa poświadczeń użytkownika przechowywanych i zarządzanych w identyfikatorze Entra firmy Microsoft.
  • Uwierzytelnianie domyślne Microsoft Entra, które skanuje różne pamięci podręczne poświadczeń na maszynie aplikacji i może używać tokenów użytkownika do uwierzytelniania w SQL.

W przypadku tożsamości usług lub obciążeń obsługiwane są następujące metody uwierzytelniania:

  • Tożsamości zarządzane dla zasobów platformy Azure, przypisane przez użytkownika i przypisane przez system. Uwierzytelnianie tożsamości zarządzanej opiera się na tokenach, przy czym tożsamość jest przypisywana do zasobu, który chce się za jej pomocą uwierzytelnić. Platforma tożsamości platformy Azure weryfikuje tę relację, która umożliwia uwierzytelnianie bez hasła.
  • Główna nazwa usługi Microsoft Entra i tajny klucz aplikacji (klienta). Ta metoda uwierzytelniania nie jest zalecana ze względu na ryzyko związane z hasłami, które można odgadnąć i wycieknąć.
  • Uwierzytelnianie domyślne firmy Microsoft, które skanuje różne pamięci podręczne poświadczeń na maszynie aplikacji i może używać tokenów aplikacji do uwierzytelniania w języku SQL.

Administrator firmy Microsoft Entra

Aby włączyć uwierzytelnianie Microsoft Entra, administrator Microsoft Entra musi zostać skonfigurowany dla serwera logicznego lub wersji zarządzanej. Ten administrator istnieje wraz z administratorem programu SQL Server (SA). Administrator firmy Microsoft Entra może być dowolnym obiektem zabezpieczeń w dzierżawie platformy Azure, w tym użytkownikami firmy Microsoft Entra, grupami, jednostkami usługi i tożsamościami zarządzanymi. Administrator firmy Microsoft Entra jest właściwością pojedynczą, a nie listą, co oznacza, że w dowolnym momencie można skonfigurować tylko jedną tożsamość. Usunięcie administratora firmy Microsoft Entra z serwera powoduje wyłączenie wszystkich połączeń opartych na uwierzytelnianiu firmy Microsoft, nawet w przypadku istniejących użytkowników firmy Microsoft Entra z uprawnieniami w bazie danych.

Wskazówka

Grupy Microsoft Entra umożliwiają wielu tożsamościom działać jako administrator Microsoft Entra na serwerze. Gdy administrator jest przypisany do grupy, wszyscy członkowie grupy dziedziczą rolę administratora Microsoft Entra. Administrator grupy Entra firmy Microsoft zwiększa zarządzanie przez przeniesienie działań administracyjnych z płaszczyzny danych serwera do Microsoft Entra ID i w ręce właścicieli grup. Grupy mogą być używane dla wszystkich tożsamości Microsoft Entra, które łączą się z SQL, co pozwala na jednorazową konfigurację użytkowników i uprawnień na serwerze i w bazach danych, pozostawiając zarządzanie użytkownikami w gestii grup.

Administrator Microsoft Entra odgrywa szczególną rolę: to pierwsze konto, które może tworzyć inne konta logowania Microsoft Entra (w wersji zapoznawczej w bazie danych SQL) oraz użytkowników, łącznie określanych jako główne podmioty. Administrator jest użytkownikiem bazy danych o ograniczonym dostępie w bazie danych na serwerze master. Konta administratorów są członkami roli db_owner w każdej bazie danych użytkowników, a każda baza danych użytkowników jest zarejestrowana jako użytkownik dbo. Aby uzyskać więcej informacji na temat kont administratorów, zobacz Zarządzanie bazami danych i identyfikatorami logowania.

Podmioty Entra firmy Microsoft

Uwaga

Uprawnienia serwera Microsoft Entra (loginy) są obecnie dostępne w publicznej wersji zapoznawczej dla usług Azure SQL Database i Azure Synapse Analytics. Logowania Microsoft Entra są ogólnie dostępne dla usługi Azure SQL Managed Instance i SQL Server 2022.

Tożsamości Microsoft Entra można tworzyć jako encje w usłudze Azure SQL na trzy sposoby:

  • jako podmioty zabezpieczeń serwera lub identyfikatory logowania (w wersji zapoznawczej usługi Azure SQL Database)
  • jako użytkownicy logujący się (typ podmiotu zabezpieczeń bazy danych)
  • jako użytkownicy zawartej bazy danych

Ważne

Uwierzytelnianie Microsoft Entra dla usługi Azure SQL nie integruje się z kontrolą dostępu opartą na rolach (RBAC) platformy Azure. Używanie tożsamości Microsoft Entra do łączenia się z usługą Azure SQL i wykonywania zapytań wymaga utworzenia tych tożsamości jako podmiotów zabezpieczeń Microsoft Entra w bazach danych, do których potrzebują dostępu. Role SQL Server Contributor i SQL DB Contributor służą do zabezpieczania operacji wdrażania związanych z zarządzaniem, a nie dostępu do łączności z bazą danych.

Identyfikatory logowania (podmioty zabezpieczeń serwera)

Zasady serwera (loginy) dla tożsamości Microsoft Entra są ogólnie dostępne dla usługi Azure SQL Managed Instance, SQL Server 2022 i SQL Server na maszynach wirtualnych Azure. Logowanie Entra Microsoft jest w wersji zapoznawczej dla Azure SQL Database.

Poniższy T-SQL przedstawia, jak utworzyć konto logowania Microsoft Entra.

CREATE LOGIN [MSEntraUser] FROM EXTERNAL PROVIDER

Logowanie do Microsoft Entra ma następujące wartości właściwości w sys.server_principals:

Właściwości Wartość
SID (Identyfikator zabezpieczeń) Binarna reprezentacja identyfikatora obiektu tożsamości Microsoft Entra
typ E = Zewnętrzne logowanie lub aplikacja z Microsoft Entra ID
X = grupa zewnętrzna z identyfikatora Entra firmy Microsoft
type_desc EXTERNAL_LOGIN dla logowania się do Microsoft Entra lub aplikacji
EXTERNAL_GROUP dla grupy Microsoft Entra

Użytkownicy na podstawie logowania

Użytkownicy na podstawie logowania dziedziczą role i uprawnienia na poziomie serwera przypisane do logowania firmy Microsoft Entra. Użytkownicy firmy Microsoft Entra logują się w wersji zapoznawczej dla usługi Azure SQL Database.

W poniższym języku T-SQL pokazano, jak utworzyć użytkownika opartego na logowaniu dla tożsamości firmy Microsoft Entra:

CREATE USER [MSEntraUser] FROM LOGIN [MSEntraUser]

Poniższa tabela przedstawia wartości właściwości użytkownika oparte na logowaniu w Microsoft Entra w sys.database_principals:

Właściwości Wartość
SID (Identyfikator zabezpieczeń) Binarna reprezentacja identyfikatora obiektu tożsamości Microsoft Entra, plus 'AADE'
typ E = logowanie zewnętrzne lub aplikacja z Microsoft Entra ID
X = grupa zewnętrzna z identyfikatora Entra firmy Microsoft
type_desc EXTERNAL_LOGIN dla logowania do Microsoft Entra lub aplikacji
EXTERNAL_GROUP dla grupy Microsoft Entra

Użytkownicy zawartej bazy danych

Użytkownicy znajdujący się w bazie danych są przenośni razem z bazą danych. Nie mają żadnych połączeń z tożsamościami zdefiniowanymi na serwerze lub instancji, dlatego można je łatwo przenosić wraz z bazą danych z jednego serwera lub instancji na inny bez zakłóceń.

W poniższym języku T-SQL pokazano, jak utworzyć użytkownika zawartej bazy danych dla tożsamości entra firmy Microsoft:

CREATE USER [MSEntraUser] FROM EXTERNAL PROVIDER

Użytkownik oparty na bazie danych Microsoft Entra ma te same wartości właściwości co użytkownicy logowani w sys.database_principals, z wyjątkiem sposobu SID konstruowania:

Właściwości Wartość
SID (Identyfikator zabezpieczeń) Binarna reprezentacja identyfikatora obiektu tożsamości Microsoft Entra
typ E = Zewnętrzne logowanie lub aplikacja z Microsoft Entra ID
X = grupa zewnętrzna z identyfikatora Entra firmy Microsoft
opis_typu EXTERNAL_LOGIN dla logowania lub aplikacji firmy Microsoft Entra
EXTERNAL_GROUP dla grupy Microsoft Entra

Aby uzyskać oryginalny identyfikator GUID Microsoft Entra, na którym oparty jest SID, użyj następującej konwersji w języku T-SQL.

SELECT CAST(sid AS UNIQUEIDENTIFIER) AS EntraID FROM sys.database_principals

Uwaga

Istnieje możliwość przypadkowego utworzenia osadzonego użytkownika bazy danych Microsoft Entra o takiej samej nazwie, jak konto logowania Microsoft Entra na poziomie serwera lub wystąpienia. Ponieważ tożsamości nie są ze sobą połączone, użytkownik bazy danych nie dziedziczy uprawnień po logowaniu serwera, a tożsamości mogą się mylić w żądaniach połączeń, co prowadzi do niezdefiniowanego działania.

Użyj następującego zapytania T-SQL, aby określić, czy użytkownik bazy danych jest użytkownikiem bazy danych opartym na logowaniu lub użytkownikiem zawartej bazy danych:

SELECT CASE
    WHEN CONVERT(VARCHAR(100), sid, 2) LIKE '%AADE' AND len(sid) = 18 THEN 'login-based user'
    ELSE 'contained database user'
    END AS user_type,
    *
FROM sys.database_principals WHERE TYPE = 'E' OR TYPE = 'X'

Użyj następującego zapytania T-SQL, aby wyświetlić wszystkie Microsoft Entra principals w bazie danych:

SELECT
  name,
  CAST(sid AS UNIQUEIDENTIFIER) AS EntraID,
  CASE WHEN TYPE = 'E' THEN 'App/User' ELSE 'Group' AS user_type,
  sid
FROM sys.database_principals WHERE TYPE = 'E' OR TYPE = 'X'

Uwierzytelnianie tylko za pomocą Microsoft Entra

Po włączeniu uwierzytelniania wyłącznie w usłudze Microsoft Entra wszystkie inne metody uwierzytelniania są wyłączone i nie można ich używać do łączenia się z serwerem, instancją lub bazą danych — w tym SA oraz wszystkie inne konta oparte na uwierzytelnianiu SQL dla Azure SQL, jak również uwierzytelnianie Windows dla usługi Azure SQL Managed Instance.

Aby rozpocząć, zapoznaj się z artykułem Konfigurowanie uwierzytelniania tylko Microsoft Entra.

Uwierzytelnianie wieloskładnikowe (MFA)

Uwierzytelnianie wieloskładnikowe firmy Microsoft to funkcja zabezpieczeń zapewniana przez usługę zarządzania tożsamościami i dostępem firmy Microsoft w chmurze. Uwierzytelnianie wieloskładnikowe zwiększa bezpieczeństwo logowania użytkowników, wymagając od użytkowników dodatkowych kroków weryfikacji poza hasłem.

Uwierzytelnianie wieloskładnikowe firmy Microsoft pomaga chronić dostęp do danych i aplikacji, jednocześnie spełniając wymagania użytkowników dotyczące prostego procesu logowania. Uwierzytelnianie wieloskładnikowe dodaje dodatkową warstwę zabezpieczeń do logowania użytkowników, wymagając od użytkowników podania co najmniej dwóch czynników uwierzytelniania. Te czynniki zazwyczaj obejmują coś, co użytkownik zna (hasło), coś, co użytkownik posiada (smartfon lub token sprzętowy) i/lub coś, co użytkownik jest (dane biometryczne). Łącząc wiele czynników, uwierzytelnianie wieloskładnikowe znacznie zmniejsza prawdopodobieństwo nieautoryzowanego dostępu.

Uwierzytelnianie wieloskładnikowe to obsługiwana metoda uwierzytelniania dla usług Azure SQL Database, Azure SQL Managed Instance, Azure Synapse Analytics i SQL Server 2022 (16.x) i nowszych wersji.

Aby rozpocząć, zapoznaj się z artykułem Konfigurowanie uwierzytelniania wieloskładnikowego firmy Microsoft.

Pomoc techniczna firmy Microsoft Entra B2B

Uwierzytelnianie Microsoft Entra we wszystkich produktach SQL również obsługuje współpracę Microsoft Entra B2B, co umożliwia firmom zapraszanie gości do współpracy z ich organizacją. Użytkownicy-goście mogą łączyć się z bazami danych jako indywidualni użytkownicy lub członkowie grupy Firmy Microsoft Entra. Aby uzyskać więcej informacji, zobacz Tworzenie użytkownika bazy danych dla użytkownika-gościa usługi Microsoft Entra.

Architektura zaufania dla federacji entra firmy Microsoft z usługą Active Directory

Usługa Microsoft Entra ID integruje się również ze znanymi rozwiązaniami do zarządzania tożsamościami i dostępem, takimi jak usługa Active Directory. Dołączanie hybrydowe do lokalnej usługi AD umożliwia tożsamościom systemu Windows federacyjnym za pośrednictwem identyfikatora Entra firmy Microsoft, aby używać poświadczeń logowania jednokrotnego w celu nawiązania połączenia z usługą Azure SQL.

W przypadku federacji Microsoft Entra ID udostępnia dwie bezpieczne metody uwierzytelniania: uwierzytelnianie przepustowe i uwierzytelnianie przy użyciu skrótu hasła. Jeśli rozważasz sfederowanie swojej lokalnej usługi Active Directory z Microsoft Entra ID, zapoznaj się z artykułem Wybieranie właściwej metody uwierzytelniania dla rozwiązania tożsamości hybrydowej Microsoft Entra.

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

Na tym diagramie przedstawiono przykładowe uwierzytelnianie federacyjne z infrastrukturą usług AD FS (lub użytkownik/hasło dla poświadczeń systemu Windows). Strzałki wskazują ścieżki komunikacyjne.

Diagram uwierzytelniania Microsoft Entra dla usługi 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. Identyfikator Entra firmy Microsoft uwierzytelnia token, a baza danych ufa mu i weryfikuje wystawcę i inne szczegóły. Klient 1 może reprezentować Microsoft Entra ID z użytkownikami natywnymi lub 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 lub Azure Synapse.

Diagram przedstawia relację między subskrypcjami w konfiguracji firmy Microsoft Entra.

Uprawnienia

Uprawnienia przypisane administratorowi Microsoft Entra różnią się od uprawnień przypisanych podmiotom w usłudze Azure SQL. W kilku scenariuszach usługa Azure SQL wymaga również uprawnień programu Microsoft Graph do korzystania z uwierzytelniania microsoft Entra.

Uprawnienia administratora

Administrator Microsoft Entra otrzymuje następujące uprawnienia i role w momencie tworzenia:

  • db_owner każdej bazy danych na serwerze lub wystąpieniu

Diagram przedstawia strukturę administratora dla identyfikatora entra firmy Microsoft używanego z programem SQL Server.

Uprawnienia usługi Azure SQL

Podmiot potrzebuje uprawnienia ALTER ANY USER w bazie danych, aby utworzyć użytkownika. Domyślnie ALTER ANY USER jest przyznawane: kontom administratora serwera, użytkownikom bazy danych z CONTROL ON DATABASE, oraz członkom db_owner bazy danych.

Aby utworzyć podmiot zabezpieczeń Entra w usłudze Azure SQL, żądająca tożsamość musi wysłać zapytanie do Microsoft Graph, aby uzyskać szczegółowe informacje o jednostce. Podczas początkowego wdrażania jedyną tożsamością, która może wysyłać zapytania do MS Graph, jest administrator Microsoft Entra; dlatego administrator musi być pierwszą tożsamością, która tworzy inne podmioty zabezpieczeń Microsoft Entra. Następnie może przypisać ALTER ANY USER innym podmiotom, aby umożliwić im również tworzenie kolejnych podmiotów Microsoft Entra.

Wdrożenia zero-touch z uwierzytelnianiem Microsoft Entra

Ponieważ administrator Microsoft Entra musi być pierwszą tożsamością, która łączy się z bazą danych i tworzy innych użytkowników Microsoft Entra, warto dodać tożsamość infrastruktury wdrażania jako administratora. Wdrożenia mogą następnie wykonać początkową konfigurację, taką jak tworzenie innych podmiotów Entra Microsoft i przypisywanie im uprawnień. Wdrożenia mogą używać narzędzi, takich jak PowerShell i szablony usługi ARM, do automatyzacji tworzenia podmiotów zabezpieczeń za pomocą skryptów. Usługa Azure SQL nie obsługuje obecnie natywnych interfejsów API do konfigurowania tworzenia użytkowników i zarządzania uprawnieniami; te operacje mogą być wykonywane tylko za pomocą bezpośredniego połączenia z wystąpieniem SQL.

Uprawnienia programu Microsoft Graph

Aby utworzyć zasadnicze jednostki Microsoft Entra oraz w kilku innych scenariuszach, usługa Azure SQL musi wykonać wywołania Microsoft Graph, aby pobrać informacje na temat oraz zweryfikować istnienie tożsamości w Microsoft Entra ID. Aby to zrobić, proces SQL musi mieć dostęp lub uzyskać dostęp do uprawnień do odczytu MS Graph w środowisku klienta, co można osiągnąć na kilka sposobów:

  • Jeśli podmiot zabezpieczeń SQL wykonujący polecenie jest tożsamością użytkownika, nie są wymagane żadne dodatkowe uprawnienia w instancji SQL do wykonywania zapytań w MS Graph.
  • Jeśli jednostka SQL wykonująca polecenie jest tożsamością usługi, na przykład jednostką usługi lub tożsamością zarządzaną, wystąpienie usługi Azure SQL wymaga własnych uprawnień do wykonywania zapytań dotyczących programu MS Graph.
    • Uprawnienia aplikacji można przypisać do tożsamości serwera podstawowego (tożsamości zarządzanej) serwera logicznego lub wystąpienia zarządzanego. Proces SQL może używać tożsamości serwera podstawowego do uwierzytelniania w innych usługach platformy Azure w dzierżawie, takiej jak MS Graph. W poniższej tabeli opisano różne scenariusze i uprawnienia programu MS Graph wymagane do pomyślnego wykonania polecenia.
Scenariusz Minimalne uprawnienie
CREATE UŻYTKOWNIK lub CREATE LOGIN w przypadku jednostki usługi lub tożsamości zarządzanej firmy Microsoft Application.Read.All
CREATE UŻYTKOWNIK lub CREATE LOGIN użytkownik firmy Microsoft Entra User.Read.All
CREATE UŻYTKOWNIK lub CREATE LOGIN dla grupy Microsoft Entra GroupMember.Read.All
Uwierzytelnianie za pomocą Microsoft Entra w usłudze Azure SQL Managed Instance Rola Czytelnicy katalogu przypisana do tożsamości wystąpienia zarządzanego

Wskazówka

Rola Czytelnicy katalogu jest najmniejszą rolą, którą można przypisać do tożsamości, która obejmuje wszystkie uprawnienia wymagane przez usługę Azure SQL. Korzystanie z ról ma tę zaletę, że mogą być przypisywane do grup zabezpieczeń Microsoft Entra, co pozwala na przeniesienie zarządzania z poziomu pojedynczych jednostek na grupy koncepcyjne.

Obsługa narzędzi

Program SQL Server Management Studio (SSMS) obsługuje wiele opcji połączenia uwierzytelniania firmy Microsoft, w tym uwierzytelniania wieloskładnikowego.

Narzędzia SQL Server Data Tools (SSDT) dla programu Visual Studio, począwszy od wersji 2015, obsługują uwierzytelnianie haseł, zintegrowane i interakcyjne 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).

  • 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.

Wersje minimalne

Do korzystania z uwierzytelniania microsoft Entra w usłudze Azure SQL potrzebne są następujące minimalne wersje w przypadku korzystania z tych narzędzi:

Połącz Microsoft Entra z zasobami Azure SQL

Po skonfigurowaniu uwierzytelniania microsoft Entra dla zasobu usługi Azure SQL można nawiązać połączenie przy użyciu programu SQL Server Management Studio, narzędzi SQL Server Data Tools i aplikacji klienckiej.

Ograniczenia

W przypadku korzystania z uwierzytelniania microsoft Entra w usłudze Azure SQL należy wziąć pod uwagę następujące ograniczenia:

  • Użytkownicy i podmioty usługi Microsoft Entra, którzy należą do więcej niż 2048 grup zabezpieczeń Microsoft Entra, nie są obsługiwani i nie mogą się zalogować do bazy danych.

  • Następujące funkcje systemowe nie są obsługiwane i zwracane NULL wartości podczas wykonywania przez podmioty zabezpieczeń firmy Microsoft:

    • SUSER_ID()
    • SUSER_NAME(<ID>)
    • SUSER_SNAME(<SID>)
    • SUSER_ID(<name>)
    • SUSER_SID(<name>)
  • Zalecamy ustawienie limitu czasu połączenia na 30 sekund.

Usługi Azure SQL Database i Azure Synapse Analytics

W przypadku korzystania z uwierzytelniania entra firmy Microsoft z usługami Azure SQL Database i Azure Synapse Analytics należy wziąć pod uwagę następujące ograniczenia:

  • Użytkownicy Microsoft Entra, które są częścią grupy będącej członkiem db_owner roli w bazie danych, mogą zobaczyć następujący błąd podczas próby użycia składni CREATE DATABASE SCOPED CREDENTIAL w kontekście usług Azure SQL Database i Azure Synapse.

    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ć ten CREATE DATABASE SCOPED CREDENTIAL problem, dodaj tożsamość użytkownika Microsoft Entra bezpośrednio do roli db_owner.

  • Usługi Azure SQL Database i Azure Synapse Analytics nie tworzą niejawnych użytkowników zalogowanych w ramach członkostwa w grupie Firmy Microsoft Entra. W związku z tym różne operacje wymagające przypisania własności mogą zakończyć się niepowodzeniem, 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 może wykonać instrukcji takich jak CREATE SCHEMA, ALTER SCHEMA oraz innych instrukcji tworzenia obiektów, bez jawnie zdefiniowanego schematu (takiego jak tabela, widok lub typ, na przykład). Aby rozwiązać ten problem, należy utworzyć użytkownika Microsoft Entra dla tego użytkownika lub zmienić grupę Microsoft Entra w celu przypisania elementu, takiego jak DEFAULT_SCHEMA.

  • W przypadku korzystania z replikacji geograficznej i grup przełączania awaryjnego, administrator Microsoft Entra musi być skonfigurowany zarówno dla serwerów podstawowego, jak i pomocniczego. Jeśli serwer nie ma administratora Microsoft Entra, loginy Microsoft Entra i użytkownicy otrzymują Cannot connect błąd.

  • Usunięcie administratora Microsoft Entra dla serwera zapobiega wszelkim połączeniom uwierzytelniania Microsoft Entra z serwerem. W razie potrzeby administrator usługi SQL Database może ręcznie usunąć użytkowników usługi Microsoft Entra bezużytecznych.

Azure SQL Managed Instance

W przypadku korzystania z uwierzytelniania w usłudze Microsoft Entra z Azure SQL Managed Instance należy wziąć pod uwagę następujące ograniczenia:

  • Zasady serwera (loginy) i użytkownicy Microsoft Entra są obsługiwane dla usługi SQL Managed Instance.

  • Ustawianie nazwy logowania grupy 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. Ponieważ nowym właścicielem bazy danych jest SA, a nie użytkownik Microsoft Entra. Ten problem nie manifestuje się, jeśli użytkownik indywidualny zostanie dodany do dbcreator roli serwera.
  • Zasady serwera Microsoft Entra (loginy) dla instancji zarządzanej SQL umożliwiają utworzenie wielu loginów, które można dodać do roli sysadmin.

  • Zarządzanie Agentem SQL i wykonywanie zadań są obsługiwane w przypadku logowań do Microsoft Entra.

  • Operacje tworzenia i przywracania kopii zapasowej bazy danych mogą być wykonywane przez główne podmioty zabezpieczeń serwera Microsoft Entra (loginy).

  • Audytowanie wszystkich oświadczeń związanych z głównymi jednostkami serwera Microsoft Entra (identyfikatory logowania) i zdarzenia uwierzytelniania jest obsługiwane.

  • Dedykowane połączenie administratora dla administratorów serwera Microsoft Entra (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 głównych elementów serwera Microsoft Entra.

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

  • W przypadku korzystania z grup trybu awaryjnego administrator Microsoft Entra musi być skonfigurowany dla instancji zarówno podstawowej, jak i pomocniczej. Jeśli wystąpienie nie ma administratora Microsoft Entra, logowania i użytkownicy Microsoft Entra otrzymują Cannot connect błąd.

  • Program PolyBase nie może uwierzytelniać się przy użyciu uwierzytelniania firmy Microsoft Entra.

  • Usunięcie administratora Microsoft Entra dla wystąpienia uniemożliwia wszelkie połączenia uwierzytelniania Microsoft Entra z wystąpieniem. W razie potrzeby administrator usługi SQL Managed Instance może ręcznie usunąć użytkowników usługi Microsoft Entra bezużytecznych.