Dela via


Hanterad identitet (förhandsversion) för SQL Server som aktiveras av Azure Arc

Gäller för: Förhandsversion av SQL Server 2025 (17.x)

I den här artikeln beskrivs hur du konfigurerar Microsoft Entra ID-hanterad identitet för SQL Server som aktiveras av Azure Arc.

Förhandsversionen av SQL Server 2025 (17.x) innehåller stöd för hanterad identitet för SQL Server i Windows. Använd en hanterad identitet för att interagera med resurser i Azure med hjälp av Microsoft Entra-autentisering.

Anmärkning

Användning av en hanterad identitet med SQL Server 2025 är för närvarande i förhandsversion.

Översikt

Förhandsversionen av SQL Server 2025 (17.x) ger stöd för Microsoft Entra-hanterade identiteter. Använd hanterade identiteter för att autentisera till Azure-tjänster utan att behöva hantera autentiseringsuppgifter. Hanterade identiteter hanteras automatiskt av Azure och kan användas för att autentisera till alla tjänster som stöder Microsoft Entra-autentisering. Med förhandsversionen av SQL Server 2025 (17.x) kan du använda hanterade identiteter både för att autentisera inkommande anslutningar och även för att autentisera utgående anslutningar till Azure-tjänster.

När du ansluter SQL Server-instansen till Azure Arc skapas automatiskt en systemtilldelad hanterad identitet för SQL Server-värdnamnet. När den hanterade identiteten har skapats måste du associera identiteten med SQL Server-instansen och Microsoft Entra-klient-ID:t genom att uppdatera registret.

Tänk på följande när du använder hanterad identitet med SQL Server aktiverat av Azure Arc:

  • Den hanterade identiteten tilldelas på Azure Arc-servernivå.
  • Endast systemtilldelade hanterade identiteter stöds.
  • SQL Server använder den här hanterade identiteten på Azure Arc-servernivå som den primära hanterade identiteten.
  • SQL Server kan använda den här primära hanterade identiteten i antingen inbound och/eller outbound anslutningar.
    • Inbound connections är användarinloggningar och användare som ansluter till SQL Server. Inkommande anslutningar kan också uppnås med appregistrering från och med SQL Server 2022 (16.x).
    • Outbound connections är SQL Server-anslutningar till Azure-resurser, till exempel säkerhetskopiering till URL eller anslutning till Azure Key Vault.
  • Appregistrering kan inte aktivera en SQL Server för att etablera utgående anslutningar. Utgående anslutningar behöver en primär hanterad identitet tilldelad till SQL Server.
  • För SQL Server 2025 och senare rekommenderar vi att du använder en hanterad identitetsbaserad Microsoft Entra-installation, enligt beskrivningen i den här artikeln. Du kan också konfigurera en appregistrering för SQL Server 2025.

Förutsättningar

Innan du kan använda en hanterad identitet med SQL Server aktiverat av Azure Arc kontrollerar du att du uppfyller följande krav:

Aktivera den primära hanterade identiteten

Om du har installerat Azure-tillägget för SQL Server på servern kan du aktivera den primära hanterade identiteten för SQL Server-instansen direkt från Azure-portalen. Det är också möjligt att aktivera den primära hanterade identiteten manuellt genom att uppdatera registret, men bör göras med stor försiktighet.

Följ dessa steg för att aktivera den primära hanterade identiteten i Azure-portalen:

  1. Gå till din SQL Server som är aktiverad av Azure Arc-resursen i Azure-portalen.

  2. Under Inställningar väljer du Microsoft Entra-ID och Purview för att öppna sidan Microsoft Entra-ID och Purview .

    Anmärkning

    Om du inte ser alternativet Aktivera Microsoft Entra-ID-autentisering kontrollerar du att SQL Server-instansen är ansluten till Azure Arc och att du har det senaste SQL-tillägget installerat.

  3. På sidan Microsoft Entra-ID och Purview markerar du kryssrutan bredvid Använd en primär hanterad identitet och använder sedan Spara för att tillämpa konfigurationen:

    Skärmbild av microsoft entra-alternativet i Azure-portalen.

Bevilja applikationsbehörigheter till identiteten

Viktigt!

Endast en privilegierad rolladministratör eller högre roll kan bevilja dessa behörigheter.

Den systemtilldelade hanterade identiteten, som använder det Arc-aktiverade datornamnet, måste ha följande Microsoft Graph-programbehörigheter (approller):

Du kan använda PowerShell för att bevilja nödvändiga behörigheter till den hanterade identiteten. Du kan också skapa en rolltilldelningsbar grupp. När gruppen har skapats tilldelar du rollen Katalogläsare eller behörigheten User.Read.All, GroupMember.Read.Alloch Application.Read.All till gruppen och lägger till alla systemtilldelade hanterade identiteter för dina Azure Arc-aktiverade datorer i gruppen. Vi rekommenderar inte att du använder rollen Katalogläsare i produktionsmiljön.

Följande PowerShell-skript ger den hanterade identiteten nödvändiga behörigheter. Kontrollera att skriptet körs på PowerShell 7.5 eller senare och att modulen Microsoft.Graph 2.28 eller senare är installerad.

# Set your Azure tenant and managed identity name
$tenantID = '<Enter-Your-Azure-Tenant-Id>'
$managedIdentityName = '<Enter-Your-Arc-HostMachine-Name>'

# Connect to Microsoft Graph
try {
    Connect-MgGraph -TenantId $tenantID -ErrorAction Stop
    Write-Output "Connected to Microsoft Graph successfully."
}
catch {
    Write-Error "Failed to connect to Microsoft Graph: $_"
    return
}

# Get Microsoft Graph service principal
$graphAppId = '00000003-0000-0000-c000-000000000000'
$graphSP = Get-MgServicePrincipal -Filter "appId eq '$graphAppId'"
if (-not $graphSP) {
    Write-Error "Microsoft Graph service principal not found."
    return
}

# Get the managed identity service principal
$managedIdentity = Get-MgServicePrincipal -Filter "displayName eq '$managedIdentityName'"
if (-not $managedIdentity) {
    Write-Error "Managed identity '$managedIdentityName' not found."
    return
}

# Define roles to assign
$requiredRoles = @(
    "User.Read.All",
    "GroupMember.Read.All",
    "Application.Read.All"
)

# Assign roles using scoped syntax
foreach ($roleValue in $requiredRoles) {
    $appRole = $graphSP.AppRoles | Where-Object {
        $_.Value -eq $roleValue -and $_.AllowedMemberTypes -contains "Application"
    }

    if ($appRole) {
        try {
            New-MgServicePrincipalAppRoleAssignment   -ServicePrincipalId $managedIdentity.Id `
                -PrincipalId $managedIdentity.Id `
                -ResourceId $graphSP.Id `
                -AppRoleId $appRole.Id `
                -ErrorAction Stop

            Write-Output "Successfully assigned role '$roleValue' to '$managedIdentityName'."
        }
        catch {
            Write-Warning "Failed to assign role '$roleValue': $_"
        }
    }
    else {
        Write-Warning "Role '$roleValue' not found in Microsoft Graph AppRoles."
    }
}

Skapa inloggningar och användare

Följ stegen i Microsoft Entra-självstudien för att skapa inlogg och användare för hanterad identitet.

Begränsningar

Tänk på följande begränsningar när du använder en hanterad identitet med SQL Server 2025:

  • Konfigurationen av hanterad identitet för Microsoft Entra-autentisering stöds endast med Azure Arc-aktiverad SQL Server 2025 som körs på Windows Server.
  • SQL Server behöver åtkomst till det offentliga Azure-molnet för att använda Microsoft Entra-autentisering.
  • Det går inte att använda Microsoft Entra-autentisering med redundansklusterinstanser.
  • När Microsoft Entra-autentisering har aktiverats rekommenderas inte inaktivering. Om du inaktiverar Microsoft Entra-autentisering med kraft genom att ta bort registerposter kan det leda till oförutsägbart beteende med SQL Server 2025.
  • För närvarande stöds inte autentisering till SQL Server på Arc-datorer via Microsoft Entra-autentisering med FIDO2-metoden .
  • OPENROWSET BULK-åtgärder kan också läsa tokenmappen C:\ProgramData\AzureConnectedMachineAgent\Tokens\. Alternativet BULK kräver antingen ADMINISTER BULK OPERATIONS eller ADMINISTER DATABASE BULK OPERATIONS behörigheter. Dessa behörigheter ska behandlas som likvärdiga med sysadmin.