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:

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.Alloch 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 :

  1. Öppna Roller och administratörer för Microsoft Entra-ID i Azure-portalen:

  2. Skriv Katalogläsare i sökrutan och välj sedan rollen Katalogläsare för att öppna Katalogläsare | Sidan Tilldelningar :

    Screenshot of the Roles and administrators page of the Azure portal, searching for and selecting the Directory Readers role.

  3. I katalogläsarna | På sidan Tilldelningar väljer du + Lägg till tilldelningar för att öppna sidan Lägg till tilldelning .

    Screenshot of the Directory Readers page of the Azure portal.

  4. 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 .

    Screenshot of the add assignment page of the Azure portal, with No member selected highlighted.

  5. 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 .

    Screenshot searching for members to select in the Azure portal.

  6. Kontrollera att du ser din valda identitet under Välj medlemmar och välj sedan Nästa.

    Screenshot of the Add assignment page in the Azure portal, with VM2 added as an assignment.

  7. 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 .

    Screenshot of settings on the Add assignment in the Azure portal.

  8. I katalogläsarna | På sidan Tilldelningar bekräftar du att du ser den nyligen tillagda identiteten under Katalogläsare.

    Screenshot of the Directory Readers page of the Azure portal showing your VM assignment added to the role.

Lägga till approllbehörigheter

Du kan använda Azure PowerShell för att bevilja approller till en hanterad identitet. Följ stegen nedan:

  1. Sök efter Microsoft Graph

    $AAD_SP = Get-AzureADServicePrincipal -Filter "DisplayName eq 'Microsoft Graph'"
    
  2. Hämta den hanterade identiteten:

    $MSI = Get-AzureADServicePrincipal -Filter "DisplayName eq '<your managed identity display name>'"
    
  3. 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
    
  4. 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 
    
  5. 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:

  1. Gå till Microsoft Entra-ID i Azure-portalen.
  2. Välj Företagsprogram och välj sedan Alla program under Hantera.
  3. Filtrera programtypen efterManaged identities.
  4. 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:

  1. Gå till resursen för virtuella SQL-datorer i Azure-portalen.

  2. Välj Säkerhetskonfiguration under Säkerhet.

  3. Välj Aktivera under Microsoft Entra-autentisering.

  4. 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.

    Screenshot of the security configuration page for SQL VM in the Azure portal, with Microsoft Entra authentication selected.

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.Alloch Application.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: