Usare l'autenticazione di Microsoft Entra per l'autenticazione con Synapse SQL

L'autenticazione di Microsoft Entra è un meccanismo che si connette ad Azure Synapse Analytics usando le identità in Microsoft Entra ID.

Con l'autenticazione di Microsoft Entra, è possibile gestire centralmente le identità degli utenti che hanno accesso ad Azure Synapse per semplificare la gestione delle autorizzazioni. Ecco alcuni vantaggi:

  • Offre un'alternativa alla normale autenticazione tramite nome utente e password.
  • Contribuisce ad arrestare la proliferazione delle identità utente nei server.
  • Consente la rotazione delle password in un'unica posizione.
  • I clienti possono gestire le autorizzazioni del database tramite gruppi (Microsoft Entra ID) esterni.
  • Consente di eliminare l'archiviazione delle password abilitando l'autenticazione di Windows integrata e altre forme di autenticazione supportate da Microsoft Entra ID.
  • Microsoft Entra ID supporta l'autenticazione basata su token per le applicazioni che si connettono ad Azure Synapse.
  • L'autenticazione di Microsoft Entra supporta Active Directory Federation Services (federazione dei domini) o l'autenticazione utente/password nativa per un'istanza locale di Microsoft Entra ID senza sincronizzazione del dominio.
  • Microsoft Entra ID supporta le connessioni da SQL Server Management Studio che usano l'autenticazione universale di Active Directory, che include l'autenticazione a più fattori (MFA). L'MFA include funzionalità avanzate di autenticazione con una serie di semplici opzioni di verifica, tra cui chiamata telefonica, SMS, smart card con pin o notifica tramite app per dispositivi mobili. Per altre informazioni, vedere Supporto di SSMS per l'autenticazione a più fattori di Microsoft Entra con Synapse SQL.
  • Microsoft Entra ID supporta connessioni analoghe da SQL Server Data Tools (SSDT) che usano l'autenticazione interattiva di Active Directory. Per altre informazioni, vedere Supporto di Microsoft Entra ID 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'istanza di Microsoft Entra ID.
  2. Creare un'identità di Microsoft Entra
  3. Assegnare un ruolo all'identità di Microsoft Entra creata nell'area di lavoro di Synapse
  4. Connettersi a Synapse Studio usando le identità di Microsoft Entra.

Pass-through di Microsoft Entra in Azure Synapse Analytics

Azure Synapse Analytics consente di accedere ai dati nel data lake usando l'identità di Microsoft Entra.

La definizione di diritti di accesso per i file e i dati che vengono rispettati in diversi motori di dati consente di semplificare le soluzioni di data lake grazie alla possibilità di definire le autorizzazioni in una singola posizione.

Architettura di attendibilità

Il diagramma generale seguente riepiloga l'architettura della soluzione relativa all'utilizzo dell'autenticazione di Microsoft Entra con Synapse SQL. Per supportare la password utente nativa di Microsoft Entra, viene considerata solo la parte cloud e Azure AD o Synapse SQL. Per supportare l'autenticazione federata o l'autenticazione utente/password per le credenziali di Windows, è necessaria la comunicazione con il blocco AD FS. Le frecce indicano i percorsi di comunicazione.

Microsoft Entra auth diagram

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 da un'istanza di Microsoft Entra ID ed è considerato attendibile dal database.

Il cliente 1 può rappresentare un'istanza di Microsoft Entra ID con utenti nativi o un'istanza di Microsoft Entra ID con utenti federati. Il cliente 2 rappresenta una possibile soluzione, inclusi gli utenti importati. In questo esempio provengono da un'istanza federata di Microsoft Entra ID con AD FS sincronizzato con Microsoft Entra ID.

È importante comprendere che l'accesso a un database con l'autenticazione di Microsoft Entra richiede che la sottoscrizione di hosting sia associata a Microsoft Entra ID. La stessa sottoscrizione deve essere usata per creare l'istanza di SQL Server che ospita il database SQL di Azure o il pool SQL dedicato.

subscription relationship

Struttura dell'account amministratore

Se si usa l'autenticazione di Microsoft Entra, sono disponibili due account amministratore per Synapse SQL, ovvero l'amministratore originale di SQL (che usa l'autenticazione SQL) e l'amministratore di Microsoft Entra. Solo l'amministratore basato su un account Microsoft Entra può creare il primo utente di database indipendente di 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 di Microsoft Entra. Se l'amministratore è un account di gruppo, può essere usato da qualsiasi membro del gruppo, abilitando quindi più amministratori di Microsoft Entra per l'istanza di Synapse SQL.

L'uso dell'account di gruppo come amministratore migliora la gestibilità, perché consente di aggiungere e rimuovere a livello centrale i membri del gruppo in Microsoft Entra ID senza cambiare gli utenti o le autorizzazioni nell'area di lavoro di Azure Synapse Analytics. È possibile configurare un solo amministratore di Microsoft Entra (utente o gruppo) alla volta.

admin structure

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 all'account amministratore di SQL e all'account amministratore di Microsoft, 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 Synapse SQL, è 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 tramite un amministratore di Microsoft Entra (che corrisponde al proprietario del database).

L'autenticazione di Microsoft Entra è possibile unicamente se l'amministratore di Microsoft Entra è stato creato per Synapse SQL. Se l'amministratore di Microsoft Entra è stato rimosso dal server, gli utenti di Microsoft Entra esistenti creati in precedenza all'interno di Synapse SQL non possono più connettersi al database con le credenziali di Microsoft Entra.

Disabilitare l'autenticazione locale

Consentendo solo l'autenticazione di Microsoft Entra, è possibile gestire centralmente l'accesso alle risorse di Azure Synapse, quali i pool SQL. Per disabilitare l'autenticazione locale in Synapse durante la creazione dell'area di lavoro, selezionare Usa solo autenticazione di Microsoft Entra come metodo di autenticazione. Verrà comunque creato un account di accesso amministratore SQL, che sarà disabilitato. L'autenticazione locale può essere abilitata in un secondo momento da un proprietario o un collaboratore di Azure dell'area di lavoro Synapse.

Microsoft Entra-only auth configuration during workspace creation

È possibile anche disabilitare l'autenticazione locale dopo la creazione di un'area di lavoro tramite il portale di Azure. L'autenticazione locale non può essere disabilitata finché non viene creato un amministratore di Microsoft Entra per l'area di lavoro di Azure Synapse.

Microsoft Entra-only auth configuration after workspace creation

Funzionalità e limitazioni di Microsoft Entra

  • È possibile effettuare il provisioning dei membri seguenti di Microsoft Entra ID in Synapse SQL:

  • Gli utenti di Microsoft Entra che fanno parte di un gruppo con il ruolo del server db_owner non possono usare la sintassi CREATE DATABASE SCOPED CREDENTIAL in Synapse SQL. Verrà visualizzato l'errore seguente:

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

    Concedere il ruolo db_owner direttamente all'utente di Microsoft Entra per mitigare il problema CREATE DATABASE SCOPED CREDENTIAL.

  • Queste funzioni di sistema restituiscono valori NULL quando vengono eseguite nelle entità di sicurezza di Microsoft Entra:

    • SUSER_ID()
    • SUSER_NAME(<admin ID>)
    • SUSER_SNAME(<admin SID>)
    • SUSER_ID(<admin name>)
    • SUSER_SID(<admin name>)

Connettersi con le identità di Microsoft Entra

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

  • Password di Microsoft Entra
  • Integrato in Microsoft Entra
  • Autenticazione universale di Microsoft Entra con MFA
  • Con l'autenticazione del token dell'applicazione

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

  • Password di Microsoft Entra
  • Integrato in Microsoft Entra
  • Autenticazione universale di Microsoft Entra con MFA

Considerazioni aggiuntive

  • Per migliorare la gestibilità, è consigliabile effettuare il provisioning di un gruppo di Microsoft Entra dedicato come amministratore.
  • È possibile configurare un solo amministratore di Microsoft Entra (utente o gruppo) alla volta per ogni pool SQL Synapse.
    • L'aggiunta di entità server (account di accesso) di Microsoft Entra per Synapse SQL offre la possibilità di creare più entità server (account di accesso) di Microsoft Entra che possono essere aggiunte al ruolo sysadmin.
  • Inizialmente solo un amministratore di Microsoft Entra per Synapse SQL può connettersi a Synapse SQL con un account Microsoft Entra. L'amministratore di Active Directory può configurare gli utenti del database di Microsoft Entra successivi.
  • È 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.1 di aprile 2016 o successiva, supportano l'autenticazione di Microsoft Entra. L'autenticazione di Microsoft Entra è supportata dal provider di dati .NET Framework per SQL Server a partire da .NET Framework versione 4.6. Di conseguenza, le versioni più recenti di questi strumenti e applicazioni del livello dati (DAC e BACPAC) possono usare l'autenticazione di Microsoft Entra.
  • A partire dalla versione 15.0.1, l'utilità sqlcmd e l'utilità bcp supportano l'autenticazione interattiva di Active Directory con MFA.
  • SQL Server Data Tools per Visual Studio 2015 richiede almeno la versione 14.0.60311.1 di aprile 2016. Gli utenti di Microsoft Entra non sono attualmente visualizzati in Esplora oggetti di SSDT. Come soluzione alternativa è possibile visualizzare gli utenti in sys.database_principals.
  • Microsoft JDBC Driver 6.0 per SQL Server supporta l'autenticazione di Microsoft Entra. Vedere anche l'argomento su come impostare le proprietà della connessione.
  • L'account amministratore di Microsoft Entra controlla l'accesso ai pool dedicati, mentre i ruoli Controllo degli accessi in base al ruolo di Synapse vengono usati per controllare l'accesso ai pool serverless, ad esempio con il ruolo Amministratore Synapse e il ruolo Amministratore Synapse SQL. Configurare i ruoli Controllo degli accessi in base al ruolo di Synapse tramite Synapse Studio. Per altre informazioni, vedere Come gestire le assegnazioni di ruolo Controllo degli accessi in base al ruolo di Synapse Studio.
  • Se un utente è configurato come amministratore di Microsoft Entra e amministratore Synapse e quindi rimosso dal ruolo di amministratore di Microsoft Entra, l'utente perderà l'accesso ai pool SQL dedicati in Synapse. Devono essere rimossi e quindi aggiunti al ruolo di Amministratore Synapse per ottenere nuovamente l'accesso ai pool SQL dedicati.

Passaggi successivi