Condividi tramite


Identità gestita (anteprima) per SQL Server abilitata da Azure Arc

Si applica a: Anteprima di SQL Server 2025 (17.x)

Questo articolo descrive come configurare un'identità gestita per SQL Server abilitata da Azure Arc.

SQL Server 2025 (17.x) Preview include il supporto delle identità gestite per SQL Server in Windows. Usare un'identità gestita per interagire con le risorse in Azure usando l'autenticazione Di Microsoft Entra.

Annotazioni

L'uso di un'identità gestita con SQL Server 2025 è attualmente in anteprima.

Informazioni generali

SQL Server 2025 (17.x) Preview introduce il supporto per le identità gestite di Microsoft Entra. Usare le identità gestite per eseguire l'autenticazione ai servizi di Azure senza dover gestire le credenziali. Le identità gestite vengono gestite automaticamente da Azure e possono essere usate per l'autenticazione a qualsiasi servizio che supporti l'autenticazione di Microsoft Entra. Con l'anteprima di SQL Server 2025 (17.x), è possibile usare le identità gestite sia per autenticare le connessioni in ingresso che per autenticare le connessioni in uscita ai servizi di Azure.

Quando si connette l'istanza di SQL Server ad Azure Arc, viene creata automaticamente un'identità gestita assegnata dal sistema per il nome host di SQL Server. Dopo aver creato l'identità gestita, è necessario associare l'identità all'istanza di SQL Server e all'ID tenant di Microsoft Entra aggiornando il Registro di sistema.

Quando si usa l'identità gestita con SQL Server abilitato da Azure Arc, tenere presente quanto segue:

  • L'identità gestita viene assegnata a livello di server Azure Arc.
  • Sono supportate solo le identità gestite assegnate dal sistema.
  • SQL Server usa questa identità gestita a livello di server Di Azure Arc come identità gestita primaria.
  • SQL Server può utilizzare questa identità gestita primaria in connessioni di tipo inbound e/o outbound.
    • Inbound connections sono account di accesso e utenti che si connettono a SQL Server. Le connessioni in ingresso possono essere ottenute anche usando la Registrazione dell'app, a partire da SQL Server 2022 (16.x).
    • Outbound connections sono connessioni di SQL Server alle risorse di Azure, ad esempio il backup nell'URL o la connessione ad Azure Key Vault.
  • La registrazione App non può abilitare un SQL Server per stabilire connessioni in uscita. Le connessioni in uscita richiedono un'identità gestita primaria assegnata a SQL Server.
  • Per SQL Server 2025 e versioni successive, è consigliabile usare la configurazione di Microsoft Entra basata su identità gestita, come descritto in questo articolo. In alternativa, è possibile configurare una registrazione dell'app per SQL Server 2025.

Prerequisiti

Prima di poter usare un'identità gestita con SQL Server abilitato da Azure Arc, assicurarsi di soddisfare i prerequisiti seguenti:

Abilitare l'identità gestita primaria

Se è stata installata l'estensione di Azure per SQL Server nel server, è possibile abilitare l'identità gestita primaria per l'istanza di SQL Server direttamente dal portale di Azure. È anche possibile abilitare manualmente l'identità gestita primaria aggiornando il Registro di sistema, ma deve essere eseguita con estrema cautela.

Per abilitare l'identità gestita primaria nel portale di Azure, seguire questa procedura:

  1. Vai alla risorsa SQL Server abilitata da Azure Arc nel portale di Azure.

  2. In Impostazioni selezionare Microsoft Entra ID e Purview per aprire la pagina Microsoft Entra ID e Purview .

    Annotazioni

    Se non viene visualizzata l'opzione Abilita autenticazione MICROSOFT Entra ID, assicurarsi che l'istanza di SQL Server sia connessa ad Azure Arc e che sia installata l'estensione SQL più recente.

  3. Nella pagina Microsoft Entra ID e Purview selezionare la casella accanto a Usa un'identità gestita primaria e quindi usare Salva per applicare la configurazione:

    Screenshot dell'opzione Microsoft Entra nel portale di Azure.

Concedere all'identità le autorizzazioni per l'uso dell'applicazione

Importante

Solo un Amministratore di Ruolo con Privilegi o un ruolo più alto può concedere queste autorizzazioni.

L'identità gestita assegnata dal sistema, che usa il nome del computer abilitato per Arc, deve disporre delle autorizzazioni dell'applicazione Microsoft Graph seguenti (ruoli dell'app):

  • User.Read.All: consente l'accesso alle informazioni utente di Microsoft Entra.
  • GroupMember.Read.All: consente l'accesso alle informazioni del gruppo di Microsoft Entra.
  • Application.Read.ALL: consente l'accesso alle informazioni dell'entità servizio (applicazione) di Microsoft Entra.

È possibile usare PowerShell per concedere le autorizzazioni necessarie all'identità gestita. In alternativa, è possibile creare un gruppo assegnabile a ruoli. Dopo aver creato il gruppo, assegnare il ruolo Lettori directory o User.Read.Allle autorizzazioni , GroupMember.Read.Alle Application.Read.All al gruppo e aggiungere tutte le identità gestite assegnate dal sistema per i computer abilitati per Azure Arc al gruppo. Non è consigliabile usare il ruolo Lettori directory nell'ambiente di produzione.

Lo script di PowerShell seguente concede le autorizzazioni necessarie all'identità gestita. Assicurarsi che questo script venga eseguito in PowerShell 7.5 o versione successiva e che il Microsoft.Graph modulo 2.28 o versione successiva sia installato.

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

Creare credenziali di accesso e utenti

Seguire la procedura descritta nell'esercitazione su Microsoft Entra per creare account di accesso e utenti per l'identità gestita.

Limitazioni

Quando si usa un'identità gestita con SQL Server 2025, tenere presenti le limitazioni seguenti:

  • La configurazione dell'identità gestita per l'autenticazione di Microsoft Entra è supportata solo con SQL Server 2025 abilitato per Azure Arc, in esecuzione in Windows Server.
  • SQL Server deve accedere al cloud pubblico di Azure per usare l'autenticazione Microsoft Entra.
  • L'utilizzo dell'autenticazione Microsoft Entra con le istanze del cluster di failover non è supportato.
  • Una volta abilitata l'autenticazione di Microsoft Entra, la disabilitazione non è consigliabile. La disabilitazione forzata dell'autenticazione di Microsoft Entra eliminando le voci del Registro di sistema può comportare un comportamento imprevedibile con SQL Server 2025.
  • L'autenticazione a SQL Server nei computer Arc tramite l'autenticazione di Microsoft Entra con il metodo FIDO2 non è attualmente supportata.
  • Le operazioni OPENROWSET BULK possono anche leggere la cartella C:\ProgramData\AzureConnectedMachineAgent\Tokens\token. L'opzione BULK richiede autorizzazioni ADMINISTER BULK OPERATIONS o ADMINISTER DATABASE BULK OPERATIONS . Queste autorizzazioni devono essere considerate equivalenti a sysadmin.