Aktivera Microsoft Entra-autentisering för SQL Server på virtuella Azure-datorer
Gäller för:SQL Server på en virtuell Azure-dator
I den här artikeln lär du dig att aktivera autentisering med Microsoft Entra-ID (tidigare Azure Active Directory) för din SQL Server på virtuella Azure-datorer (VM).
Översikt
Från och med SQL Server 2022 kan du ansluta till SQL Server på virtuella Azure-datorer med någon av följande Microsoft Entra-autentiseringsmetoder:
- Lösenord erbjuder autentisering med Microsoft Entra-autentiseringsuppgifter
- Universal med MFA lägger till multifaktorautentisering
- Integrerade använder federationsprovidrar som Active Directory Federation Services (AD FS) (ADFS) för att aktivera enkel inloggning (SSO)
- Tjänstens huvudnamn aktiverar autentisering från Azure-program
- Hanterad identitet möjliggör autentisering från program som tilldelats Microsoft Entra-identiteter
När du skapar en Microsoft Entra-inloggning för SQL Server och när en användare ansluter med den inloggningen använder SQL Server en hanterad identitet för att fråga Microsoft Graph. När du aktiverar Microsoft Entra-autentisering för din SQL Server på en virtuell Azure-dator måste du ange en hanterad identitet som SQL Server kan använda för att kommunicera med Microsoft Entra-ID. Den här hanterade identiteten måste ha behörighet att fråga Microsoft Graph.
När du aktiverar en hanterad identitet för en resurs i Azure är säkerhetsgränsen för identiteten den resurs som den är kopplad till. Säkerhetsgränsen för en virtuell dator med hanterade identiteter för Azure-resurser aktiverade är till exempel den virtuella datorn. All kod som körs på den virtuella datorn kan anropa slutpunkten för hanterade identiteter och begära token. När du aktiverar en hanterad identitet för SQL Server på virtuella Azure-datorer kopplas identiteten till den virtuella datorn, så säkerhetsgränsen är den virtuella datorn. Upplevelsen liknar den när du arbetar med andra resurser som stöder hanterade identiteter. Mer information finns i vanliga frågor och svar om hanterade identiteter.
De systemtilldelade och användartilldelade hanterade identiteterna som används för Microsoft Entra-autentisering med SQL Server på virtuella Azure-datorer medför följande fördelar:
- Systemtilldelad hanterad identitet erbjuder en förenklad konfigurationsprocess. Eftersom den hanterade identiteten har samma livslängd som den virtuella datorn behöver du inte ta bort den separat när du tar bort den virtuella datorn.
- Användartilldelad hanterad identitet erbjuder skalbarhet eftersom den kan kopplas till och användas för Microsoft Entra-autentisering för flera SQL Server på virtuella Azure-datorer.
Kom igång med hanterade identiteter genom att läsa Konfigurera hanterade identiteter med hjälp av Azure-portalen.
Förutsättningar
Om du vill aktivera Microsoft Entra-autentisering på din SQL Server behöver du följande krav:
- Använd SQL Server 2022.
- Registrera en virtuell SQL Server-dator med SQL Server Iaas Agent-tillägget.
- Ha en befintlig systemtilldelad eller användartilldelad hanterad identitet i samma Microsoft Entra-klientorganisation som din virtuella SQL Server-dator. Konfigurera hanterade identiteter med hjälp av Azure-portalen om du vill veta mer.
- Azure CLI 2.48.0 eller senare om du tänker använda Azure CLI för att konfigurera Microsoft Entra-autentisering för din virtuella SQL Server-dator.
Bevilja behörigheter
Den hanterade identitet som du väljer för att underlätta autentiseringen mellan SQL Server och Microsoft Entra ID måste ha följande tre Microsoft Graph-programbehörigheter (approller): User.ReadALL
, GroupMember.Read.All
och Application.Read.All
.
Du kan också lägga till den hanterade identiteten i rollen Microsoft Entra Directory-läsare. Ett annat sätt att tilldela rollen Katalogläsare till en hanterad identitet är att tilldela rollen Katalogläsare till en grupp i Microsoft Entra-ID. Gruppägarna kan sedan lägga till den hanterade identiteten för virtuell dator som medlem i den här gruppen. Detta minimerar involverande Microsoft Entra Global-administratörer och delegerar ansvaret till gruppägarna.
Lägga till hanterad identitet i rollen
I det här avsnittet beskrivs hur du lägger till din hanterade identitet i rollen Katalogläsare i Microsoft Entra-ID. Du måste ha behörighet som global administratör för att göra ändringar i rolltilldelningarna katalogläsare. Om du inte har tillräcklig behörighet kan du samarbeta med Microsoft Entra-administratören för att följa dessa steg.
Följ dessa steg för att ge den hanterade identiteten rollen Katalogläsare :
Öppna Roller och administratörer för Microsoft Entra-ID i Azure-portalen:
Skriv Katalogläsare i sökrutan och välj sedan rollen Katalogläsare för att öppna Katalogläsare | Sidan Tilldelningar :
I katalogläsarna | På sidan Tilldelningar väljer du + Lägg till tilldelningar för att öppna sidan Lägg till tilldelning .
På sidan Lägg till tilldelningar väljer du Ingen medlem markerad under Välj medlemmar för att öppna sidan Välj en medlem .
På sidan Välj en medlem söker du efter namnet på den hanterade identitet som du vill använda med din virtuella SQL Server-dator och lägger till den i rollen Katalogläsare . Sök efter namnet på den virtuella datorn efter systemtilldelade hanterade identiteter. Använd Välj för att bekräfta identiteten och gå tillbaka till sidan Lägg till tilldelningar .
Kontrollera att du ser din valda identitet under Välj medlemmar och välj sedan Nästa.
Kontrollera att tilldelningstypen är inställd på Aktiv och att rutan bredvid Permanent tilldelad är markerad . Ange en affärsmotivering, till exempel Lägga till rollbehörigheter för katalogläsare till den systemtilldelade identiteten för VM2 och välj sedan Tilldela för att spara inställningarna och gå tillbaka till Katalogläsare | Sidan Tilldelningar .
I katalogläsarna | På sidan Tilldelningar bekräftar du att du ser den nyligen tillagda identiteten under Katalogläsare.
Lägga till approllbehörigheter
Du kan använda Azure PowerShell för att bevilja approller till en hanterad identitet. Följ stegen nedan:
Sök efter Microsoft Graph
$AAD_SP = Get-AzureADServicePrincipal -Filter "DisplayName eq 'Microsoft Graph'"
Hämta den hanterade identiteten:
$MSI = Get-AzureADServicePrincipal -Filter "DisplayName eq '<your managed identity display name>'"
User.Read.All
Tilldela rollen till identiteten:$AAD_AppRole = $AAD_SP.AppRoles | Where-Object {$_.Value -eq "User.Read.All"} New-AzureADServiceAppRoleAssignment -ObjectId $MSI.ObjectId -PrincipalId $MSI.ObjectId -ResourceId $AAD_SP.ObjectId -Id $AAD_AppRole.Id
Tilldela
GroupMember.Read.All
rollen till identiteten:$AAD_AppRole = $AAD_SP.AppRoles | Where-Object {$_.Value -eq "GroupMember.Read.All"} New-AzureADServiceAppRoleAssignment -ObjectId $MSI.ObjectId -PrincipalId $MSI.ObjectId -ResourceId $AAD_SP.ObjectId -Id $AAD_AppRole.Id
Tilldela
Application.Read.All
rollen till identiteten:$AAD_AppRole = $AAD_SP.AppRoles | Where-Object {$_.Value -eq "Application.Read.All"} New-AzureADServiceAppRoleAssignment -ObjectId $MSI.ObjectId -PrincipalId $MSI.ObjectId -ResourceId $AAD_SP.ObjectId -Id $AAD_AppRole.Id
Du kan verifiera att behörigheter har tilldelats till den hanterade identiteten genom att göra följande:
- Gå till Microsoft Entra-ID i Azure-portalen.
- Välj Företagsprogram och välj sedan Alla program under Hantera.
- Filtrera programtypen efter
Managed identities
. - Välj den hanterade identiteten och välj sedan Behörigheter under Säkerhet. Du bör se följande behörigheter:
User.Read.All
,GroupMember.Read.All
,Application.Read.All
.
Aktivera utgående kommunikation
För att Microsoft Entra-autentisering ska fungera behöver du följande:
- Utgående kommunikation från SQL Server till Microsoft Entra-ID och Microsoft Graph-slutpunkten.
- Utgående kommunikation från SQL-klienten till Microsoft Entra-ID.
Standardkonfigurationer för virtuella Azure-datorer tillåter utgående kommunikation till Microsoft Graph-slutpunkten samt Microsoft Entra-ID, men vissa användare väljer att begränsa utgående kommunikation antingen med hjälp av en brandvägg på OPERATIVSYSTEMnivå eller Azure VNet-nätverkssäkerhetsgruppen (NSG).
Brandväggar på den virtuella SQL Server-datorn och alla SQL-klienter måste tillåta utgående trafik på portarna 80 och 443.
Azure VNet NSG-regeln för det virtuella nätverk som är värd för din virtuella SQL Server-dator bör ha följande:
- En tjänsttagg på
AzureActiveDirectory
. - Målportintervall på: 80, 443.
- Åtgärd inställd på Tillåt.
- Hög prioritet (vilket är ett lågt tal).
Aktivera Microsoft Entra-autentisering
Du kan aktivera Microsoft Entra-autentisering till din virtuella SQL Server-dator med hjälp av Azure-portalen eller Azure CLI.
Kommentar
När Microsoft Entra-autentisering har aktiverats kan du följa samma steg i det här avsnittet för att ändra konfigurationen så att den använder en annan hanterad identitet.
Följ dessa steg för att aktivera Microsoft Entra-autentisering till din virtuella SQL Server-dator:
Gå till resursen för virtuella SQL-datorer i Azure-portalen.
Välj Säkerhetskonfiguration under Säkerhet.
Välj Aktivera under Microsoft Entra-autentisering.
Välj den hanterade identitetstypen i listrutan, antingen Systemtilldelad eller Användartilldelad. Om du väljer användartilldelad väljer du den identitet som du vill använda för att autentisera till SQL Server på den virtuella Azure-datorn från listrutan Användartilldelad hanterad identitet som visas.
När Microsoft Entra-autentisering har aktiverats kan du följa samma steg för att ändra vilken hanterad identitet som kan autentiseras till din virtuella SQL Server-dator.
Kommentar
Felet The selected managed identity does not have enough permissions for Microsoft Entra authentication
anger att behörigheterna inte har tilldelats korrekt till den identitet som du har valt. Kontrollera avsnittet Bevilja behörigheter för att tilldela rätt behörigheter.
Begränsningar
Tänk på följande begränsningar finns:
- Microsoft Entra-autentisering stöds endast med SQL Server 2022 som körs på virtuella Windows-datorer som är registrerade med SQL IaaS Agent-tillägget och distribueras till det offentliga molnet. Endast scenarier som stöds för SQL IaaS Agent-tillägget stöds, till exempel en standardinstans eller en enda namngiven instans.
- Den identitet som du väljer att autentisera till SQL Server måste ha rollen Katalogläsare i Microsoft Entra-ID eller följande tre Microsoft Graph-programbehörigheter (approller):
User.ReadALL
,GroupMember.Read.All
ochApplication.Read.All
. - När Microsoft Entra-autentisering har aktiverats går det inte att inaktivera den.
- För närvarande stöds inte autentisering till SQL Server på virtuella Azure-datorer via Microsoft Entra-autentisering med FIDO2-metoden .
Nästa steg
Granska metodtipsen för säkerhet för SQL Server.
Andra artiklar som rör körning av SQL Server på virtuella Azure-datorer finns i Översikt över SQL Server på Virtuella Azure-datorer. Om du har frågor om virtuella SQL Server-datorer kan du läsa vanliga frågor och svar.
Mer information finns i de andra artiklarna i den här serien med metodtips: