Gäller för:
Azure SQL Database
Azure SQL Managed Instance
Den här artikeln vägleder dig genom att aktivera funktionen endast Microsoft Entra-autentisering i Azure SQL Database och Azure SQL Managed Instance. Om du vill etablera en SQL Database- eller SQL Managed Instance med Microsoft Entra-endast autentisering aktiverat kan du läsa Skapa server med Endast Microsoft Entra-autentisering aktiverat i Azure SQL.
I den här självstudien lär du dig att:
- Tilldela roll för att aktivera Endast Microsoft Entra-autentisering
- Aktivera Endast Microsoft Entra-autentisering med hjälp av Azure-portalen, Azure CLI eller PowerShell
- Kontrollera om Endast Microsoft Entra-autentisering är aktiverat
- Testa att ansluta till Azure SQL
- Inaktivera Endast Microsoft Entra-autentisering med hjälp av Azure-portalen, Azure CLI eller PowerShell
Förutsättningar
Tilldela roll för att aktivera Endast Microsoft Entra-autentisering
För att aktivera eller inaktivera Microsoft Entra-endast autentisering krävs valda inbyggda roller för Microsoft Entra-användare som utför dessa åtgärder i den här självstudien. Vi ska tilldela SQL Security Manager-rollen till användaren i den här självstudien.
Mer information om hur du tilldelar en roll till ett Microsoft Entra-konto finns i Tilldela administratörs- och icke-administratörsroller till användare med Microsoft Entra-ID
Mer information om den behörighet som krävs för att aktivera eller inaktivera Endast Microsoft Entra-autentisering finns i avsnittet Behörigheter i artikeln om endast Microsoft Entra-autentisering .
I vårt exempel tilldelar vi SQL Security Manager-rollen till användaren UserSqlSecurityManager@contoso.onmicrosoft.com
. Logga in på Azure-portalen med hjälp av privilegierad användare som kan tilldela Microsoft Entra-roller.
Gå till SQL Server-resursen och välj Åtkomstkontroll (IAM) på menyn. Välj knappen Lägg till och sedan Lägg till rolltilldelning i den nedrullningsbara menyn.
I fönstret Lägg till rolltilldelning väljer du Roll SQL Security Manager och väljer den användare som du vill ha möjlighet att aktivera eller inaktivera autentisering med endast Microsoft Entra.
Klicka på Spara.
Aktivera Endast Microsoft Entra-autentisering
Aktivera i SQL Database med Hjälp av Azure-portalen
Följ dessa steg för att aktivera Microsoft Entra-endast autentisering i Azure-portalen:
Använd användaren med SQL Security Manager-rollen och gå till Azure-portalen.
Gå till sql-serverresursen och välj Microsoft Entra-ID under Inställningar-menyn.
Om du inte har lagt till en Microsoft Entra-administratör måste du ange detta innan du kan aktivera autentisering endast för Microsoft Entra.
Markera kryssrutan för Endast Stöd för Microsoft Entra-autentisering för den här servern.
Popup-fönstret Aktivera endast Microsoft Entra-autentisering visas. Välj Ja för att aktivera funktionen och Spara inställningen.
Aktivera i SQL Managed Instance med Hjälp av Azure-portalen
Information om hur du aktiverar autentisering med endast Microsoft Entra i Azure-portalen finns i stegen nedan.
Använd användaren med SQL Security Manager-rollen och gå till Azure-portalen.
Gå till din SQL-hanterade instansresurs och välj Microsoft Entra-administratör under menyn Inställningar.
Om du inte har lagt till en Microsoft Entra-administratör måste du ange detta innan du kan aktivera autentisering endast för Microsoft Entra.
Markera kryssrutan Stöd endast Microsoft Entra-autentisering för den här hanterade instansen .
Popup-fönstret Aktivera endast Microsoft Entra-autentisering visas. Välj Ja för att aktivera funktionen och Spara inställningen.
Aktivera i SQL Database med Azure CLI
Information om hur du aktiverar Microsoft Entra-autentisering i Azure SQL Database med Hjälp av Azure CLI finns i kommandona nedan. Installera den senaste versionen av Azure CLI. Du måste ha Azure CLI version 2.14.2 eller senare. Mer information om dessa kommandon finns i az sql server ad-only-auth.
Mer information om hur du hanterar Endast Microsoft Entra-autentisering med API:er finns i Hantera Endast Microsoft-autentisering med API:er.
Kommentar
Microsoft Entra-administratören måste anges för servern innan microsoft Entra-autentisering aktiveras. Annars misslyckas Azure CLI-kommandot.
Behörigheter och åtgärder som krävs för att användaren ska kunna utföra dessa kommandon för att aktivera autentisering med endast Microsoft Entra finns i artikeln om endast Microsoft Entra-autentisering .
Logga in på Azure med hjälp av kontot med SQL Security Manager-rollen .
az login
Kör följande kommando, ersätt <myserver>
med sql-servernamnet och <myresource>
med din Azure-resurs som innehåller SQL-servern.
az sql server ad-only-auth enable --resource-group <myresource> --name <myserver>
Aktivera i SQL Managed Instance med Hjälp av Azure CLI
Information om hur du aktiverar Microsoft Entra-endast autentisering i Azure SQL Managed Instance med Hjälp av Azure CLI finns i kommandona nedan. Installera den senaste versionen av Azure CLI.
Logga in på Azure med hjälp av kontot med SQL Security Manager-rollen .
az login
Kör följande kommando, ersätt <myserver>
med sql-servernamnet och <myresource>
med din Azure-resurs som innehåller SQL-servern.
az sql mi ad-only-auth enable --resource-group <myresource> --name <myserver>
Aktivera i SQL Database med PowerShell
Information om hur du aktiverar Microsoft Entra-endast autentisering i Azure SQL Database med PowerShell finns i kommandona nedan. Az.Sql 2.10.0-modulen eller senare krävs för att köra dessa kommandon. Mer information om dessa kommandon finns i Enable-AzSqlInstanceActiveDirectoryOnlyAuthentication.
Mer information om hur du hanterar Endast Microsoft Entra-autentisering med API:er finns i Hantera Endast Microsoft-autentisering med API:er
Kommentar
Microsoft Entra-administratören måste anges för servern innan microsoft Entra-autentisering aktiveras. Annars misslyckas PowerShell-kommandot.
Behörigheter och åtgärder som krävs för att användaren ska kunna utföra dessa kommandon för att aktivera autentisering med endast Microsoft Entra finns i artikeln om endast Microsoft Entra-autentisering . Om användaren inte har tillräckliga behörigheter får du följande fel:
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>...'
Logga in på Azure med hjälp av kontot med SQL Security Manager-rollen .
Connect-AzAccount
Kör följande kommando, ersätt <myserver>
med sql-servernamnet och <myresource>
med din Azure-resurs som innehåller SQL-servern.
Enable-AzSqlServerActiveDirectoryOnlyAuthentication -ServerName <myserver> -ResourceGroupName <myresource>
Aktivera i SQL Managed Instance med PowerShell
Information om hur du aktiverar Microsoft Entra-endast autentisering i Azure SQL Managed Instance med Hjälp av PowerShell finns i kommandona nedan. Az.Sql 2.10.0-modulen eller senare krävs för att köra dessa kommandon.
Mer information om hur du hanterar Endast Microsoft Entra-autentisering med API:er finns i Hantera Endast Microsoft-autentisering med API:er.
Logga in på Azure med hjälp av kontot med SQL Security Manager-rollen .
Connect-AzAccount
Kör följande kommando och ersätt <myinstance>
med ditt SQL Managed Instance-namn och <myresource>
med din Azure-resurs som innehåller den SQL-hanterade instansen.
Enable-AzSqlInstanceActiveDirectoryOnlyAuthentication -InstanceName <myinstance> -ResourceGroupName <myresource>
Kontrollera autentiseringsstatusen endast för Microsoft Entra
Kontrollera om Microsoft Entra-endast autentisering är aktiverat för servern eller instansen.
Kontrollera status i SQL Database
Gå till sql-serverresursen i Azure-portalen. Välj Microsoft Entra-ID under menyn Inställningar.
Kontrollera status i SQL Managed Instance
Gå till din SQL-hanterade instansresurs i Azure-portalen. Välj Microsoft Entra-administratör under menyn Inställningar.
Dessa kommandon kan användas för att kontrollera om Microsoft Entra-endast autentisering är aktiverat för din logiska server för Azure SQL Database eller SQL Managed Instance. Medlemmar i rollerna SQL Server-deltagare och SQL Managed Instance-deltagare kan använda dessa kommandon för att kontrollera statusen för Microsoft Entra-endast autentisering, men kan inte aktivera eller inaktivera funktionen.
Kontrollera status i SQL Database
Logga in på Azure med hjälp av kontot med SQL Security Manager-rollen . Mer information om hur du hanterar Endast Microsoft Entra-autentisering med API:er finns i Hantera Endast Microsoft-autentisering med API:er
az login
Kör följande kommando, ersätt <myserver>
med sql-servernamnet och <myresource>
med din Azure-resurs som innehåller SQL-servern.
az sql server ad-only-auth get --resource-group <myresource> --name <myserver>
Du bör se följande utdata:
{
"azureAdOnlyAuthentication": true,
"/subscriptions/<guid>/resourceGroups/mygroup/providers/Microsoft.Sql/servers/myserver/azureADOnlyAuthentications/Default",
"name": "Default",
"resourceGroup": "myresource",
"type": "Microsoft.Sql/servers"
}
Kontrollera status i SQL Managed Instance
Logga in på Azure med hjälp av kontot med SQL Security Manager-rollen .
az login
Kör följande kommando, ersätt <myserver>
med sql-servernamnet och <myresource>
med din Azure-resurs som innehåller SQL-servern.
az sql mi ad-only-auth get --resource-group <myresource> --name <myserver>
Du bör se följande utdata:
{
"azureAdOnlyAuthentication": true,
"id": "/subscriptions/<guid>/resourceGroups/myresource/providers/Microsoft.Sql/managedInstances/myinstance/azureADOnlyAuthentications/Default",
"name": "Default",
"resourceGroup": "myresource",
"type": "Microsoft.Sql/managedInstances"
}
Dessa kommandon kan användas för att kontrollera om Microsoft Entra-endast autentisering är aktiverat för din logiska server för Azure SQL Database eller SQL Managed Instance. Medlemmar i rollerna SQL Server-deltagare och SQL Managed Instance-deltagare kan använda dessa kommandon för att kontrollera statusen för Microsoft Entra-endast autentisering, men kan inte aktivera eller inaktivera funktionen.
Statusen returnerar Sant om funktionen är aktiverad och False om den är inaktiverad.
Kontrollera status i SQL Database
Logga in på Azure med hjälp av kontot med SQL Security Manager-rollen . Mer information om hur du hanterar Endast Microsoft Entra-autentisering med API:er finns i Hantera Endast Microsoft-autentisering med API:er
Connect-AzAccount
Kör följande kommando, ersätt <myserver>
med sql-servernamnet och <myresource>
med din Azure-resurs som innehåller SQL-servern.
Get-AzSqlServerActiveDirectoryOnlyAuthentication -ServerName <myserver> -ResourceGroupName <myresource>
Kontrollera status i SQL Managed Instance
Logga in på Azure med hjälp av kontot med SQL Security Manager-rollen .
Connect-AzAccount
Kör följande kommando och ersätt <myinstance>
med ditt SQL Managed Instance-namn och <myresource>
med din Azure-resurs som innehåller den SQL-hanterade instansen.
Get-AzSqlInstanceActiveDirectoryOnlyAuthentication -InstanceName <myinstance> -ResourceGroupName <myresource>
Testa SQL-autentisering med anslutningsfel
När du har aktiverat Microsoft Entra-endast autentisering testar du med SQL Server Management Studio (SSMS) för att ansluta till din SQL Database eller SQL Managed Instance. Använd SQL-autentisering för anslutningen.
Du bör se ett meddelande om inloggningsfel som liknar följande utdata:
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)
Inaktivera Endast Microsoft Entra-autentisering
Genom att inaktivera autentiseringsfunktionen endast Microsoft Entra tillåter du både SQL-autentisering och Microsoft Entra-autentisering för Azure SQL.
Inaktivera i SQL Database med Hjälp av Azure-portalen
- Använd användaren med SQL Security Manager-rollen och gå till Azure-portalen.
- Gå till sql-serverresursen och välj Microsoft Entra-ID under Inställningar-menyn.
- Om du vill inaktivera autentiseringsfunktionen endast Microsoft Entra avmarkerar du kryssrutan Endast Microsoft Entra-autentisering för den här servern och sparar inställningen.
Inaktivera i SQL Managed Instance med Hjälp av Azure-portalen
- Använd användaren med SQL Security Manager-rollen och gå till Azure-portalen.
- Gå till din SQL-hanterade instansresurs och välj Active Directory-administratör under menyn Inställningar.
- Om du vill inaktivera autentiseringsfunktionen endast Microsoft Entra avmarkerar du kryssrutan Endast Microsoft Entra-autentisering för den här hanterade instansen och sparar inställningen.
Inaktivera i SQL Database med Hjälp av Azure CLI
Information om hur du inaktiverar Microsoft Entra-autentisering i Azure SQL Database med Azure CLI finns i kommandona nedan.
Logga in på Azure med hjälp av kontot med SQL Security Manager-rollen .
az login
Kör följande kommando, ersätt <myserver>
med sql-servernamnet och <myresource>
med din Azure-resurs som innehåller SQL-servern.
az sql server ad-only-auth disable --resource-group <myresource> --name <myserver>
När du har inaktiverat Microsoft Entra-endast autentisering bör du se följande utdata när du kontrollerar statusen:
{
"azureAdOnlyAuthentication": false,
"/subscriptions/<guid>/resourceGroups/mygroup/providers/Microsoft.Sql/servers/myserver/azureADOnlyAuthentications/Default",
"name": "Default",
"resourceGroup": "myresource",
"type": "Microsoft.Sql/servers"
}
Inaktivera i SQL Managed Instance med Hjälp av Azure CLI
Information om hur du inaktiverar Microsoft Entra-endast autentisering i Azure SQL Managed Instance med Azure CLI finns i kommandona nedan.
Logga in på Azure med hjälp av kontot med SQL Security Manager-rollen .
az login
Kör följande kommando, ersätt <myserver>
med sql-servernamnet och <myresource>
med din Azure-resurs som innehåller SQL-servern.
az sql mi ad-only-auth disable --resource-group <myresource> --name <myserver>
När du har inaktiverat Microsoft Entra-endast autentisering bör du se följande utdata när du kontrollerar statusen:
{
"azureAdOnlyAuthentication": false,
"id": "/subscriptions/<guid>/resourceGroups/myresource/providers/Microsoft.Sql/managedInstances/myinstance/azureADOnlyAuthentications/Default",
"name": "Default",
"resourceGroup": "myresource",
"type": "Microsoft.Sql/managedInstances"
}
Inaktivera i SQL Database med PowerShell
Information om hur du inaktiverar Microsoft Entra-autentisering i Azure SQL Database med PowerShell finns i kommandona nedan.
Logga in på Azure med hjälp av kontot med SQL Security Manager-rollen .
Connect-AzAccount
Kör följande kommando, ersätt <myserver>
med sql-servernamnet och <myresource>
med din Azure-resurs som innehåller SQL-servern.
Disable-AzSqlServerActiveDirectoryOnlyAuthentication -ServerName <myserver> -ResourceGroupName <myresource>
Inaktivera i SQL Managed Instance med PowerShell
Information om hur du inaktiverar Microsoft Entra-endast autentisering i Azure SQL Managed Instance med hjälp av PowerShell finns i kommandona nedan.
Logga in på Azure med hjälp av kontot med SQL Security Manager-rollen .
Connect-AzAccount
Kör följande kommando och ersätt <myinstance>
med ditt SQL Managed Instance-namn och <myresource>
med din Azure-resurs som innehåller den hanterade instansen.
Disable-AzSqlInstanceActiveDirectoryOnlyAuthentication -InstanceName <myinstance> -ResourceGroupName <myresource>
Testa att ansluta till Azure SQL igen
När du har inaktiverat Microsoft Entra-endast autentisering testar du att ansluta med hjälp av en SQL-autentiseringsinloggning. Nu bör du kunna ansluta till servern eller instansen.
Nästa steg