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:
- Dzierżawa firmy Microsoft Entra wypełniona użytkownikami i grupami.
- Istniejący zasób usługi Azure SQL, taki jak Azure SQL Database lub Azure SQL Managed Instance.
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:
- Czym jest usługa Microsoft Entra ID?
- Integrowanie tożsamości lokalnych z identyfikatorem Entra firmy Microsoft
- Dodawanie nazwy domeny do identyfikatora Entra firmy Microsoft
- Co to jest federacja z identyfikatorem Entra firmy Microsoft?
- Synchronizacja katalogów z identyfikatorem Entra firmy Microsoft
- Zarządzanie identyfikatorem Entra firmy Microsoft przy użyciu programu Windows PowerShell
- Wymagane porty i protokoły tożsamości hybrydowej
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.
- Witryna Azure Portal
- Program PowerShell
- Interfejs wiersza polecenia platformy Azure
- Interfejsy API REST
Aby ustawić administratora firmy Microsoft Entra dla serwera logicznego w witrynie Azure Portal, wykonaj następujące kroki:
W okienku Katalogi i subskrypcje witryny Azure Portal wybierz katalog zawierający zasób usługi Azure SQL jako bieżący katalog.
Wyszukaj pozycję Serwery SQL, a następnie wybierz serwer logiczny zasobu bazy danych, aby otworzyć okienko programu SQL Server.
W okienku serwera SQL dla serwera logicznego wybierz pozycję Microsoft Entra ID w obszarze Ustawienia, aby otworzyć okienko Microsoft Entra ID.
W okienku Identyfikator entra firmy Microsoft wybierz pozycję Ustaw administratora, aby otworzyć okienko Identyfikator entra firmy Microsoft.
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.
W górnej części strony Microsoft Entra ID dla serwera logicznego wybierz pozycję Zapisz.
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.
- Witryna Azure Portal
- Program PowerShell
- Interfejs wiersza polecenia platformy Azure
- Interfejsy 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:
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.
W okienku Katalogi i subskrypcje witryny Azure Portal wybierz katalog zawierający wystąpienie zarządzane jako bieżący katalog.
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.
W okienku Administratora firmy Microsoft Entra wybierz pozycję Ustaw administratora na pasku nawigacyjnym, aby otworzyć okienko Identyfikator entra firmy Microsoft.
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.
Na pasku nawigacyjnym strony administratora usługi Microsoft Entra dla wystąpienia zarządzanego wybierz pozycję Zapisz , aby potwierdzić administratora firmy Microsoft Entra.
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
- Witryna Azure Portal
- Program PowerShell
- Interfejs wiersza polecenia platformy Azure
- Interfejsy API REST
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.
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.
Po pomyślnym zakończeniu operacji w prawym górnym rogu zostanie wyświetlone powiadomienie o powodzeniu :
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:
- Uprawnienia i przykłady aparatu bazy danych
- Blog: Podstawy uprawnień aparatu bazy danych
- Zarządzanie specjalnymi rolami baz danych i identyfikatorami logowania w usłudze Azure SQL Database
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.
Powiązana zawartość
- Autoryzowanie dostępu do bazy danych w usługach SQL Database, SQL Managed Instance i Azure Synapse Analytics
- Podmiotów
- Role bazy danych
- Reguły zapory bazującej na adresach IP dla usługi Azure SQL Database i Azure Synapse
- Tworzenie użytkowników-gości usługi Microsoft Entra i ustawianie ich jako administratora firmy Microsoft Entra
- Samouczek: tworzenie użytkowników entra firmy Microsoft przy użyciu aplikacji Firmy Microsoft Entra