Utilizzare Autenticazione Microsoft Entra

Si applica a:database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics

Questo articolo offre una panoramica dell'uso di Microsoft Entra ID (in precedenza Azure Active Directory) per l'autenticazione a database SQL di Azure, Istanza gestita di SQL di Azure, SQL Server in macchine virtuali di Windows Azure, Synapse SQL in Azure Synapse Analytics e SQL Server per Windows e Linux.

Per informazioni su come creare e popolare l'ID Microsoft Entra e quindi configurare l'ID Di Microsoft Entra con database SQL di Azure, Istanza gestita di SQL di Azure e Synapse SQL in Azure Synapse Analytics, vedere Configurare l'ID Microsoft Entra e Microsoft Entra ID con SQL Server nelle macchine virtuali di Azure.

Nota

Microsoft Entra ID era precedentemente noto come Azure Active Directory (Azure AD).

Panoramica

Con l'autenticazione di Microsoft Entra è possibile gestire centralmente le identità degli utenti del database e altri servizi Microsoft. La gestione centrale degli ID consente di gestire gli utenti del database da un unico punto e semplifica la gestione delle autorizzazioni. Ecco alcuni vantaggi:

  • Offre un'alternativa all'autenticazione di SQL Server.

  • Consente di arrestare la proliferazione delle identità utente tra server.

  • Consente la rotazione delle password in un'unica posizione.

  • I clienti possono gestire le autorizzazioni del database usando i gruppi di Microsoft Entra.

  • Può eliminare l'archiviazione delle password abilitando autenticazione di Windows integrati e altre forme di autenticazione supportate da Microsoft Entra ID.

  • L'autenticazione di Microsoft Entra usa utenti di database indipendenti per autenticare le identità a livello di database.

  • Microsoft Entra ID supporta l'autenticazione basata su token per le applicazioni che si connettono a database SQL e Istanza gestita di SQL.

  • L'autenticazione di Microsoft Entra supporta:

  • SQL Server Management Studio supporta connessioni che usano Microsoft Entra con l'autenticazione a più fattori. L'autenticazione a più fattori offre un'autenticazione avanzata con una gamma di opzioni di verifica semplici: telefonata, SMS, smart card con pin o notifica dell'app per dispositivi mobili. Per altre informazioni, vedere Supporto di SSMS per l'autenticazione a più fattori Microsoft Entra con database SQL di Azure, Istanza gestita di SQL e Azure Synapse

  • SQL Server Data Tools (SSDT) supporta anche un'ampia gamma di opzioni di autenticazione con Microsoft Entra ID. Per altre informazioni, vedere Supporto di Microsoft Entra ID in SQL Server Data Tools (SSDT).For more information, see Microsoft Entra ID support in SQL Server Data Tools (SSDT).

I passaggi di configurazione includono le procedure seguenti per configurare e usare l'autenticazione di Microsoft Entra.

  1. Creare e popolare un tenant di Microsoft Entra.
  2. Facoltativo: associare o modificare la directory corrente associata alla sottoscrizione di Azure.
  3. Creare un amministratore di Microsoft Entra.
  4. Configurare i computer client.
  5. Creare utenti di database indipendenti nel database di cui è stato eseguito il mapping alle identità di Microsoft Entra.
  6. Connessione al database con identità di Microsoft Entra.

Nota

Per SQL di Azure, macchine virtuali di Azure e SQL Server 2022, l'autenticazione di Microsoft Entra supporta solo i token di accesso che hanno origine dall'ID Microsoft Entra e non supporta i token di accesso di terze parti. Microsoft Entra ID non supporta anche il reindirizzamento delle query di Microsoft Entra ID a endpoint di terze parti. Questo vale per tutte le piattaforme SQL e tutti i sistemi operativi che supportano l'autenticazione di Microsoft Entra.

Architettura di attendibilità

  • Solo la parte cloud di Microsoft Entra ID, database SQL, Istanza gestita di SQL, SQL Server in macchine virtuali di Windows Azure e Azure Synapse è considerata il supporto delle password utente native di Microsoft Entra.
  • Per supportare le credenziali di Single Sign-On di Windows (o utente/password per le credenziali di Windows), usare le credenziali di Microsoft Entra da un dominio federato o gestito configurato per l'accesso Single Sign-On facile per l'autenticazione pass-through e l'hash delle password. Per altre informazioni, vedere Single Sign-On facile di Microsoft Entra.
  • Per supportare l'autenticazione federata o l'autenticazione utente/password per le credenziali di Windows, è necessaria la comunicazione con il blocco AD FS.

Per altre informazioni sulle identità ibride di Microsoft Entra, la configurazione e la sincronizzazione, vedere gli articoli seguenti:

Per un'autenticazione federata di esempio con l'infrastruttura ADFS (o utente/password per le credenziali di Windows), vedere il diagramma seguente. Le frecce indicano i percorsi di comunicazione.

Diagram of Microsoft Entra authentication for Azure SQL.

Il diagramma seguente indica le relazioni federative, di trust e di hosting che consentono a un client di connettersi a un database inviando un token, che viene autenticato da Azure Active Directory e considerato attendibile dal database. Il token viene autenticato dall'ID Microsoft Entra e viene considerato attendibile dal database. Il cliente 1 può rappresentare l'ID Microsoft Entra con utenti nativi o Microsoft Entra ID con utenti federati. Il cliente 2 rappresenta una possibile soluzione, inclusi gli utenti importati, in questo esempio proveniente da un ID Microsoft Entra federato con ADFS sincronizzato con Microsoft Entra ID. È importante comprendere che l'accesso a un database tramite l'autenticazione Microsoft Entra richiede che la sottoscrizione di hosting sia associata all'ID Microsoft Entra. La stessa sottoscrizione deve essere usata per creare le risorse database SQL di Azure, Istanza gestita di SQL o Azure Synapse.

Diagram shows the relationship between subscriptions in the Microsoft Entra configuration.

Struttura dell'account amministratore

Quando si usa l'autenticazione di Microsoft Entra, sono disponibili due account Amministrazione istrator: l'amministratore database SQL di Azure originale e l'amministratore di Microsoft Entra. Gli stessi concetti si applicano ad Azure Synapse. Solo l'amministratore basato su un account Microsoft Entra può creare il primo utente del database indipendente microsoft Entra ID in un database utente. L'account di accesso amministratore di Microsoft Entra può essere un utente di Microsoft Entra o un gruppo Microsoft Entra. Quando l'amministratore è un account di gruppo, può essere usato da qualsiasi membro del gruppo, abilitando più amministratori di Microsoft Entra per il server. L'uso di un account di gruppo come amministratore migliora la gestibilità consentendo di aggiungere e rimuovere centralmente i membri del gruppo in Microsoft Entra ID senza modificare gli utenti o le autorizzazioni in database SQL o Azure Synapse. È possibile configurare un solo amministratore di Microsoft Entra (un utente o un gruppo) in qualsiasi momento.

Diagram shows the administrator structure for Microsoft Entra ID used with SQL Server.

Nota

L'autenticazione di Microsoft Entra con Azure SQL supporta solo il singolo tenant di Microsoft Entra in cui si trova attualmente la risorsa SQL di Azure. Tutti gli oggetti Microsoft Entra di questo tenant possono essere configurati come utenti che consentono l'accesso ad Azure SQL in questo tenant. L'amministratore di Microsoft Entra deve anche appartenere al tenant della risorsa SQL di Azure. L'autenticazione multi-tenant di Microsoft Entra che accede a SQL di Azure da tenant diversi non è supportata.

Autorizzazioni

Per creare nuovi utenti, è necessario avere l'autorizzazione ALTER ANY USER sul database. L'autorizzazione ALTER ANY USER può esser concessa a qualsiasi utente di database. L'autorizzazione ALTER ANY USER è assegnata anche agli account amministratore del server, agli utenti di database con l'autorizzazione CONTROL ON DATABASE o ALTER ON DATABASE per tale database e ai membri del ruolo del database db_owner.

Per creare un utente di database indipendente in database SQL di Azure, Istanza gestita di SQL di Azure o Azure Synapse, è necessario connettersi al database o all'istanza usando un'identità di Microsoft Entra. Per creare il primo utente di database indipendente, è necessario connettersi al database usando un amministratore di Microsoft Entra (proprietario del database). Questo è illustrato in Configurare e gestire l'autenticazione di Microsoft Entra con database SQL o Azure Synapse. L'autenticazione di Microsoft Entra è possibile solo se l'amministratore di Microsoft Entra è stato creato per database SQL di Azure, Istanza gestita di SQL di Azure o Azure Synapse. Se l'amministratore di Microsoft Entra è stato rimosso dal server, gli utenti di Microsoft Entra esistenti creati in precedenza all'interno del server non possono più connettersi al database usando le credenziali di Microsoft Entra.

Funzionalità e limitazioni di Microsoft Entra

  • È possibile effettuare il provisioning dei membri seguenti di Microsoft Entra ID per database SQL di Azure:

    • Utenti di Microsoft Entra: qualsiasi tipo di utente in un tenant di Microsoft Entra, inclusi utenti interni, esterni, guest e membri. I membri di un dominio di Active Directory configurato per la federazione con MICROSOFT Entra ID sono supportati e possono essere configurati per l'accesso Single Sign-On facile.
    • Applicazioni: le applicazioni esistenti in Azure possono usare entità servizio o identità gestite per l'autenticazione diretta a database SQL di Azure. L'uso di identità gestite per l'autenticazione è preferibile perché è senza password ed elimina la necessità di credenziali gestite dallo sviluppatore.
    • Gruppi di Microsoft Entra, che possono semplificare la gestione degli accessi all'interno dell'organizzazione gestendo l'accesso appropriato di utenti e applicazioni in base all'appartenenza al gruppo.
  • Gli utenti di Microsoft Entra che fanno parte di un gruppo membro del ruolo del db_owner database non possono usare la sintassi CREATE DATABA edizione Standard SCOPED CREDENTIAL su database SQL di Azure e Azure Synapse. Verrà visualizzato l'errore seguente:

    SQL Error [2760] [S0001]: The specified schema name 'user@mydomain.com' either doesn't exist or you do not have permission to use it.

    Per attenuare il problema CREATE DATABA edizione Standard SCOPED CREDENTIAL, aggiungere direttamente il singolo utente di Microsoft Entra.db_owner

  • Queste funzioni di sistema non sono supportate e restituiscono valori NULL quando vengono eseguite dalle entità di sicurezza di Microsoft Entra:

    • SUSER_ID()
    • SUSER_NAME(<ID>)
    • SUSER_SNAME(<SID>)
    • SUSER_ID(<name>)
    • SUSER_SID(<name>)
  • database SQL di Azure non crea utenti impliciti per gli utenti connessi come parte di un'appartenenza al gruppo Microsoft Entra. Per questo motivo, varie operazioni che richiedono l'assegnazione della proprietà avranno esito negativo, anche se il gruppo Microsoft Entra viene aggiunto come membro a un ruolo con tali autorizzazioni.

    Ad esempio, un utente ha eseguito l'accesso a un database tramite un gruppo Microsoft Entra con il ruolo db_ddladmin , non sarà in grado di eseguire CREATE SCHEMA, ALTER SCHEMA e altre istruzioni di creazione di oggetti senza uno schema definito in modo esplicito, ad esempio tabella, vista o tipo. Per risolvere questo problema, è necessario creare un utente di Microsoft Entra per tale utente oppure il gruppo Microsoft Entra deve essere modificato per assegnare il DEFAULT_SCHEMA a dbo.

Istanza gestita di SQL

  • Le entità server (account di accesso) e gli utenti di Microsoft Entra sono supportate per Istanza gestita di SQL.

  • L'impostazione degli account di accesso di Microsoft Entra mappati a un gruppo di Microsoft Entra come proprietario del database non è supportata in Istanza gestita di SQL.

    • Un'estensione di questo è che quando un gruppo viene aggiunto come parte del ruolo del dbcreator server, gli utenti di questo gruppo possono connettersi al Istanza gestita di SQL e creare nuovi database, ma non potranno accedere al database. Ciò è dovuto al fatto che il nuovo proprietario del database è SA e non l'utente di Microsoft Entra. Questo problema non si manifesta se il singolo utente viene aggiunto al ruolo del dbcreator server.
  • L'esecuzione di processi e gestione di SQL Agent è supportata per gli account di accesso di Microsoft Entra.

  • Le operazioni di backup e ripristino del database possono essere eseguite dalle entità server di Microsoft Entra (account di accesso).

  • È supportato il controllo di tutte le istruzioni correlate alle entità server (account di accesso) e agli eventi di autenticazione di Microsoft Entra.

  • È supportata la connessione amministrativa dedicata per le entità server di Microsoft Entra (account di accesso) che sono membri del ruolo del server sysadmin.

    • È supportata tramite l'utilità SQLCMD e SQL Server Management Studio.
  • I trigger di accesso sono supportati per gli eventi di accesso provenienti dalle entità server di Microsoft Entra (account di accesso).

  • Service Broker e Posta elettronica database possono essere configurati usando un'entità server (account di accesso) di Microsoft Entra.

Connessione usando le identità di Microsoft Entra

L'autenticazione di Microsoft Entra supporta i metodi seguenti per la connessione a un database tramite le identità di Microsoft Entra:

  • Microsoft Entra Password
  • Integrato in Microsoft Entra
  • Microsoft Entra Universal con autenticazione a più fattori
  • Con l'autenticazione del token dell'applicazione

Per le entità server (account di accesso) di Microsoft Entra sono supportati i metodi di autenticazione seguenti:

  • Microsoft Entra Password
  • Integrato in Microsoft Entra
  • Microsoft Entra Universal con autenticazione a più fattori

Considerazioni aggiuntive

  • Per migliorare la gestibilità, è consigliabile effettuare il provisioning di un gruppo Microsoft Entra dedicato come amministratore.
  • È possibile configurare un solo amministratore di Microsoft Entra (un utente o un gruppo) per un server in database SQL o Azure Synapse in qualsiasi momento.
    • L'aggiunta di entità server (account di accesso) Di Microsoft Entra per Istanza gestita di SQL consente di creare più entità server (account di accesso) Microsoft Entra che possono essere aggiunte al sysadmin ruolo.
  • Solo un amministratore di Microsoft Entra per il server può inizialmente connettersi al server o all'istanza gestita usando un account Microsoft Entra. L'amministratore di Microsoft Entra può configurare gli utenti successivi del database Microsoft Entra.
  • Gli utenti di Microsoft Entra e le entità servizio (applicazioni Microsoft Entra) membri di più di 2048 gruppi di sicurezza di Microsoft Entra non sono supportati per accedere al database in database SQL, Istanza gestita di SQL o Azure Synapse.
  • È consigliabile impostare il timeout di connessione su 30 secondi.
  • SQL Server 2016 Management Studio e SQL Server Data Tools per Visual Studio 2015 (versione 14.0.60311.1April 2016 o versione successiva) supportano l'autenticazione di Microsoft Entra. L'autenticazione di Microsoft Entra è supportata da .NET Framework provider di dati per SqlServer, almeno versione di .NET Framework 4.6. Pertanto, le versioni più recenti di questi strumenti e applicazioni livello dati (DAC e BACPAC) possono usare l'autenticazione Microsoft Entra.
  • A partire dalla versione 15.0.1, l'utilità sqlcmd e l'utilità bcp supportano l'autenticazione interattiva di Active Directory con l'autenticazione a più fattori.
  • SQL Server Data Tools per Visual Studio 2015 richiede almeno la versione 14.0.60311.1 di aprile 2016. Attualmente, gli utenti di Microsoft Entra non vengono visualizzati in SSDT Esplora oggetti. Come soluzione alternativa è possibile visualizzare gli utenti in sys.database_principals.
  • Microsoft JDBC Driver 6.0 per SQL Server supporta l'autenticazione Microsoft Entra. Vedere anche l'argomento su come impostare le proprietà della connessione.
  • PolyBase non può eseguire l'autenticazione usando l'autenticazione di Microsoft Entra.
  • L'autenticazione di Microsoft Entra è supportata per database SQL di Azure e Azure Synapse usando i pannelli portale di Azure Importa database ed Esporta database. L'importazione e l'esportazione tramite l'autenticazione Di Microsoft Entra sono supportate anche da un comando di PowerShell.
  • L'autenticazione di Microsoft Entra è supportata per database SQL, Istanza gestita di SQL e Azure Synapse con l'interfaccia della riga di comando. Per altre informazioni, vedere Configurare e gestire l'autenticazione di Microsoft Entra con database SQL o Azure Synapse e SQL Server - az sql server.

Passaggi successivi