Udostępnij za pośrednictwem


Konfigurowanie i zarządzanie uwierzytelnianiem usługi Microsoft Entra za pomocą usługi Azure SQL

Dotyczy: Azure SQL Database Azure SQL Managed InstanceAzure Synapse Analytics

W tym artykule pokazano, jak używać identyfikatora Entra firmy Microsoft do uwierzytelniania w usługach Azure SQL Database, Azure SQL Managed Instance i Azure Synapse Analytics.

Uwaga

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

Alternatywnie można również skonfigurować uwierzytelnianie microsoft Entra dla programu SQL Server na maszynach wirtualnych platformy Azure.

Wymagania wstępne

Aby korzystać z uwierzytelniania microsoft Entra z zasobem usługi Azure SQL, potrzebne są następujące wymagania wstępne:

Tworzenie i wypełnianie dzierżawy firmy Microsoft Entra

Przed skonfigurowaniem uwierzytelniania microsoft Entra dla zasobu usługi Azure SQL należy utworzyć dzierżawę firmy Microsoft Entra i wypełnić ją użytkownikami i grupami. Dzierżawy firmy Microsoft Entra można zarządzać w całości na platformie Azure lub używać do federacji usługi lokalna usługa Active Directory Domain Service.

Aby uzyskać więcej informacji, zobacz:

Ustawianie administratora firmy Microsoft Entra

Aby korzystać z uwierzytelniania Microsoft Entra z zasobem, musi mieć ustawiony administrator Firmy Microsoft Entra. Chociaż koncepcyjnie kroki są takie same w przypadku usług Azure SQL Database, Azure Synapse Analytics i Azure SQL Managed Instance, w tej sekcji opisano szczegółowo różne interfejsy API i środowiska portalu, które należy wykonać dla poszczególnych produktów.

Administrator firmy Microsoft Entra można również skonfigurować podczas tworzenia zasobu usługi Azure SQL. Jeśli administrator entra firmy Microsoft jest już skonfigurowany, pomiń tę sekcję.

Usługi Azure SQL Database i Azure Synapse Analytics

Ustawienie administratora firmy Microsoft Entra umożliwia uwierzytelnianie entra firmy Microsoft dla serwera logicznego dla usług Azure SQL Database i Azure Synapse Analytics. Możesz ustawić administratora firmy Microsoft Entra dla serwera przy użyciu witryny Azure Portal, programu PowerShell, interfejsu wiersza polecenia platformy Azure lub interfejsów API REST.

W witrynie Azure Portal można znaleźć nazwę serwera logicznego

  • W polu nazwa serwera na stronie Przegląd usługi Azure SQL Database.
  • W polu nazwa serwera na stronie Przegląd autonomicznej dedykowanej puli SQL w usłudze Azure Synapse Analytics.
  • W odpowiednim punkcie końcowym SQL na stronie Przegląd obszaru roboczego usługi Azure Synapse Analytics.

Aby ustawić administratora firmy Microsoft Entra dla serwera logicznego w witrynie Azure Portal, wykonaj następujące kroki:

  1. W okienku Katalogi i subskrypcje witryny Azure Portal wybierz katalog zawierający zasób usługi Azure SQL jako bieżący katalog.

  2. Wyszukaj pozycję Serwery SQL, a następnie wybierz serwer logiczny zasobu bazy danych, aby otworzyć okienko programu SQL Server.

    Zrzut ekranu przedstawiający sposób wyszukiwania i wybierania serwerów SQL.

  3. W okienku serwera SQL dla serwera logicznego wybierz pozycję Microsoft Entra ID w obszarze Ustawienia, aby otworzyć okienko Microsoft Entra ID.

  4. W okienku Identyfikator entra firmy Microsoft wybierz pozycję Ustaw administratora, aby otworzyć okienko Identyfikator entra firmy Microsoft.

    Zrzut ekranu przedstawia opcję ustawienia administratora firmy Microsoft Entra dla serwerów SQL.

  5. Okienko Identyfikator entra firmy Microsoft zawiera wszystkich użytkowników, grupy i aplikacje w bieżącym katalogu i umożliwia wyszukiwanie według nazwy, aliasu lub identyfikatora. Znajdź żądaną tożsamość administratora firmy Microsoft Entra i wybierz ją, a następnie kliknij pozycję Wybierz , aby zamknąć okienko.

  6. W górnej części strony Microsoft Entra ID dla serwera logicznego wybierz pozycję Zapisz.

    Zrzut ekranu przedstawia opcję zapisania administratora firmy Microsoft Entra.

    Identyfikator obiektu jest wyświetlany obok nazwy administratora dla użytkowników i grup firmy Microsoft Entra. W przypadku aplikacji (jednostek usługi) zostanie wyświetlony identyfikator aplikacji.

Proces zmiany administratora może potrwać kilka minut. Następnie nowy administrator pojawi się w polu Administratora firmy Microsoft Entra.

Aby usunąć administratora, w górnej części strony Identyfikator entra firmy Microsoft wybierz pozycję Usuń administratora, a następnie wybierz pozycję Zapisz. Usunięcie administratora firmy Microsoft Entra powoduje wyłączenie uwierzytelniania entra firmy Microsoft dla serwera logicznego.

Uwaga

Administrator firmy Microsoft Entra jest przechowywany w bazie danych serwera master jako użytkownik (jednostka bazy danych). Ponieważ nazwy główne bazy danych muszą być unikatowe, nazwa wyświetlana administratora nie może być taka sama jak nazwa żadnego użytkownika w bazie danych serwera master . Jeśli użytkownik o nazwie już istnieje, instalacja administratora firmy Microsoft Entra zakończy się niepowodzeniem i cofnie się, wskazując, że nazwa jest już używana.

Wystąpienie zarządzane Azure SQL

Ustawienie administratora firmy Microsoft Entra umożliwia uwierzytelnianie entra firmy Microsoft dla usługi Azure SQL Managed Instance. Możesz ustawić administratora usługi Microsoft Entra dla wystąpienia zarządzanego SQL przy użyciu witryny Azure Portal, programu PowerShell, interfejsu wiersza polecenia platformy Azure lub interfejsów API REST.

Aby udzielić uprawnień do odczytu wystąpienia zarządzanego SQL do identyfikatora Entra firmy Microsoft przy użyciu witryny Azure Portal, zaloguj się jako administrator globalny lub administrator ról uprzywilejowanych i wykonaj następujące kroki:

  1. W witrynie Azure Portal w prawym górnym rogu wybierz swoje konto, a następnie wybierz pozycję Przełącz katalogi , aby potwierdzić, który katalog jest twoim bieżącym katalogiem. W razie potrzeby przełącz katalogi.

    Zrzut ekranu witryny Azure Portal przedstawiający lokalizację przełączania katalogu.

  2. W okienku Katalogi i subskrypcje witryny Azure Portal wybierz katalog zawierający wystąpienie zarządzane jako bieżący katalog.

  3. Wyszukaj wystąpienia zarządzane SQL, a następnie wybierz wystąpienie zarządzane, aby otworzyć okienko wystąpienia zarządzanego SQL. Następnie wybierz pozycję Microsoft Entra ID w obszarze Ustawienia , aby otworzyć okienko Identyfikator entra firmy Microsoft dla twojego wystąpienia.

    Zrzut ekranu witryny Azure Portal przedstawiający otwartą stronę administratora firmy Microsoft dla wybranego wystąpienia zarządzanego SQL.

  4. W okienku Administratora firmy Microsoft Entra wybierz pozycję Ustaw administratora na pasku nawigacyjnym, aby otworzyć okienko Identyfikator entra firmy Microsoft.

    Zrzut ekranu przedstawiający polecenie Ustaw administratora wyróżnione na stronie administratora firmy Microsoft dla wybranego wystąpienia zarządzanego SQL.

  5. W okienku Microsoft Entra ID wyszukaj użytkownika, zaznacz pole wyboru obok użytkownika lub grupy, aby być administratorem, a następnie naciśnij przycisk Wybierz , aby zamknąć okienko i wrócić do strony administratora firmy Microsoft Entra dla wystąpienia zarządzanego.

    W okienku Identyfikator entra firmy Microsoft są wyświetlane wszystkie elementy członkowskie i grupy w bieżącym katalogu. Nie można wybrać wyszarywanych użytkowników lub grup, ponieważ nie są one obsługiwane jako administratorzy firmy Microsoft Entra. Wybierz tożsamość, którą chcesz przypisać jako administrator.

  6. Na pasku nawigacyjnym strony administratora usługi Microsoft Entra dla wystąpienia zarządzanego wybierz pozycję Zapisz , aby potwierdzić administratora firmy Microsoft Entra.

    Zrzut ekranu przedstawiający stronę administratora firmy Microsoft Entra z przyciskiem Zapisz w górnym wierszu obok przycisków Ustaw administratora i Usuń administratora.

    Po zakończeniu operacji zmiany administratora nowy administrator pojawi się w polu Administratora firmy Microsoft Entra.

    Identyfikator obiektu jest wyświetlany obok nazwy administratora dla użytkowników i grup firmy Microsoft Entra. W przypadku aplikacji (jednostek usługi) zostanie wyświetlony identyfikator aplikacji.

Napiwek

Aby usunąć administratora, wybierz pozycję Usuń administratora w górnej części strony Identyfikator entra firmy Microsoft, a następnie wybierz pozycję Zapisz.

Przypisywanie uprawnień programu Microsoft Graph

Usługa SQL Managed Instance potrzebuje uprawnień do odczytu identyfikatora entra firmy Microsoft w scenariuszach, takich jak autoryzowanie użytkowników, którzy łączą się za pośrednictwem członkostwa w grupie zabezpieczeń i tworzenia nowych użytkowników. Aby uwierzytelnianie firmy Microsoft działało, musisz przypisać tożsamość wystąpienia zarządzanego do roli Czytelnicy katalogu. Można to zrobić przy użyciu witryny Azure Portal lub programu PowerShell.

W przypadku niektórych operacji usługi Azure SQL Database i Azure Synapse Analytics również wymagają uprawnień do wykonywania zapytań dotyczących programu Microsoft Graph, co wyjaśniono w temacie Microsoft Graph permissions (Uprawnienia programu Microsoft Graph). Usługi Azure SQL Database i Azure Synapse Analytics obsługują szczegółowe uprawnienia programu Graph dla tych scenariuszy, natomiast usługa SQL Managed Instance wymaga roli Czytelnicy katalogu. Szczegółowe uprawnienia i ich przypisanie opisano szczegółowo w temacie Włączanie jednostek usługi w celu tworzenia użytkowników firmy Microsoft Entra.

Rola Odczytywanie katalogów

Strona Identyfikator entra firmy Microsoft dla usługi SQL Managed Instance w witrynie Azure Portal wyświetla wygodny baner, gdy wystąpienie nie ma przypisanych uprawnień czytelnika katalogu.

  1. Wybierz baner w górnej części strony Identyfikator entra firmy Microsoft i przyznaj uprawnienie do tożsamości zarządzanej przypisanej przez system lub przypisanej przez użytkownika, która reprezentuje Twoje wystąpienie. Tę operację może wykonać tylko administrator globalny lub administrator ról uprzywilejowanych w dzierżawie.

    Zrzut ekranu przedstawiający okno dialogowe udzielania uprawnień do wystąpienia zarządzanego SQL na potrzeby uzyskiwania dostępu do identyfikatora Entra firmy Microsoft z wybranym przyciskiem Udziel uprawnień.

  2. Po pomyślnym zakończeniu operacji w prawym górnym rogu zostanie wyświetlone powiadomienie o powodzeniu :

    Zrzut ekranu przedstawiający powiadomienie potwierdzające, że uprawnienia odczytu identyfikatora entra firmy Microsoft zostały pomyślnie zaktualizowane dla wystąpienia zarządzanego.

Administrator firmy Microsoft Entra może teraz służyć do tworzenia podmiotów zabezpieczeń serwera Firmy Microsoft (identyfikatorów logowania) i podmiotów zabezpieczeń bazy danych (użytkowników). Aby uzyskać więcej informacji, zobacz Microsoft Entra integration with Azure SQL Managed Instance (Integracja z usługą Microsoft Entra z usługą Azure SQL Managed Instance).

Tworzenie podmiotów zabezpieczeń firmy Microsoft w programie SQL

Aby nawiązać połączenie z bazą danych w usłudze SQL Database lub Azure Synapse Analytics przy użyciu uwierzytelniania firmy Microsoft Entra, należy skonfigurować podmiot zabezpieczeń w bazie danych dla tej tożsamości z co najmniej uprawnieniem CONNECT .

Uprawnienia użytkownika bazy danych

Po utworzeniu użytkownika bazy danych domyślnie otrzymuje uprawnienie CONNECT do bazy danych. Użytkownik bazy danych dziedziczy również uprawnienia w dwóch okolicznościach:

  • Jeśli użytkownik jest członkiem grupy Microsoft Entra, która ma również przypisane uprawnienia na serwerze.
  • Jeśli użytkownik jest tworzony na podstawie identyfikatora logowania, dziedziczy przypisane przez serwer uprawnienia logowania, które ma zastosowanie w bazie danych.

Zarządzanie uprawnieniami dla podmiotów zabezpieczeń serwera i bazy danych działa tak samo niezależnie od typu podmiotu zabezpieczeń (Identyfikator Entra firmy Microsoft, uwierzytelnianie SQL itp.). Zalecamy przyznanie uprawnień do ról bazy danych zamiast bezpośredniego udzielania uprawnień użytkownikom. Następnie użytkownicy mogą być dodawani do ról z odpowiednimi uprawnieniami. Upraszcza to długoterminowe zarządzanie uprawnieniami i zmniejsza prawdopodobieństwo zachowania dostępu do tożsamości w przeszłości, gdy jest to konieczne.

Aby uzyskać więcej informacji, zobacz:

Użytkownicy zawartej bazy danych

Użytkownik zawartej bazy danych jest typem użytkownika SQL, który nie jest połączony z logowaniem w master bazie danych. Aby utworzyć użytkownika zawartej bazy danych firmy Microsoft Entra, połącz się z bazą danych przy użyciu tożsamości Firmy Microsoft Entra, która ma co najmniej uprawnienie ALTER ANY USER . Poniższy przykład języka T-SQL tworzy podmiot zabezpieczeń Microsoft_Entra_principal_name bazy danych na podstawie identyfikatora Entra firmy Microsoft.

CREATE USER [<Microsoft_Entra_principal_name>] FROM EXTERNAL PROVIDER;

Aby utworzyć użytkownika zawartej bazy danych dla grupy Firmy Microsoft Entra, wprowadź nazwę wyświetlaną grupy:

CREATE USER [ICU Nurses] FROM EXTERNAL PROVIDER;

Aby utworzyć użytkownika zawartej bazy danych dla tożsamości zarządzanej lub jednostki usługi, wprowadź nazwę wyświetlaną tożsamości:

CREATE USER [appName] FROM EXTERNAL PROVIDER;

Aby utworzyć użytkownika zawartej bazy danych dla użytkownika firmy Microsoft Entra, wprowadź główną nazwę użytkownika tożsamości:

CREATE USER [adrian@contoso.com] FROM EXTERNAL PROVIDER;

Użytkownicy na podstawie identyfikatorów logowania

Uwaga

Podmioty zabezpieczeń serwera Microsoft Entra (identyfikatory logowania) są obecnie dostępne w publicznej wersji zapoznawczej dla usług Azure SQL Database i Azure Synapse Analytics. Identyfikatory logowania entra firmy Microsoft są ogólnie dostępne dla usługi Azure SQL Managed Instance i programu SQL Server 2022.

Obsługiwane są jednostki serwera Microsoft Entra (lub identyfikatory logowania), co oznacza, że użytkownicy zawartej bazy danych nie są wymagane. Jednostki bazy danych (użytkowników) można utworzyć na podstawie jednostki serwera, co oznacza, że użytkownicy firmy Microsoft Entra mogą dziedziczyć przypisane uprawnienia na poziomie serwera logowania.

CREATE USER [appName] FROM LOGIN [appName];

Aby uzyskać więcej informacji, zobacz Omówienie usługi SQL Managed Instance. Aby uzyskać informacje na temat tworzenia podmiotów zabezpieczeń serwera Microsoft Entra (identyfikatorów logowania), zobacz CREATE LOGIN (CREATE LOGIN).

Użytkownicy zewnętrzni

Nie można bezpośrednio utworzyć użytkownika bazy danych dla tożsamości zarządzanej w innej dzierżawie firmy Microsoft Entra niż ta skojarzona z subskrypcją platformy Azure. Jednak użytkownicy w innych katalogach mogą być importowane do skojarzonego katalogu jako użytkownicy zewnętrzni. Następnie można ich użyć do utworzenia zawartych użytkowników bazy danych, którzy mogą uzyskiwać dostęp do bazy danych. Użytkownicy zewnętrzni mogą również uzyskać dostęp za pośrednictwem członkostwa w grupach firmy Microsoft Entra.

Przykłady: aby utworzyć użytkownika zawartej bazy danych reprezentującego użytkownika domeny federacyjnej lub zarządzanej firmy Microsoft:

CREATE USER [alice@fabrikam.com] FROM EXTERNAL PROVIDER;

Konto użytkownika domeny federacyjnej zaimportowane do domeny zarządzanej jako użytkownik zewnętrzny musi używać tożsamości domeny zarządzanej.

Zagadnienia dotyczące nazewnictwa

Znaki specjalne, takie jak dwukropek : lub ampersand & , jeśli są uwzględniane jako nazwy użytkowników w języku T-SQL CREATE LOGIN i CREATE USER instrukcje nie są obsługiwane.

Identyfikator Entra firmy Microsoft i usługa Azure SQL różnią się w projekcie zarządzania użytkownikami w jeden kluczowy sposób: identyfikator Entra firmy Microsoft umożliwia duplikowanie nazw wyświetlanych w dzierżawie, natomiast usługa Azure SQL wymaga wszystkich podmiotów zabezpieczeń serwera na serwerze lub wystąpieniu i wszystkich podmiotów zabezpieczeń bazy danych w bazie danych, aby mieć unikatową nazwę. Ponieważ usługa Azure SQL bezpośrednio używa nazwy wyświetlanej tożsamości w usłudze Microsoft Entra podczas tworzenia podmiotów zabezpieczeń, może to spowodować błędy podczas tworzenia użytkowników. Aby rozwiązać ten problem, usługa Azure SQL opublikowała WITH OBJECT_ID rozszerzenie obecnie w wersji zapoznawczej, co umożliwia użytkownikom określenie identyfikatora obiektu Microsoft Entra tożsamości dodawanej do serwera lub wystąpienia.

Uprawnienia programu Microsoft Graph

Polecenie CREATE USER ... FROM EXTERNAL PROVIDER wymaga dostępu usługi Azure SQL do identyfikatora entra firmy Microsoft (dostawcy zewnętrznego) w imieniu zalogowanego użytkownika. Czasami pojawiają się okoliczności, które powodują, że identyfikator Entra firmy Microsoft zwraca wyjątek do usługi Azure SQL.

  • Może wystąpić błąd SQL 33134, który zawiera komunikat o błędzie specyficzny dla identyfikatora firmy Microsoft. Błąd zazwyczaj mówi, że odmowa dostępu, że użytkownik musi zarejestrować się w usłudze MFA, aby uzyskać dostęp do zasobu, lub że dostęp między aplikacjami pierwszej firmy musi być obsługiwany za pośrednictwem wstępnego uwierzytelniania. W pierwszych dwóch przypadkach problem jest zwykle spowodowany zasadami dostępu warunkowego ustawionymi w dzierżawie firmy Microsoft Entra użytkownika: uniemożliwiają użytkownikowi dostęp do dostawcy zewnętrznego. Aktualizowanie zasad dostępu warunkowego w celu zezwolenia na dostęp do aplikacji "00000003-0000-0000-c000-000000000000" (identyfikator aplikacji interfejsu API programu Microsoft Graph) powinno rozwiązać problem. Jeśli błąd wskazuje, że dostęp między aplikacjami pierwszej firmy musi być obsługiwany za pośrednictwem wstępnego uwierzytelniania, problem polega na tym, że użytkownik jest zalogowany jako jednostka usługi. Polecenie powinno zakończyć się powodzeniem, jeśli zostanie wykonane przez użytkownika.
  • Jeśli zostanie wyświetlony limit czasu połączenia wygasł, może być konieczne ustawienie TransparentNetworkIPResolution parametru parametry połączenia na wartość false. Aby uzyskać więcej informacji, zobacz Problem z przekroczeniem limitu czasu połączenia z programem .NET Framework 4.6.1 — TransparentNetworkIPResolution.

Aby uzyskać więcej informacji na temat tworzenia zawartych użytkowników bazy danych na podstawie tożsamości firmy Microsoft Entra, zobacz CREATE USER (TWORZENIE UŻYTKOWNIKA).

Konfiguracja uwierzytelniania wieloskładnikowego

Aby zwiększyć bezpieczeństwo zasobu usługi Azure SQL, rozważ skonfigurowanie uwierzytelniania wieloskładnikowego (MFA), które monituje użytkownika o użycie drugiej alternatywnej metody uwierzytelniania w bazie danych, takiej jak połączenie telefoniczne lub aplikacja wystawcy uwierzytelnienia.

Aby użyć uwierzytelniania wieloskładnikowego z zasobem usługi Azure SQL, najpierw włącz uwierzytelnianie wieloskładnikowe, a następnie użyj zasad dostępu warunkowego, aby wymusić uwierzytelnianie wieloskładnikowe dla zasobu usługi Azure SQL.

Nawiązywanie połączenia z firmą Microsoft Entra

Po skonfigurowaniu uwierzytelniania entra firmy Microsoft możesz użyć go do nawiązania połączenia z zasobem SQL za pomocą narzędzi firmy Microsoft, takich jak SQL Server Management Studio i SQL Server Data Tools, oraz skonfigurować aplikacje klienckie do łączenia się przy użyciu tożsamości firmy Microsoft Entra.

Rozwiązywanie problemów z uwierzytelnianiem w usłudze Microsoft Entra

Aby uzyskać wskazówki dotyczące rozwiązywania problemów, zobacz Blog: Rozwiązywanie problemów związanych z uwierzytelnianiem firmy Microsoft w usłudze Azure SQL Database i Azure Synapse.