Uwierzytelnianie tylko za pomocą usługi Microsoft Entra w usłudze Azure SQL

Dotyczy:Azure SQL Database Azure SQL Managed InstanceAzure Synapse Analytics (tylko dedykowane pule SQL)

Uwierzytelnianie wyłącznie za pomocą Microsoft Entra to funkcja w ramach Azure SQL, która umożliwia usłudze obsługę wyłącznie uwierzytelniania Microsoft Entra i jest obsługiwana przez Azure SQL Database oraz Azure SQL Managed Instance.

Uwaga

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

Uwierzytelnianie wyłącznie za pomocą usługi Microsoft Entra jest również dostępne dla dedykowanych pul SQL (dawniej SQL DW) na serwerach autonomicznych. Dla obszaru roboczego usługi Azure Synapse można włączyć uwierzytelnianie tylko za pomocą usługi Microsoft Entra. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie wyłącznie za pomocą Microsoft Entra w obszarach roboczych usługi Azure Synapse.

Gdy włączysz uwierzytelnianie tylko Microsoft Entra, wyłączasz uwierzytelnianie SQL w środowisku Azure SQL, w tym połączenia między administratorami serwera SQL, logowaniami i użytkownikami. Tylko użytkownicy korzystający z uwierzytelniania Microsoft Entra mogą łączyć się z serwerem lub bazą danych.

Uwierzytelnianie tylko za pomocą usługi Microsoft Entra można włączyć lub wyłączyć przy użyciu portalu Azure, Azure CLI, programu PowerShell lub interfejsu API REST. Uwierzytelnianie wyłącznie za pomocą Microsoft Entra można również skonfigurować podczas tworzenia serwera za pomocą szablonu Azure Resource Manager (ARM).

Aby uzyskać więcej informacji na temat uwierzytelniania usługi Azure SQL, zobacz Uwierzytelnianie i autoryzacja.

Opis funkcji

Gdy włączasz uwierzytelnianie tylko Microsoft Entra, wyłączasz uwierzytelnianie SQL na poziomie serwera lub zarządzanej instancji. Ta zmiana uniemożliwia uwierzytelnianie oparte na danych uwierzytelniających SQL. Użytkownicy uwierzytelniania SQL nie mogą połączyć się z logicznym serwerem Azure SQL Database ani zarządzaną instancją, w tym ze wszystkimi jej bazami danych. Mimo wyłączenia uwierzytelniania SQL, konta Microsoft Entra z odpowiednimi uprawnieniami mogą nadal tworzyć nowe logowania i użytkowników do uwierzytelniania SQL. Nowo utworzone konta uwierzytelniania SQL nie mogą połączyć się z serwerem. Włączenie uwierzytelniania wyłącznie za pomocą Microsoft Entra nie powoduje usunięcia istniejących loginów uwierzytelniania SQL ani kont użytkowników. Funkcja ta jedynie uniemożliwia łączenie tych kont z serwerem i jakąkolwiek bazą danych utworzoną dla tego serwera.

Możesz także użyć Azure Policy, aby wymusić tworzenie serwerów z włączonym uwierzytelnianiem wyłącznie za pomocą usługi Microsoft Entra. Aby uzyskać więcej informacji, zobacz Azure Policy for Microsoft Entra-only authentication with Azure SQL (Usługa Azure Policy dla uwierzytelniania tylko w usłudze Microsoft Entra-only w usłudze Azure SQL).

Usługa generuje także nazwę administratora serwera podczas przydzielania, która może pojawić się w portalu Azure nawet po wyłączeniu uwierzytelniania SQL. Więcej informacji można znaleźć w Koncie administratora serwera wygenerowanym przez system.

Uprawnienia

Uwierzytelnianie tylko przy użyciu Microsoft Entra można włączyć lub wyłączyć przez użytkowników Microsoft Entra, którzy są członkami wysoko uprzywilejowanych wbudowanych ról Microsoft Entra, takich jak właściciele subskrypcji Azure i współtwórcy. Ponadto rola Menedżer zabezpieczeń SQL może również włączać lub wyłączać funkcję uwierzytelniania tylko firmy Microsoft.

Role SQL Server Contributor i SQL Managed Instance Contributor nie mają uprawnień do włączania ani wyłączania funkcji uwierzytelniania wyłącznie za pomocą usługi Microsoft Entra. To ograniczenie jest zgodne z podejściem Separation of Duties (Rozdzielenie obowiązków), gdzie użytkownicy potrafiący utworzyć serwer Azure SQL lub administratora Microsoft Entra nie mogą włączać ani wyłączać funkcji bezpieczeństwa.

Wymagane akcje

Następujące akcje są dodawane do roli Menedżera zabezpieczeń SQL, aby umożliwić zarządzanie funkcją uwierzytelniania tylko firmy Microsoft.

  • Microsoft.Sql/servers/azureADOnlyAuthentications/*
  • Microsoft.Sql/servers/administrators/read — wymagane tylko dla użytkowników uzyskujących dostęp do menu Microsoft Entra ID w portalu Azure
  • Microsoft.Sql/managedInstances/azureADOnlyAuthentications/*
  • Microsoft.Sql/managedInstances/read

Powyższe akcje można również dodać do roli niestandardowej w celu zarządzania uwierzytelnianiem wyłącznie przy użyciu usługi Microsoft Entra. Więcej informacji zawiera sekcja Tworzenie i przypisywanie roli niestandardowej w Microsoft Entra ID.

Zarządzanie uwierzytelnianiem wyłącznie za pomocą usługi Microsoft Entra za pomocą interfejsów API

Ważne

Administrator Microsoft Entra musi zostać skonfigurowany przed włączeniem uwierzytelniania wyłącznie za pomocą Microsoft Entra.

Musisz mieć interfejs wiersza polecenia platformy Azure w wersji 2.14.2 lub nowszej.

name odpowiada prefiksowi nazwy serwera lub wystąpienia (na przykład myserver) i resource-group odpowiada zasobowi, do którego należy serwer (na przykład myresource).

Azure SQL Database

Aby uzyskać więcej informacji, zobacz az sql server ad-only-auth.

Włączanie lub wyłączanie w usłudze SQL Database

Włączone

az sql server ad-only-auth enable --resource-group myresource --name myserver

Wyłącz

az sql server ad-only-auth disable --resource-group myresource --name myserver

Sprawdzanie stanu w usłudze SQL Database

az sql server ad-only-auth get --resource-group myresource --name myserver

Azure SQL Managed Instance

Aby uzyskać więcej informacji, zobacz az sql mi ad-only-auth.

Włączone

az sql mi ad-only-auth enable --resource-group myresource --name myserver

Wyłącz

az sql mi ad-only-auth disable --resource-group myresource --name myserver

Sprawdzanie stanu w usłudze SQL Managed Instance

az sql mi ad-only-auth get --resource-group myresource --name myserver

Sprawdź uwierzytelnianie wyłącznie za pomocą Microsoft Entra przy użyciu języka T-SQL

Użyj funkcji SERVERPROPERTY, IsExternalAuthenticationOnly aby sprawdzić, czy uwierzytelnianie tylko Microsoft Entra jest włączone dla Twojego serwera lub instancji zarządzanej. 1 oznacza, że funkcja jest włączona i 0 że jest wyłączona.

SELECT SERVERPROPERTY('IsExternalAuthenticationOnly')

Konto administratora serwera generowanego przez system

Gdy tworzysz logiczny serwer dla Azure SQL Database lub Azure SQL Managed Instance z włączoną uwierzytelnianiem tylko Microsoft Entra, usługa generuje nazwę administratora serwera oraz losowe hasło. Wygenerowana nazwa zaczyna się od CloudSA, po którym następuje losowy ciąg znaków, i jest wyświetlana w portalu Azure jako logowanie administratora serwera.

Konto istnieje po to, by spełnić wymagania dotyczące przydziałów, a nie umożliwić połączenie. Udostępnianie któregokolwiek z typów zasobów nadal wymaga wartości administratora uwierzytelniania SQL. Uwierzytelnianie wyłącznie za pomocą usługi Microsoft Entra zmienia to, które metody uwierzytelniania mogą służyć do nawiązywania połączenia po aprowizacji, ale nie usuwa samego wymogu aprowizacji, więc usługa generuje wartości potrzebne do jego spełnienia.

Zobaczenie wygenerowanej nazwy nie oznacza, że uwierzytelnianie SQL jest włączone. Gdy włączone jest uwierzytelnianie wyłącznie za pomocą usługi Microsoft Entra:

  • Żadne konto uwierzytelniające SQL nie może się połączyć, w tym administrator generowany przez system.
  • Wygenerowane konto nie jest kontem współdzielonym, rezerwowym ani ścieżką typu break-glass.
  • Aplikacje i administratorzy muszą korzystać z uwierzytelniania Microsoft Entra, aby się połączyć.
  • Administrator Microsoft Entra i inne autoryzowane podmioty Microsoft Entra pozostają obsługiwanymi sposobami administrowania.
  • Usługa trwale usuwa hasło z płaszczyzny sterowania po zakończeniu aprowizacji.

Uwagi

  • Współautor programu SQL Server może ustawić lub usunąć administratora firmy Microsoft Entra, ale nie może ustawić ustawienia tylko uwierzytelniania Entra firmy Microsoft. SQL Security Manager nie może ustawić ani usunąć administratora Microsoft Entra, ale może ustawić opcję tylko uwierzytelnianie Microsoft Entra. Tylko konta z rolami wyższego poziomu Azure RBAC lub rolami niestandardowymi, które obejmują oba uprawnienia, mogą ustawić lub usunąć administratora Microsoft Entra oraz skonfigurować ustawienie tylko uwierzytelnianie Microsoft Entra. Jedną z takich ról jest rola Współautor.
  • Po włączeniu lub wyłączeniu opcji tylko uwierzytelniania Microsoft Entra w portalu Azure wpis w dzienniku aktywności można zobaczyć w menu serwera SQL. Zrzut ekranu wpisu dziennika aktywności w portalu Azure.
  • Ustawienie tylko uwierzytelnianie Microsoft Entra można włączyć lub wyłączyć tylko przez użytkowników z odpowiednimi uprawnieniami, jeśli określono administratora Microsoft Entra. Jeśli administrator Microsoft Entra nie jest ustawiony, ustawienie tylko uwierzytelnianie Microsoft Entra pozostaje nieaktywne i nie można go włączyć ani wyłączyć. Użycie interfejsów API do włączenia uwierzytelniania wyłącznie za pomocą Microsoft Entra również zakończy się niepowodzeniem, jeśli administrator Microsoft Entra nie został skonfigurowany.
  • Zmiana administratora Microsoft Entra, gdy jest włączone uwierzytelnianie wyłącznie za pomocą Microsoft Entra, jest obsługiwana dla użytkowników z odpowiednimi uprawnieniami.
  • Zmiana administratora Microsoft Entra oraz włączanie lub wyłączanie uwierzytelniania wyłącznie za pomocą Microsoft Entra są możliwe w witrynie Azure Portal dla użytkowników z odpowiednimi uprawnieniami. Obie operacje można wykonać przy użyciu jednego polecenia Zapisz w witrynie Azure Portal. Aby włączyć uwierzytelnianie tylko w usłudze Microsoft Entra, należy ustawić administratora entra firmy Microsoft.
  • Usunięcie administratora Microsoft Entra, gdy jest włączona funkcja uwierzytelniania wyłącznie za pomocą Microsoft Entra, nie jest obsługiwane. Usunięcie administratora Microsoft Entra za pomocą interfejsu API zakończy się niepowodzeniem, jeśli jest włączone uwierzytelnianie wyłącznie za pomocą usługi Microsoft Entra.
    • Jeśli ustawienie uwierzytelnianie tylko za pomocą Microsoft Entra jest włączone, przycisk Usuń administratora jest nieaktywny w portalu Azure.
  • Usunięcie administratora firmy Microsoft Entra i wyłączenie ustawienia tylko uwierzytelniania Entra firmy Microsoft jest dozwolone, ale wymaga odpowiedniego uprawnienia użytkownika do ukończenia operacji. Obie operacje można wykonać przy użyciu jednego polecenia Zapisz w witrynie Azure Portal.
  • Użytkownicy firmy Microsoft Entra z odpowiednimi uprawnieniami mogą personifikować istniejących użytkowników SQL.
    • Mechanizm personifikacji nadal działa między użytkownikami korzystającymi z uwierzytelniania SQL, nawet gdy włączona jest funkcja uwierzytelniania wyłącznie za pomocą usługi Microsoft Entra.

Ograniczenia uwierzytelniania wyłącznie za pomocą Microsoft Entra w usłudze SQL Database

Jeśli dla usługi SQL Database jest włączone uwierzytelnianie tylko w usłudze Microsoft Entra, następujące funkcje nie są obsługiwane:

  • Zadania elastyczne dla usługi Azure SQL Database
  • Synchronizacja danych SQL
  • Przechwytywanie zmian danych (CDC) — jeśli utworzysz bazę danych w Azure SQL Database jako użytkownik Microsoft Entra i włączysz dla niej funkcję przechwytywania zmian danych, użytkownik SQL nie będzie mógł wyłączyć artefaktów CDC ani ich zmieniać. Jednak inny użytkownik Microsoft Entra może włączyć lub wyłączyć CDC na tej samej bazie danych. Podobnie, jeśli tworzysz Azure SQL Database jako użytkownik SQL, włączanie lub wyłączanie CDC jako użytkownik Microsoft Entra nie działa
  • Replikacja transakcyjna z Azure SQL Managed Instance — ponieważ uwierzytelnianie SQL jest wymagane do łączności między uczestnikami replikacji, gdy włączone jest tylko uwierzytelnianie Microsoft Entra, replikacja transakcyjna nie jest obsługiwana w przypadku usługi SQL Database w scenariuszach, w których jest używana do przesyłania zmian wprowadzonych w Azure SQL Managed Instance, lokalnym serwerze SQL Server lub w instancji SQL Server na maszynie wirtualnej Azure do bazy danych w usłudze Azure SQL Database.
  • SQL Insights (wersja zapoznawcza)
  • EXEC AS oświadczenie dla kont członków grupy Microsoft Entra

Ograniczenia dotyczące uwierzytelniania wyłącznie za pomocą Microsoft Entra w usłudze Azure SQL Managed Instance

Jeśli dla usługi SQL Managed Instance jest włączone uwierzytelnianie tylko w usłudze Microsoft Entra, następujące funkcje nie są obsługiwane:

Aby uzyskać więcej ograniczeń, zobacz Różnice języka T-SQL między programem SQL Server i usługą Azure SQL Managed Instance.