Dotyczy:
Azure SQL Database
Azure SQL Managed Instance
Ten artykuł przeprowadzi Cię przez włączanie funkcji uwierzytelniania wyłącznie Microsoft Entra w Azure SQL Database oraz Azure SQL Managed Instance. Jeśli chcesz aprowizować usługę SQL Database lub wystąpienie zarządzane SQL z włączonym uwierzytelnianiem tylko w usłudze Microsoft Entra, zobacz Create server with Microsoft Entra-only authentication enabled in Azure SQL (Tworzenie serwera z włączonym uwierzytelnianiem tylko w usłudze Microsoft Entra-only w usłudze Azure SQL).
Z tego samouczka dowiesz się, jak wykonywać następujące czynności:
- Przypisywanie roli w celu włączenia uwierzytelniania tylko w usłudze Microsoft Entra
- Włączanie uwierzytelniania tylko firmy Microsoft przy użyciu witryny Azure Portal, interfejsu wiersza polecenia platformy Azure lub programu PowerShell
- Sprawdź, czy jest włączone uwierzytelnianie tylko firmy Microsoft
- Testowanie nawiązywania połączenia z usługą Azure SQL
- Wyłączanie uwierzytelniania tylko firmy Microsoft przy użyciu witryny Azure Portal, interfejsu wiersza polecenia platformy Azure lub programu PowerShell
Wymagania wstępne
Przypisywanie roli w celu włączenia uwierzytelniania tylko w usłudze Microsoft Entra
Aby włączyć lub wyłączyć uwierzytelnianie tylko firmy Microsoft, wybrane wbudowane role są wymagane dla użytkowników firmy Microsoft Entra wykonujących te operacje w tym samouczku. W tym samouczku przypiszemy użytkownikowi rolę Menedżer zabezpieczeń SQL.
Aby uzyskać więcej informacji na temat przypisywania roli do konta usługi Microsoft Entra, zobacz Przypisywanie ról administratorów i innych niż administrator do użytkowników przy użyciu identyfikatora Entra firmy Microsoft
Aby uzyskać więcej informacji na temat wymaganych uprawnień do włączania lub wyłączania uwierzytelniania tylko firmy Microsoft, zobacz sekcję Uprawnienia w artykule Dotyczącym uwierzytelniania tylko w usłudze Microsoft Entra.
W naszym przykładzie przypiszemy użytkownikowi zabezpieczeń SQL. Korzystając z uprzywilejowanego użytkownika, który może przypisywać role firmy Microsoft Entra, zaloguj się do witryny Azure Portal.
Przejdź do zasobu programu SQL Server i wybierz pozycję Kontrola dostępu (Zarządzanie dostępem i tożsamościami) w menu. Wybierz przycisk Dodaj , a następnie dodaj przypisanie roli na liście rozwijanej.
W okienku Dodawanie przypisania roli wybierz Menedżera zabezpieczeń SQL roli i wybierz użytkownika, który ma mieć możliwość włączania lub wyłączania uwierzytelniania tylko firmy Microsoft.
Wybierz Zapisz.
Włączanie uwierzytelniania tylko w usłudze Microsoft Entra
Włączanie w usłudze SQL Database przy użyciu witryny Azure Portal
Aby włączyć uwierzytelnianie tylko firmy Microsoft w witrynie Azure Portal, wykonaj następujące kroki:
Korzystając z użytkownika z rolą Menedżera zabezpieczeń SQL, przejdź do witryny Azure Portal.
Przejdź do zasobu programu SQL Server i wybierz pozycję Microsoft Entra ID w menu Ustawienia .
Jeśli nie dodano administratora firmy Microsoft Entra, musisz ustawić tę opcję przed włączeniem uwierzytelniania tylko w usłudze Microsoft Entra.
Zaznacz pole wyboru w obszarze Obsługa tylko uwierzytelniania firmy Microsoft dla tego serwera.
Zostanie wyświetlone okno podręczne Włącz uwierzytelnianie tylko firmy Microsoft. Wybierz pozycję Tak , aby włączyć funkcję i zapisać ustawienie.
Włączanie w usłudze SQL Managed Instance przy użyciu witryny Azure Portal
Aby włączyć uwierzytelnianie tylko firmy Microsoft w witrynie Azure Portal, zobacz poniższe kroki.
Korzystając z użytkownika z rolą Menedżera zabezpieczeń SQL, przejdź do witryny Azure Portal.
Przejdź do zasobu wystąpienia zarządzanego SQL i wybierz pozycję Microsoft Entra admin w menu Ustawienia.
Jeśli nie dodano administratora firmy Microsoft Entra, musisz ustawić tę opcję przed włączeniem uwierzytelniania tylko w usłudze Microsoft Entra.
Zaznacz pole wyboru Obsługa tylko uwierzytelniania firmy Microsoft dla tego wystąpienia zarządzanego.
Zostanie wyświetlone okno podręczne Włącz uwierzytelnianie tylko firmy Microsoft. Wybierz pozycję Tak , aby włączyć funkcję i zapisać ustawienie.
Włączanie w usłudze SQL Database przy użyciu interfejsu wiersza polecenia platformy Azure
Aby włączyć uwierzytelnianie tylko firmy Microsoft w usłudze Azure SQL Database przy użyciu interfejsu wiersza polecenia platformy Azure, zobacz poniższe polecenia.
Zainstaluj najnowszą wersję interfejsu wiersza polecenia platformy Azure. Musisz mieć interfejs wiersza polecenia platformy Azure w wersji 2.14.2 lub nowszej. Aby uzyskać więcej informacji na temat tych poleceń, zobacz az sql server ad-only-auth.
Aby uzyskać więcej informacji na temat zarządzania uwierzytelnianiem tylko firmy Microsoft przy użyciu interfejsów API, zobacz Zarządzanie uwierzytelnianiem tylko firmy Microsoft przy użyciu interfejsów API.
Uwaga
Administrator firmy Microsoft Entra musi być ustawiony dla serwera przed włączeniem uwierzytelniania tylko w usłudze Microsoft Entra. W przeciwnym razie polecenie interfejsu wiersza polecenia platformy Azure zakończy się niepowodzeniem.
Aby uzyskać uprawnienia i akcje wymagane przez użytkownika wykonującego te polecenia w celu włączenia uwierzytelniania tylko do firmy Microsoft, zobacz artykuł Dotyczący uwierzytelniania tylko firmy Microsoft.
Zaloguj się do platformy Azure przy użyciu konta z rolą Menedżera zabezpieczeń SQL.
az login
Uruchom następujące polecenie, zastępując <myserver> ciąg nazwą serwera SQL i <myresource> zasobem platformy Azure, który przechowuje serwer SQL.
az sql server ad-only-auth enable --resource-group <myresource> --name <myserver>
Włączanie w usłudze SQL Managed Instance przy użyciu interfejsu wiersza polecenia platformy Azure
Aby włączyć uwierzytelnianie tylko firmy Microsoft w usłudze Azure SQL Managed Instance przy użyciu interfejsu wiersza polecenia platformy Azure, zobacz poniższe polecenia.
Zainstaluj najnowszą wersję interfejsu wiersza polecenia platformy Azure.
Zaloguj się do platformy Azure przy użyciu konta z rolą Menedżera zabezpieczeń SQL.
az login
Uruchom następujące polecenie, zastępując <myserver> ciąg nazwą serwera SQL i <myresource> zasobem platformy Azure, który przechowuje serwer SQL.
az sql mi ad-only-auth enable --resource-group <myresource> --name <myserver>
Włączanie w usłudze SQL Database przy użyciu programu PowerShell
Aby włączyć uwierzytelnianie tylko firmy Microsoft w usłudze Azure SQL Database przy użyciu programu PowerShell, zobacz poniższe polecenia.
Moduł Az.Sql 2.10.0 lub nowszy jest wymagany do wykonania tych poleceń. Aby uzyskać więcej informacji na temat tych poleceń, zobacz Enable-AzSqlInstanceActiveDirectoryOnlyAuthentication.
Aby uzyskać więcej informacji na temat zarządzania uwierzytelnianiem tylko firmy Microsoft przy użyciu interfejsów API, zobacz Managing Microsoft Entra-only authentication using APIs (Zarządzanie uwierzytelnianiem tylko firmy Microsoft przy użyciu interfejsów API)
Uwaga
Administrator firmy Microsoft Entra musi być ustawiony dla serwera przed włączeniem uwierzytelniania tylko w usłudze Microsoft Entra. W przeciwnym razie polecenie programu PowerShell zakończy się niepowodzeniem.
Aby uzyskać uprawnienia i akcje wymagane przez użytkownika wykonującego te polecenia w celu włączenia uwierzytelniania tylko do firmy Microsoft, zobacz artykuł Dotyczący uwierzytelniania tylko firmy Microsoft. Jeśli użytkownik ma niewystarczające uprawnienia, zostanie wyświetlony następujący błąd:
Enable-AzSqlServerActiveDirectoryOnlyAuthentication : The client
'UserSqlServerContributor@contoso.onmicrosoft.com' with object id
'<guid>' does not have authorization to perform
action 'Microsoft.Sql/servers/azureADOnlyAuthentications/write' over scope
'/subscriptions/<guid>...'
Zaloguj się do platformy Azure przy użyciu konta z rolą Menedżera zabezpieczeń SQL.
Connect-AzAccount
Uruchom następujące polecenie, zastępując <myserver> ciąg nazwą serwera SQL i <myresource> zasobem platformy Azure, który przechowuje serwer SQL.
Enable-AzSqlServerActiveDirectoryOnlyAuthentication -ServerName <myserver> -ResourceGroupName <myresource>
Włączanie w usłudze SQL Managed Instance przy użyciu programu PowerShell
Aby włączyć uwierzytelnianie tylko firmy Microsoft w usłudze Azure SQL Managed Instance przy użyciu programu PowerShell, zobacz poniższe polecenia.
Moduł Az.Sql 2.10.0 lub nowszy jest wymagany do wykonania tych poleceń.
Aby uzyskać więcej informacji na temat zarządzania uwierzytelnianiem tylko firmy Microsoft przy użyciu interfejsów API, zobacz Zarządzanie uwierzytelnianiem tylko firmy Microsoft przy użyciu interfejsów API.
Zaloguj się do platformy Azure przy użyciu konta z rolą Menedżera zabezpieczeń SQL.
Connect-AzAccount
Uruchom następujące polecenie, zastępując <myinstance> ciąg nazwą wystąpienia zarządzanego SQL i <myresource> zasobem platformy Azure, który przechowuje wystąpienie zarządzane SQL.
Enable-AzSqlInstanceActiveDirectoryOnlyAuthentication -InstanceName <myinstance> -ResourceGroupName <myresource>
Sprawdzanie stanu uwierzytelniania tylko w usłudze Microsoft
Sprawdź, czy dla serwera lub wystąpienia włączono uwierzytelnianie tylko firmy Microsoft.
Sprawdzanie stanu w usłudze SQL Database
Przejdź do zasobu programu SQL Server w witrynie Azure Portal. Wybierz pozycję Microsoft Entra ID w menu Ustawienia .
Sprawdzanie stanu w usłudze SQL Managed Instance
Przejdź do zasobu wystąpienia zarządzanego SQL w witrynie Azure Portal. Wybierz pozycję Microsoft Entra admin w menu Ustawienia .
Te polecenia mogą służyć do sprawdzania, czy uwierzytelnianie tylko firmy Microsoft jest włączone dla serwera logicznego dla usługi Azure SQL Database lub usługi SQL Managed Instance.
Członkowie ról współautora programu SQL Server i współautora usługi SQL Managed Instance mogą używać tych poleceń do sprawdzania stanu uwierzytelniania tylko firmy Microsoft, ale nie mogą włączać ani wyłączać tej funkcji.
Sprawdzanie stanu w usłudze SQL Database
Zaloguj się do platformy Azure przy użyciu konta z rolą Menedżera zabezpieczeń SQL. Aby uzyskać więcej informacji na temat zarządzania uwierzytelnianiem tylko firmy Microsoft przy użyciu interfejsów API, zobacz Managing Microsoft Entra-only authentication using APIs (Zarządzanie uwierzytelnianiem tylko firmy Microsoft przy użyciu interfejsów API)
az login
Uruchom następujące polecenie, zastępując <myserver> ciąg nazwą serwera SQL i <myresource> zasobem platformy Azure, który przechowuje serwer SQL.
az sql server ad-only-auth get --resource-group <myresource> --name <myserver>
Powinny zostać wyświetlone następujące dane wyjściowe:
{
"azureAdOnlyAuthentication": true,
"/subscriptions/<guid>/resourceGroups/mygroup/providers/Microsoft.Sql/servers/myserver/azureADOnlyAuthentications/Default",
"name": "Default",
"resourceGroup": "myresource",
"type": "Microsoft.Sql/servers"
}
Sprawdzanie stanu w usłudze SQL Managed Instance
Zaloguj się do platformy Azure przy użyciu konta z rolą Menedżera zabezpieczeń SQL.
az login
Uruchom następujące polecenie, zastępując <myserver> ciąg nazwą serwera SQL i <myresource> zasobem platformy Azure, który przechowuje serwer SQL.
az sql mi ad-only-auth get --resource-group <myresource> --name <myserver>
Powinny zostać wyświetlone następujące dane wyjściowe:
{
"azureAdOnlyAuthentication": true,
"id": "/subscriptions/<guid>/resourceGroups/myresource/providers/Microsoft.Sql/managedInstances/myinstance/azureADOnlyAuthentications/Default",
"name": "Default",
"resourceGroup": "myresource",
"type": "Microsoft.Sql/managedInstances"
}
Te polecenia mogą służyć do sprawdzania, czy uwierzytelnianie tylko firmy Microsoft jest włączone dla serwera logicznego dla usługi Azure SQL Database lub usługi SQL Managed Instance.
Członkowie ról współautora programu SQL Server i współautora usługi SQL Managed Instance mogą używać tych poleceń do sprawdzania stanu uwierzytelniania tylko firmy Microsoft, ale nie mogą włączać ani wyłączać tej funkcji.
Stan zwróci wartość True , jeśli funkcja jest włączona, a wartość False , jeśli jest wyłączona.
Sprawdzanie stanu w usłudze SQL Database
Zaloguj się do platformy Azure przy użyciu konta z rolą Menedżera zabezpieczeń SQL. Aby uzyskać więcej informacji na temat zarządzania uwierzytelnianiem tylko firmy Microsoft przy użyciu interfejsów API, zobacz Managing Microsoft Entra-only authentication using APIs (Zarządzanie uwierzytelnianiem tylko firmy Microsoft przy użyciu interfejsów API)
Connect-AzAccount
Uruchom następujące polecenie, zastępując <myserver> ciąg nazwą serwera SQL i <myresource> zasobem platformy Azure, który przechowuje serwer SQL.
Get-AzSqlServerActiveDirectoryOnlyAuthentication -ServerName <myserver> -ResourceGroupName <myresource>
Sprawdzanie stanu w usłudze SQL Managed Instance
Zaloguj się do platformy Azure przy użyciu konta z rolą Menedżera zabezpieczeń SQL.
Connect-AzAccount
Uruchom następujące polecenie, zastępując <myinstance> ciąg nazwą wystąpienia zarządzanego SQL i <myresource> zasobem platformy Azure, który przechowuje wystąpienie zarządzane SQL.
Get-AzSqlInstanceActiveDirectoryOnlyAuthentication -InstanceName <myinstance> -ResourceGroupName <myresource>
Testowanie uwierzytelniania SQL przy użyciu błędu połączenia
Po włączeniu uwierzytelniania tylko firmy Microsoft przetestuj przy użyciu programu SQL Server Management Studio (SSMS), aby nawiązać połączenie z usługą SQL Database lub wystąpieniem zarządzanym SQL. Użyj uwierzytelniania SQL dla połączenia.
Powinien zostać wyświetlony komunikat o niepowiedzeniu logowania podobny do następujących danych wyjściowych:
Cannot connect to <myserver>.database.windows.net.
Additional information:
Login failed for user 'username'. Reason: Azure Active Directory only authentication is enabled.
Please contact your system administrator. (Microsoft SQL Server, Error: 18456)
Wyłączanie uwierzytelniania tylko firmy Microsoft
Wyłączenie funkcji uwierzytelniania tylko firmy Microsoft umożliwia uwierzytelnianie SQL i uwierzytelnianie Microsoft Entra dla usługi Azure SQL.
Wyłączanie w usłudze SQL Database przy użyciu witryny Azure Portal
- Korzystając z użytkownika z rolą Menedżera zabezpieczeń SQL, przejdź do witryny Azure Portal.
- Przejdź do zasobu programu SQL Server i wybierz pozycję Microsoft Entra ID w menu Ustawienia .
- Aby wyłączyć funkcję uwierzytelniania tylko firmy Microsoft, usuń zaznaczenie pola wyboru Obsługa tylko uwierzytelniania firmy Microsoft dla tego serwera i Zapisz ustawienie.
Wyłączanie w usłudze SQL Managed Instance przy użyciu witryny Azure Portal
- Korzystając z użytkownika z rolą Menedżera zabezpieczeń SQL, przejdź do witryny Azure Portal.
- Przejdź do zasobu wystąpienia zarządzanego SQL i wybierz pozycję Administrator usługi Active Directory w menu Ustawienia.
- Aby wyłączyć funkcję uwierzytelniania tylko firmy Microsoft, usuń zaznaczenie pola wyboru Obsługa tylko uwierzytelniania firmy Microsoft entra dla tego wystąpienia zarządzanego i Zapisz ustawienie.
Wyłączanie w usłudze SQL Database przy użyciu interfejsu wiersza polecenia platformy Azure
Aby wyłączyć uwierzytelnianie tylko firmy Microsoft w usłudze Azure SQL Database przy użyciu interfejsu wiersza polecenia platformy Azure, zobacz poniższe polecenia.
Zaloguj się do platformy Azure przy użyciu konta z rolą Menedżera zabezpieczeń SQL.
az login
Uruchom następujące polecenie, zastępując <myserver> ciąg nazwą serwera SQL i <myresource> zasobem platformy Azure, który przechowuje serwer SQL.
az sql server ad-only-auth disable --resource-group <myresource> --name <myserver>
Po wyłączeniu uwierzytelniania tylko firmy Microsoft podczas sprawdzania stanu powinny zostać wyświetlone następujące dane wyjściowe:
{
"azureAdOnlyAuthentication": false,
"/subscriptions/<guid>/resourceGroups/mygroup/providers/Microsoft.Sql/servers/myserver/azureADOnlyAuthentications/Default",
"name": "Default",
"resourceGroup": "myresource",
"type": "Microsoft.Sql/servers"
}
Wyłączanie w usłudze SQL Managed Instance przy użyciu interfejsu wiersza polecenia platformy Azure
Aby wyłączyć uwierzytelnianie tylko firmy Microsoft w usłudze Azure SQL Managed Instance przy użyciu interfejsu wiersza polecenia platformy Azure, zobacz poniższe polecenia.
Zaloguj się do platformy Azure przy użyciu konta z rolą Menedżera zabezpieczeń SQL.
az login
Uruchom następujące polecenie, zastępując <myserver> ciąg nazwą serwera SQL i <myresource> zasobem platformy Azure, który przechowuje serwer SQL.
az sql mi ad-only-auth disable --resource-group <myresource> --name <myserver>
Po wyłączeniu uwierzytelniania tylko firmy Microsoft podczas sprawdzania stanu powinny zostać wyświetlone następujące dane wyjściowe:
{
"azureAdOnlyAuthentication": false,
"id": "/subscriptions/<guid>/resourceGroups/myresource/providers/Microsoft.Sql/managedInstances/myinstance/azureADOnlyAuthentications/Default",
"name": "Default",
"resourceGroup": "myresource",
"type": "Microsoft.Sql/managedInstances"
}
Wyłączanie w usłudze SQL Database przy użyciu programu PowerShell
Aby wyłączyć uwierzytelnianie tylko firmy Microsoft w usłudze Azure SQL Database przy użyciu programu PowerShell, zobacz poniższe polecenia.
Zaloguj się do platformy Azure przy użyciu konta z rolą Menedżera zabezpieczeń SQL.
Connect-AzAccount
Uruchom następujące polecenie, zastępując <myserver> ciąg nazwą serwera SQL i <myresource> zasobem platformy Azure, który przechowuje serwer SQL.
Disable-AzSqlServerActiveDirectoryOnlyAuthentication -ServerName <myserver> -ResourceGroupName <myresource>
Wyłączanie w usłudze SQL Managed Instance przy użyciu programu PowerShell
Aby wyłączyć uwierzytelnianie tylko firmy Microsoft w usłudze Azure SQL Managed Instance przy użyciu programu PowerShell, zobacz poniższe polecenia.
Zaloguj się do platformy Azure przy użyciu konta z rolą Menedżera zabezpieczeń SQL.
Connect-AzAccount
Uruchom następujące polecenie, zastępując <myinstance> ciąg nazwą wystąpienia zarządzanego SQL i <myresource> zasobem platformy Azure, który przechowuje wystąpienie zarządzane.
Disable-AzSqlInstanceActiveDirectoryOnlyAuthentication -InstanceName <myinstance> -ResourceGroupName <myresource>
Ponownie przetestuj nawiązywanie połączenia z usługą Azure SQL
Po wyłączeniu uwierzytelniania tylko firmy Microsoft przetestuj nawiązywanie połączenia przy użyciu logowania do uwierzytelniania SQL. Teraz powinno być możliwe nawiązanie połączenia z serwerem lub wystąpieniem.
Treści powiązane