Autenticazione di Microsoft Entra per SQL Server

Si applica a: SQL Server 2022 (16.x)

SQL Server 2022 (16.x) introduce il supporto per l'autenticazione con Microsoft Entra ID (in precedenza Azure Active Directory), sia in Windows che in Linux in locale e in SQL Server in macchine virtuali Windows di Azure.

Panoramica

È ora possibile connettersi a SQL Server usando i seguenti metodi di autenticazione di Microsoft Entra:

  • Autenticazione predefinita
  • Nome utente e password
  • Integrato
  • Universal con autenticazione a più fattori
  • Entità servizio
  • Identità gestita
  • Token di accesso

Le modalità di autenticazione esistenti, l'autenticazione SQL e l’autenticazione di Windows rimangono invariate.

Microsoft Entra ID è il servizio di gestione delle identità e degli accessi basato sul cloud di Azure. Microsoft Entra ID è concettualmente simile ad Active Directory, fornendo un repository centralizzato per la gestione dell'accesso alle risorse dell'organizzazione. Le identità sono oggetti in Microsoft Entra ID che rappresentano utenti, gruppi o applicazioni. Possono essere assegnate autorizzazioni tramite il controllo degli accessi in base al ruolo e usate per l'autenticazione alle risorse di Azure. L'autenticazione di Microsoft Entra è supportata per:

  • database SQL di Azure
  • Istanza gestita di SQL di Azure
  • SQL Server in macchine virtuali Windows Azure
  • Azure Synapse Analytics
  • SQL Server

Per altre informazioni, vedere Usare l'autenticazione di Microsoft Entra con Azure SQL e Configurare e gestire l’autenticazione di Microsoft Entra con Azure SQL.

Se Windows Server Active Directory è federato con Microsoft Entra ID, gli utenti possono eseguire l'autenticazione con SQL Server usando le credenziali di Windows, come account di accesso di Windows o account di accesso Microsoft Entra. Microsoft Entra ID non supporta tutte le funzionalità AD supportate da Windows Server Active Directory, ad esempio account di servizio o architettura complessa della foresta di rete. Esistono altre funzionalità di Microsoft Entra ID, ad esempio l'autenticazione a più fattori che non è disponibile con Active Directory. Per altre informazioni, Confrontare Active Directory e Microsoft Entra ID.

Connessione di SQL Server ad Azure con Microsoft Entra ID

Per consentire a SQL Server di comunicare con Azure, sia SQL Server che l'host Windows o Linux in cui viene eseguito devono essere registrati con Azure Arc. Per abilitare la comunicazione di SQL Server con Azure, è necessario installare l'estensione Azure Arc Agent e Azure per SQL Server.

Per iniziare, vedere Connettere SQL Server ad Azure Arc.

Nota

Se si esegue SQL Server in una macchina virtuale di Azure, non è necessario registrare la macchina virtuale con Azure Arc, è invece necessario registrare la macchina virtuale con l'estensione SQL IaaS Agent. Per altre informazioni, dopo aver registrato la macchina virtuale, vedere Abilitare l'autenticazione di Azure AD per SQL Server in macchine virtuali di Azure.

Autenticazione predefinita

L'opzione di autenticazione predefinita con Microsoft Entra ID che abilita l'autenticazione tramite meccanismi senza password e non interattivi, incluse le identità gestite Visual Studio, Visual Studio Code, l’interfaccia della riga di comando di Azure, e altro ancora.

Nome utente e password

Consente di specificare il nome utente e la password per il client e il driver. Il metodo basato sul nome utente e sulla password è in genere disabilitato in molti tenant per motivi di sicurezza. Anche se le connessioni sono crittografate, è consigliabile evitare l'uso di nome utente e password quando possibile, perché richiede l'invio di password in rete.

Integrato

Con l’autenticazione integrata di Windows (IWA), Microsoft Entra ID offre una soluzione alle organizzazioni con infrastrutture locali e su cloud. I domini di Active Directory locale possono essere sincronizzati con Microsoft Entra ID tramite la federazione, consentendo la gestione e il controllo di accesso all'interno di Microsoft Entra ID, mentre l'autenticazione utente rimane locale. Con l’autenticazione integrata di Windows, le credenziali di Windows dell'utente vengono autenticate in Active Directory e, in caso di esito positivo, il token di autenticazione dell'utente da Microsoft Entra ID viene restituito a SQL.

Universal con autenticazione a più fattori

Questo è il metodo interattivo standard con l'opzione di autenticazione a più fattori per gli account Microsoft Entra. Questo funziona nella maggior parte degli scenari.

Entità servizio

Un'entità servizio è un'identità che può essere creata per l'uso con strumenti, processi e applicazioni automatizzati. Con il metodo di autenticazione dell'entità servizio, è possibile connettersi all'istanza di SQL Server usando l'ID client e il segreto di un'identità dell'entità servizio.

Identità gestita

Le identità gestite sono forme speciali di entità servizio. Esistono due tipi di identità gestite: assegnata dal sistema e assegnata dall'utente. Le identità gestite assegnate dal sistema vengono abilitate direttamente in una risorsa di Azure, mentre le identità gestite assegnate dall'utente sono una risorsa autonoma che può essere assegnata a una o più risorse di Azure.

Nota

Per usare un'identità gestita per connettersi a una risorsa SQL tramite client GUI come SSMS e ADS, il computer che esegue l'applicazione client deve avere un client Microsoft Entra in esecuzione con il certificato dell'identità archiviato. Questa operazione viene ottenuta più comunemente tramite una macchina virtuale di Azure, perché l'identità può essere facilmente assegnata al computer tramite il riquadro del portale della macchina virtuale.

Per gli strumenti che usano librerie di identità di Azure, ad esempio SQL Server Management Studio (SSMS), quando ci si connette con un'identità gestita è necessario usare il GUID per l'account di accesso, ad esempio abcd1234-abcd-1234-abcd-abcd1234abcd1234. Per altre informazioni, vedere (ManagedIdentityCredential). Se si passa erroneamente il nome utente, si verifica un errore, ad esempio:

ManagedIdentityCredential authentication unavailable. The requested identity has not been assigned to this resource.
Status: 400 (Bad Request)
Content:
{"error":"invalid_request","error_description":"Identity not found"}

Token di accesso

Alcuni client non GUI, ad esempio Invoke-sqlcmd, consentono di fornire un token di accesso. L'ambito o i destinatari del token di accesso devono essere https://database.windows.net/.

Osservazioni

  • Solo SQL Server 2022 (16.x) locale con un sistema operativo Windows o Linux supportato o SQL Server 2022 in macchine virtuali di Windows Azure è supportato per l'autenticazione di Microsoft Entra.
  • Per connettere SQL Server ad Azure Arc, l'account Microsoft Entra necessita delle autorizzazioni seguenti:
    • Membro del gruppo di Onboarding di Azure Connected Machine o del ruolo Collaboratore nel gruppo di risorse.
    • Membro del ruolo Amministratore delle risorse di Azure Connected Machine nel gruppo di risorse.
    • Membro del ruolo Lettore nel gruppo di risorse.