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 tylko w usłudze Microsoft Entra jest funkcją w usłudze Azure SQL , która umożliwia usłudze tylko obsługę uwierzytelniania entra firmy Microsoft i jest obsługiwana w przypadku usług Azure SQL Database i Azure SQL Managed Instance.
Uwaga
Microsoft Entra ID był wcześniej znany jako Azure Active Directory (Azure AD).
Uwierzytelnianie tylko firmy Microsoft jest 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 firmy Microsoft. Aby uzyskać więcej informacji, zobacz Microsoft Entra-only authentication with Azure Synapse workspaces (Uwierzytelnianie tylko firmy Microsoft w obszarach roboczych usługi Azure Synapse).
Uwierzytelnianie SQL jest wyłączone podczas włączania uwierzytelniania tylko firmy Microsoft w środowisku Azure SQL, w tym połączeń od administratorów programu SQL Server, identyfikatorów logowania i użytkowników. Tylko użytkownicy korzystający z uwierzytelniania entra firmy Microsoft są autoryzowani do łączenia się z serwerem lub bazą danych.
Uwierzytelnianie tylko firmy Microsoft można włączyć lub wyłączyć przy użyciu witryny Azure Portal, interfejsu wiersza polecenia platformy Azure, programu PowerShell lub interfejsu API REST. Uwierzytelnianie tylko firmy Microsoft można skonfigurować podczas tworzenia serwera przy użyciu szablonu usługi Azure Resource Manager (ARM).
Aby uzyskać więcej informacji na temat uwierzytelniania usługi Azure SQL, zobacz Uwierzytelnianie i autoryzacja.
Opis funkcji
Podczas włączania uwierzytelniania tylko firmy Microsoft uwierzytelnianie SQL jest wyłączone na poziomie serwera lub wystąpienia zarządzanego i uniemożliwia uwierzytelnianie na podstawie poświadczeń uwierzytelniania SQL. Użytkownicy uwierzytelniania SQL nie będą mogli łączyć się z serwerem logicznym dla usługi Azure SQL Database lub wystąpienia zarządzanego, w tym ze wszystkimi jego bazami danych. Mimo że uwierzytelnianie SQL jest wyłączone, nowe identyfikatory logowania uwierzytelniania SQL i użytkownicy mogą być nadal tworzeni przez konta microsoft Entra z odpowiednimi uprawnieniami. Nowo utworzone konta uwierzytelniania SQL nie będą mogły łączyć się z serwerem. Włączenie uwierzytelniania tylko firmy Microsoft nie powoduje usunięcia istniejących identyfikatorów logowania uwierzytelniania SQL i kont użytkowników. Ta funkcja uniemożliwia tylko nawiązywanie połączenia z serwerem przez te konta oraz z dowolną bazą danych utworzoną dla tego serwera.
Można również wymusić tworzenie serwerów przy użyciu uwierzytelniania tylko firmy Microsoft włączonego przy użyciu usługi Azure Policy. 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).
Uprawnienia
Uwierzytelnianie tylko w usłudze Microsoft Entra może być włączone lub wyłączone przez użytkowników firmy Microsoft Entra, którzy są członkami wysoko uprzywilejowanych wbudowanych ról firmy Microsoft Entra, takich jak właściciele subskrypcji platformy Azure, współautorzy i administratorzy globalni. Ponadto rola Menedżer zabezpieczeń SQL może również włączać lub wyłączać funkcję uwierzytelniania tylko firmy Microsoft.
Role współautora programu SQL Server i współautora usługi SQL Managed Instance nie będą miały uprawnień do włączania ani wyłączania funkcji uwierzytelniania tylko firmy Microsoft. Jest to zgodne z podejściem Separacja obowiązków , w którym użytkownicy, którzy mogą utworzyć serwer Azure SQL lub utworzyć administratora firmy Microsoft Entra, nie mogą włączać ani wyłączać funkcji zabezpieczeń.
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 korzystających z menu Microsoft Entra ID witryny Azure Portal
- Microsoft.Sql/managedInstances/azureADOnlyAuthentications/*
- Microsoft.Sql/managedInstances/read
Powyższe akcje można również dodać do roli niestandardowej w celu zarządzania uwierzytelnianiem tylko firmy Microsoft. Więcej informacji zawiera sekcja Tworzenie i przypisywanie roli niestandardowej w Microsoft Entra ID.
Zarządzanie uwierzytelnianiem tylko firmy Microsoft przy użyciu interfejsów API
Ważne
Administrator firmy Microsoft Entra musi być ustawiony przed włączeniem uwierzytelniania tylko w usłudze 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
Wystąpienie zarządzane Azure SQL
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
Sprawdzanie uwierzytelniania tylko w usłudze Microsoft Entra przy użyciu języka T-SQL
Dodano właściwość SERVERPROPERTYIsExternalAuthenticationOnly
, aby sprawdzić, czy dla serwera lub wystąpienia zarządzanego włączono uwierzytelnianie tylko firmy Microsoft. 1
wskazuje, że funkcja jest włączona i 0
reprezentuje funkcję jest wyłączona.
SELECT SERVERPROPERTY('IsExternalAuthenticationOnly')
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. Menedżer zabezpieczeń SQL nie może ustawić ani usunąć administratora firmy Microsoft Entra, ale może ustawić tylko ustawienie uwierzytelniania Entra firmy Microsoft. Tylko konta z wyższymi rolami RBAC platformy Azure lub rolami niestandardowymi, które zawierają oba uprawnienia, mogą ustawić lub usunąć administratora usługi Microsoft Entra i ustawić tylko ustawienie uwierzytelniania entra firmy Microsoft. Jedną z takich ról jest rola Współautor .
- Po włączeniu lub wyłączeniu uwierzytelniania w usłudze Microsoft Entra tylko w witrynie Azure Portal wpis dziennika aktywności można zobaczyć w menu programu SQL Server .
- Ustawienie Tylko uwierzytelnianie entra firmy Microsoft można włączyć lub wyłączyć tylko przez użytkowników z odpowiednimi uprawnieniami, jeśli określono administratora firmy Microsoft Entra. Jeśli administrator firmy Microsoft Entra nie jest ustawiony, ustawienie uwierzytelniania Entra firmy Microsoft pozostaje nieaktywne i nie można go włączyć ani wyłączyć. Włączenie uwierzytelniania tylko firmy Microsoft przy użyciu interfejsów API zakończy się niepowodzeniem, jeśli administrator firmy Microsoft Entra nie został ustawiony.
- Zmiana administratora firmy Microsoft Entra, gdy włączono uwierzytelnianie tylko firmy Microsoft, jest obsługiwane dla użytkowników z odpowiednimi uprawnieniami.
- Zmiana administratora entra firmy Microsoft i włączenie lub wyłączenie uwierzytelniania tylko firmy Microsoft jest dozwolone 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 firmy Microsoft Entra, gdy funkcja uwierzytelniania tylko dla firmy Microsoft jest włączona, nie jest obsługiwana. Usunięcie administratora entra firmy Microsoft przy użyciu interfejsu API zakończy się niepowodzeniem, jeśli włączono uwierzytelnianie tylko firmy Microsoft.
- Jeśli ustawienie Tylko uwierzytelnianie entra firmy Microsoft jest włączone, przycisk Usuń administratora jest nieaktywny w witrynie Azure Portal.
- 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.
- Personifikacja kontynuuje pracę między użytkownikami uwierzytelniania SQL, nawet jeśli funkcja uwierzytelniania tylko firmy Microsoft jest włączona.
Ograniczenia dotyczące uwierzytelniania tylko w usłudze SQL Database firmy Microsoft
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:
- Role serwera usługi Azure SQL Database do zarządzania uprawnieniami są obsługiwane w przypadku podmiotów zabezpieczeń serwera Entra firmy Microsoft, ale nie wtedy, gdy identyfikator logowania firmy Microsoft Entra jest grupą.
- Zadania elastyczne dla usługi Azure SQL Database
- SQL Data Sync
- Przechwytywanie zmian danych (CDC) — jeśli tworzysz bazę danych w usłudze Azure SQL Database jako użytkownik usługi Microsoft Entra i włączysz przechwytywanie danych zmian, użytkownik SQL nie będzie mógł wyłączyć ani wprowadzić zmian w artefaktach CDC. Jednak inny użytkownik firmy Microsoft Entra będzie mógł włączyć lub wyłączyć usługę CDC w tej samej bazie danych. Podobnie jeśli utworzysz usługę Azure SQL Database jako użytkownik SQL, włączenie lub wyłączenie usługi CDC jako użytkownik usługi Microsoft Entra nie będzie działać
- Replikacja transakcyjna z usługą Azure SQL Managed Instance — ponieważ uwierzytelnianie SQL jest wymagane do łączności między uczestnikami replikacji, gdy włączono uwierzytelnianie tylko w usłudze Microsoft Entra, replikacja transakcyjna nie jest obsługiwana w przypadku usługi SQL Database w scenariuszach, w których replikacja transakcyjna jest używana do wypychania zmian wprowadzonych w wystąpieniu usługi Azure SQL Managed Instance, lokalnym programie SQL Server lub wystąpieniu programu SQL Server maszyny wirtualnej platformy Azure do bazy danych w usłudze Azure SQL Database
- SQL Insights (wersja zapoznawcza)
EXEC AS
instrukcja dla kont członków grupy Entra firmy Microsoft
Ograniczenia dotyczące uwierzytelniania tylko w usłudze Azure SQL Managed Instance firmy Microsoft
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:
- Replikacja transakcyjna za pomocą usługi Azure SQL Managed Instance
- Automatyzowanie zadań zarządzania przy użyciu zadań agenta SQL w usłudze Azure SQL Managed Instance obsługuje uwierzytelnianie tylko firmy Microsoft. Jednak użytkownik Firmy Microsoft Entra, który jest członkiem grupy Microsoft Entra, która ma dostęp do wystąpienia zarządzanego, nie może posiadać zadań agenta SQL.
- SQL Insights (wersja zapoznawcza)
EXEC AS
instrukcja dla kont członków grupy Entra firmy Microsoft
Aby uzyskać więcej ograniczeń, zobacz Różnice języka T-SQL między programem SQL Server i usługą Azure SQL Managed Instance.