Dela via


Microsoft Entra-exklusiv autentisering med Azure SQL

Gäller för:Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics (endast dedikerade SQL-pooler)

Microsoft Entra-endast autentisering är en funktion i Azure SQL som gör att tjänsten endast stöder Microsoft Entra-autentisering och stöds för Azure SQL Database och Azure SQL Managed Instance.

Anmärkning

Microsoft Entra-ID kallades tidigare Azure Active Directory (Azure AD).

Microsoft Entra-endast autentisering är också tillgängligt för dedikerade SQL-pooler (tidigare SQL DW) på fristående servrar. Endast Microsoft Entra-autentisering kan aktiveras för Azure Synapse-arbetsytan. För mer information, se autentisering endast med Microsoft Entra och Azure Synapse-arbetsytor.

SQL-autentisering inaktiveras när endast Microsoft Entra-autentisering aktiveras i Azure SQL-miljön, inklusive anslutningar från SQL Server-administratörer, inloggningar och användare. Endast användare som använder Microsoft Entra-autentisering har behörighet att ansluta till servern eller databasen.

Endast Microsoft Entra-autentisering kan aktiveras eller inaktiveras med hjälp av Azure-portalen, Azure CLI, PowerShell eller REST API. Endast Microsoft Entra-autentisering kan också konfigureras när servern skapas med en ARM-mall (Azure Resource Manager).

Mer information om Azure SQL-autentisering finns i Autentisering och auktorisering.

Funktionsbeskrivning

När du aktiverar Endast Microsoft Entra-autentisering inaktiveras SQL-autentisering på server- eller hanterad instansnivå och förhindrar all autentisering baserat på autentiseringsuppgifter för SQL-autentisering. SQL-autentiseringsanvändare kommer inte att kunna ansluta till den logiska servern för Azure SQL Database eller hanterad instans, inklusive alla dess databaser. Även om SQL-autentisering är inaktiverat kan nya SQL-autentiseringsinloggningar och användare fortfarande skapas av Microsoft Entra-konton med rätt behörighet. Nyligen skapade SQL-autentiseringskonton tillåts inte att ansluta till servern. Om du aktiverar Endast Microsoft Entra-autentisering tar du inte bort befintliga inloggnings- och användarkonton för SQL-autentisering. Funktionen hindrar endast dessa konton från att ansluta till servern och alla databaser som skapats för den här servern.

Du kan också tvinga servrar att skapas med Microsoft Entra-autentisering aktiverad endast, med hjälp av Azure Policy. Mer information finns i Azure Policy for Microsoft Entra-only authentication with Azure SQL.

Permissions

Microsoft Entra-endast autentisering kan aktiveras eller inaktiveras av Microsoft Entra-användare som är medlemmar i inbyggda roller i Microsoft Entra, till exempel Ägare och deltagare i Azure-prenumerationer. Dessutom kan rollen SQL Security Manager även aktivera eller inaktivera autentiseringsfunktionen för endast Microsoft Entra.

Rollerna SQL Server-deltagare och SQL Managed Instance-deltagare har inte behörighet att aktivera eller inaktivera funktionen för autentisering endast för Microsoft Entra. Detta är förenligt med metoden För separation av uppgifter , där användare som kan skapa en Azure SQL-server eller skapa en Microsoft Entra-administratör inte kan aktivera eller inaktivera säkerhetsfunktioner.

Åtgärder som krävs

Följande åtgärder läggs till i rollen SQL Security Manager för att möjliggöra hanteringen av autentiseringsfunktionen exklusivt för Microsoft Entra.

  • Microsoft.Sql/servers/azureADOnlyAuthentications/*
  • Microsoft.Sql/servers/administrators/read – krävs endast för användare som har åtkomst till Microsoft Entra-ID-menyn i Azure-portalen
  • Microsoft.Sql/managedInstances/azureADOnlyAuthentications/*
  • Microsoft.Sql/managedInstances/read

Ovanstående åtgärder kan också läggas till i en anpassad roll för att hantera Endast Microsoft Entra-autentisering. Mer information finns i Skapa och tilldela en anpassad roll i Microsoft Entra-ID.

Hantera Endast Microsoft Entra-autentisering med API:er

Viktigt!

Microsoft Entra-administratören måste anges innan Microsoft Entra-autentisering aktiveras.

Du måste ha Azure CLI version 2.14.2 eller senare.

name motsvarar prefixet för servern eller instansnamnet (till exempel myserver) och resource-group motsvarar den resurs som servern tillhör (till exempel myresource).

Azure SQL Database

För mer information, se az sql server ad-only-auth.

Aktivera eller inaktivera i SQL Database

Enable

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

Disable

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

Kontrollera statusen i SQL Database

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

Hanterad instans i Azure SQL

För mer information, se az sql mi ad-only-auth.

Enable

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

Disable

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

Kontrollera statusen i SQL Managed Instance

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

Verifiera autentisering endast med Microsoft Entra med hjälp av T-SQL

SERVERPROPERTYIsExternalAuthenticationOnly har lagts till för att kontrollera om Endast Microsoft Entra-autentisering är aktiverat för servern eller den hanterade instansen. 1 anger att funktionen är aktiverad och 0 representerar att funktionen är inaktiverad.

SELECT SERVERPROPERTY('IsExternalAuthenticationOnly')

Anmärkningar

  • En SQL Server-deltagare kan ange eller ta bort en Microsoft Entra-administratör, men kan inte ange inställningen Endast Microsoft Entra-autentisering . SQL Security Manager kan inte ange eller ta bort en Microsoft Entra-administratör, men kan ange inställningen Endast Microsoft Entra-autentisering. Endast konton med högre Azure RBAC-roller eller anpassade roller som innehåller båda behörigheterna kan ange eller ta bort en Microsoft Entra-administratör och ange inställningen Endast Microsoft Entra-autentisering . En sådan roll är Deltagare.
  • När du har aktiverat eller inaktiverat Microsoft Entra-autentisering endast i Azure-portalen visas en aktivitetsloggpostSQL Server-menyn . Skärmbild från Azure-portalen för aktivitetsloggposten.
  • Inställningen Endast Microsoft Entra-autentisering kan bara aktiveras eller inaktiveras av användare med rätt behörighet om Microsoft Entra-administratören har angetts. Om Microsoft Entra-administratören inte har angetts förblir inställningen endast Microsoft Entra-autentisering inaktiv och kan inte aktiveras eller inaktiveras. Användning av API:er för att aktivera Microsoft Entra-autentisering misslyckas också om Microsoft Entra-administratören inte har konfigurerats.
  • Om du ändrar en Microsoft Entra-administratör när Endast Microsoft Entra-autentisering är aktiverat stöds det för användare med lämpliga behörigheter.
  • Det är tillåtet att ändra en Microsoft Entra-administratör och aktivera eller inaktivera Endast Microsoft Entra-autentisering i Azure-portalen för användare med rätt behörighet. Båda åtgärderna kan slutföras med en Spara i Azure-portalen. Microsoft Entra-administratören måste anges för att kunna aktivera autentisering endast för Microsoft Entra.
  • Det är inte möjligt att ta bort en Microsoft Entra-administratör när funktionen för endast Microsoft Entra-autentisering är aktiverad. Det går inte att använda ett API för att ta bort en Microsoft Entra-administratör om Endast Microsoft Entra-autentisering är aktiverat.
    • Om inställningen Endast Microsoft Entra-autentisering är aktiverad är knappen Ta bort administratör inaktiv i Azure-portalen.
  • Det är tillåtet att ta bort en Microsoft Entra-administratör och inaktivera inställningen endast Microsoft Entra-autentisering , men kräver rätt användarbehörighet för att slutföra åtgärderna. Båda åtgärderna kan slutföras med en Spara i Azure-portalen.
  • Microsoft Entra-användare med rätt behörighet kan personifiera befintliga SQL-användare.
    • Personifieringen fortsätter att fungera mellan SQL-autentiseringsanvändare även när Microsoft Entra-endast autentiseringsfunktionen är aktiverad.

Begränsningar för autentisering som endast är för Microsoft Entra i SQL-databas

När Endast Microsoft Entra-autentisering är aktiverat för SQL Database stöds inte följande funktioner:

  • Azure SQL Database-serverroller för behörighetshantering stöds för Microsoft Entra-serverprincipaler, men inte om Microsoft Entra-inloggningen är en del av en grupp.
  • Elastiska jobb i Azure SQL Database
  • SQL Data Sync
  • Ändra datainsamling (CDC) – Om du skapar en databas i Azure SQL Database som en Microsoft Entra-användare och aktiverar insamling av ändringsdata på den kan en SQL-användare inte inaktivera eller göra ändringar i CDC-artefakter. En annan Microsoft Entra-användare kan dock aktivera eller inaktivera CDC på samma databas. På samma sätt fungerar inte aktivering eller inaktivering av CDC som Microsoft Entra-användare om du skapar en Azure SQL Database som SQL-användare
  • Transaktionsreplikering med Azure SQL Managed Instance – Eftersom SQL-autentisering krävs för anslutning mellan replikeringsdeltagare, när Endast Microsoft Entra-autentisering är aktiverat, stöds inte transaktionsreplikering för SQL Database för scenarier där transaktionsreplikering används för att skicka ändringar som görs i en Hanterad Azure SQL-instans, lokal SQL Server eller en SQL Server-instans för virtuella Azure-datorer till en databas i Azure SQL Database
  • SQL Insights (förhandsversion)
  • EXEC AS redogörelse för Microsoft Entra-gruppmedlemskonton

Begränsningar för Endast Microsoft Entra-autentisering i Azure SQL Managed Instance

När Endast Microsoft Entra-autentisering är aktiverat för SQL Managed Instance stöds inte följande funktioner:

Fler begränsningar finns i T-SQL-skillnader mellan SQL Server och Azure SQL Managed Instance.