Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Applica a: SQL Server 2025 (17.x)
Questo articolo fornisce istruzioni dettagliate per installare e configurare l'identità gestita di Microsoft Entra ID per SQL Server abilitato da Azure Arc.
Per una panoramica dell'identità gestita con SQL Server, vedere Identity gestita per SQL Server abilitata da Azure Arc.
Prerequisiti
Prima di poter usare un'identità gestita con SQL Server abilitata da Azure Arc, assicurarsi di soddisfare i prerequisiti seguenti:
- Supportato per SQL Server 2025 e versioni successive, in esecuzione in Windows.
- Connettere il SQL Server a Azure Arc.
- La versione più recente dell'estensione Azure per SQL Server.
Abilitare l'identità gestita primaria
Se è stata installata l'estensione 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.
- portale Azure
- Manualmente
Per abilitare l'identità gestita primaria nel portale di Azure, seguire questa procedura:
Passare alla risorsa SQL Server abilitata da Azure Arc nel portale di Azure.
In Impostazioni selezionare Microsoft Entra ID e Purview per aprire la pagina Microsoft Entra ID e Purview.
Annotazioni
Se non viene visualizzata l'opzione Enable Microsoft Entra ID authentication, assicurarsi che l'istanza di SQL Server sia connessa a Azure Arc e che sia installata l'estensione SQL più recente.
Nella pagina Microsoft Entra ID e Purview selezionare la casella accanto a Usare un'identità gestita primaria quindi usare Save per applicare la configurazione:
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.
Per abilitare l'autenticazione Microsoft Entra per le istanze di SQL Server, ogni identità gestita assegnata dal sistema richiede autorizzazioni User.Read.All, GroupMember.Read.All e Application.Read.All per eseguire query Microsoft Graph. Per altre informazioni su queste autorizzazioni, vedere:
- User.Read.All: consente l'accesso alle informazioni utente Microsoft Entra.
- GroupMember.Read.All: consente l'accesso alle informazioni del gruppo Microsoft Entra.
- Application.Read.All: consente l'accesso alle informazioni relative all'entità servizio (applicazione) di Microsoft Entra.
Queste autorizzazioni sono autorizzazioni a livello di applicazione (ruoli dell'app) e devono essere assegnate direttamente a ogni identità gestita. Non possono essere assegnati manualmente a un gruppo di sicurezza Microsoft Entra e concessi ai membri tramite l'appartenenza al gruppo. Per gli ambienti con molti computer, un'alternativa consiste nell'assegnare il ruolo Directory Readers a un gruppo di sicurezza di Microsoft Entra assegnabile a ruoli e aggiungere le identità gestite come membri. A differenza delle autorizzazioni del ruolo dell'app, questo ruolo Microsoft Entra può essere concesso a livello di gruppo, semplificando la gestione su ampia scala. Tuttavia, Directory Reader concede un accesso in lettura ampio a tutti gli oggetti directory, superando significativamente le tre autorizzazioni di API Graph di destinazione. Il ruolo Lettori directory non è consigliato per gli ambienti di produzione in cui è necessario l'accesso con privilegi minimi.
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 sia installato il modulo Microsoft.Graph 2.28 o versione successiva.
# 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 Microsoft Entra per creare accessi e utenti per l'identità gestita.