Freigeben über


Einrichten von verwalteten Identitäten und Microsoft Entra-Authentifizierung für SQL Server, aktiviert durch Azure Arc

Gilt für: SQL Server 2025 (17,x)

Dieser Artikel enthält schrittweise Anleitungen zum Einrichten und Konfigurieren der von Microsoft Entra ID verwalteten Identität für SQL Server, die durch Azure Arc aktiviert wird.

Eine Übersicht über verwaltete Identitäten mit SQL Server finden Sie unter Managed Identity for SQL Server enabled by Azure Arc.

Voraussetzungen

Bevor Sie eine verwaltete Identität mit SQL Server durch Azure Arc aktivieren können, stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllen:

Aktivieren der primären verwalteten Identität

Wenn Sie die Azure-Erweiterung für SQL Server auf Ihrem Server installiert haben, können Sie die primäre verwaltete Identität für Ihre SQL Server Instanz direkt über das Azure Portal aktivieren. Es ist auch möglich, die primäre verwaltete Identität manuell zu aktivieren, indem sie die Registrierung aktualisiert, sollte jedoch mit äußerster Vorsicht ausgeführt werden.

Führen Sie die folgenden Schritte aus, um die primäre verwaltete Identität im Azure-Portal zu aktivieren:

  1. Navigieren Sie zu Ihrer Ressource SQL Server aktiviert durch Azure Arc im Azure-Portal.

  2. Wählen Sie unter SettingsMicrosoft Entra ID und Purview aus, um die Seite Microsoft Entra ID und Purview zu öffnen.

    Hinweis

    Wenn die Option Enable Microsoft Entra ID Authentifizierung nicht angezeigt wird, stellen Sie sicher, dass Ihre SQL Server Instanz mit Azure Arc verbunden ist und die neueste SQL-Erweiterung installiert ist.

  3. Aktivieren Sie auf der Seite Microsoft Entra ID und Purview das Kontrollkästchen neben Primäre verwaltete Identität verwenden und verwenden Sie dann Speichern, um Ihre Konfiguration anzuwenden:

    Screenshot der Option Microsoft Entra im Azure portal.

Berechtigung für die Identität gewähren

Von Bedeutung

Nur ein Privilegierter Rollenadministrator oder eine höhere Rolle kann diese Berechtigungen erteilen.

Um Microsoft Entra Authentifizierung für SQL Server Instanzen zu aktivieren, erfordert jede vom System zugewiesene verwaltete Identität User.Read.All, GroupMember.Read.All und Application.Read.All Berechtigungen zum Abfragen von Microsoft Graph. Weitere Informationen zu diesen Berechtigungen finden Sie unter:

  • User.Read.All: Ermöglicht den Zugriff auf Microsoft Entra Benutzerinformationen.
  • GroupMember.Read.All: Ermöglicht den Zugriff auf Microsoft Entra Gruppeninformationen.
  • Application.Read.All: Ermöglicht den Zugriff auf Microsoft Entra Dienstprinzipalinformationen (Anwendung).

Diese Berechtigungen sind Berechtigungen auf Anwendungsebene (App-Rollen) und müssen direkt jeder verwalteten Identität zugewiesen werden. Sie können einer Microsoft Entra Sicherheitsgruppe nicht manuell zugewiesen und Mitgliedern über die Gruppenmitgliedschaft gewährt werden. Für Umgebungen mit vielen Maschinen besteht die Alternative darin, die Directory Readers-Rolle zu einer role-assignable Microsoft Entra Sicherheitsgruppe zuzuweisen und das Hinzufügen der verwalteten Identitäten als Mitglieder. Im Gegensatz zu App-Rollenberechtigungen kann diese Microsoft Entra Rolle auf Gruppenebene gewährt werden, was die Verwaltung im großen Maßstab vereinfacht. Directory Readers gewährt jedoch allen Verzeichnisobjekten einen umfassenden Lesezugriff, der die drei gezielten Graph-API Berechtigungen erheblich überschreitet. Die Rolle " Verzeichnisleser " wird für Produktionsumgebungen nicht empfohlen, in denen der Zugriff auf die geringsten Rechte erforderlich ist.

Das folgende PowerShell-Skript gewährt die erforderlichen Berechtigungen für die verwaltete Identität. Stellen Sie sicher, dass dieses Skript auf PowerShell 7.5 oder einer höheren Version ausgeführt wird und das Microsoft.Graph Modul 2.28 oder höher installiert ist.

# 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."
    }
}

Logins und Benutzer*innen erstellen

Führen Sie die Schritte im Lernprogramm Microsoft Entra aus, um Anmeldeinformationen und Benutzer für die verwaltete Identität zu erstellen.