Konfigurera hanterad identitet och Microsoft Entra-autentisering för SQL Server som aktiveras av Azure Arc

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

Den här artikeln innehåller stegvisa instruktioner för att ställa in och konfigurera den hanterade identiteten för Microsoft Entra ID till SQL Server aktiverad av Azure Arc.

En översikt över hanterad identitet med SQL Server finns i Hanterad identitet för SQL Server som aktiveras av Azure Arc.

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.