Autenticazione di Microsoft Entra come alternativa all’autenticazione SQL
Si applica a:✅ endpoint di Analisi SQL e Warehouse in Microsoft Fabric
Questo articolo illustra i metodi tecnici che gli utenti e i clienti possono usare per passare dall'autenticazione SQL all'autenticazione Microsoft Entra all'interno di Microsoft Fabric. L'autenticazione di Microsoft Entra è un'alternativa ai nomi utente e alle password tramite l'autenticazione SQL per l'accesso all'endpoint di analisi SQL del lakehouse o del Warehouse in Microsoft Fabric. L'autenticazione di Microsoft Entra è consigliabile e fondamentale per la creazione di una piattaforma dati sicura.
Questo articolo è incentrato sull'autenticazione di Microsoft Entra come alternativa all'autenticazione SQL negli elementi di Microsoft Fabric, ad esempio un endpoint di analisi SQL Warehouse o lakehouse.
Vantaggi dell'autenticazione di Microsoft Entra in Fabric
Uno dei principi fondamentali di Microsoft Fabric è protetto dalla progettazione. Microsoft Entra è parte integrante della sicurezza di Microsoft Fabric garantendo una protezione avanzata dei dati, governance e conformità.
Microsoft Entra svolge un ruolo fondamentale nella sicurezza di Microsoft Fabric per diversi motivi:
- Autenticazione: verificare gli utenti e le entità servizio usando Microsoft Entra ID, che concede i token di accesso per le operazioni all'interno di Fabric.
- Accesso sicuro: connettersi in modo sicuro alle app cloud da qualsiasi dispositivo o rete, salvaguardando le richieste effettuate a Fabric.
- Accesso condizionale: gli amministratori possono impostare criteri che valutano il contesto di accesso utente, controllano l'accesso o applicano passaggi di verifica aggiuntivi.
- Integrazione: Microsoft Entra ID funziona perfettamente con tutte le offerte SaaS Microsoft, tra cui Fabric, consentendo un facile accesso tra dispositivi e reti.
- Piattaforma generale: ottenere l'accesso a Microsoft Fabric con Microsoft Entra ID tramite qualsiasi metodo, indipendentemente dal portale di Fabric, dall'stringa di connessione SQL, dall'API REST o dall'endpoint XMLA.
Microsoft Entra adotta un criterio Zero Trust completo, offrendo un'alternativa superiore all'autenticazione SQL tradizionale limitata ai nomi utente e alle password. Questo approccio:
- Impedisce l'imitazione dell'utente.
- Abilita il controllo di accesso con granularità fine considerando l'identità utente, l'ambiente, i dispositivi e così via.
- Supporta la sicurezza avanzata, ad esempio l'autenticazione a più fattori di Microsoft Entra.
Configurazione di Fabric
L'autenticazione di Microsoft Entra per l'uso con un endpoint di analisi SQL Warehouse o lakehouse richiede la configurazione sia nelle impostazioni tenant che nell'area di lavoro.
Impostazione del tenant
Un amministratore di Fabric nel tenant deve consentire ai nomi delle entità servizio (SPN) l'accesso alle API di Infrastruttura, necessario per l'interfaccia dell'SPN per gli stringa di connessione SQL in fabric warehouse o gli elementi dell'endpoint di analisi SQL.
Questa impostazione si trova nella sezione Impostazioni sviluppatore ed è etichettata Entità servizio può usare le API di Infrastruttura. Verificare che sia abilitata.
Impostazioni dell'area di lavoro
Un amministratore di Fabric nell'area di lavoro deve concedere l'accesso a un utente o a un nome SPN per accedere agli elementi di Fabric.
È possibile concedere l'accesso a un utente/SPN in due modi:
Concedere l'appartenenza a un utente/SPN a un ruolo: qualsiasi ruolo dell'area di lavoro (amministratore, membro, collaboratore o visualizzatore) è sufficiente per connettersi agli elementi warehouse o lakehouse con un stringa di connessione SQL.
- Nell'opzione Gestisci accesso nell'area di lavoro assegnare il ruolo Collaboratore. Per altre informazioni, vedere Ruoli di servizio.
Assegnare un utente/SPN a un elemento specifico: concedere l'accesso a un endpoint di analisi SQL o warehouse specifico di un Lakehouse. Un amministratore di Fabric può scegliere tra diversi livelli di autorizzazione.
- Passare all'elemento dell'endpoint di analisi SQL o Warehouse pertinente.
- Selezionare Altre opzioni, quindi Gestisci autorizzazioni. Seleziona Aggiungi utente.
- Aggiungere l'utente/SPN nella pagina Concedi l'accesso agli utenti.
- Assegnare le autorizzazioni necessarie a un utente/SPN. Scegliere nessuna autorizzazione aggiuntiva per concedere solo le autorizzazioni di connessione.
È possibile modificare le autorizzazioni predefinite concesse all'utente o al nome SPN dal sistema. Usare i comandi T-SQL GRANT e DENY per modificare le autorizzazioni in base alle esigenze o ALTER ROLE per aggiungere l'appartenenza ai ruoli.
Attualmente, i nomi SPN non dispongono della funzionalità come account utente per la configurazione dettagliata delle autorizzazioni con GRANT
/DENY
.
Supporto per le identità utente e i nomi delle entità servizio (SPN)
Fabric supporta in modo nativo l'autenticazione e l'autorizzazione per gli utenti di Microsoft Entra e i nomi delle entità servizio (SPN) nelle connessioni SQL agli elementi dell'endpoint di analisi SQL e Warehouse.
- Le identità utente sono le credenziali univoche per ogni utente all'interno di un'organizzazione.
- I nomi SPN rappresentano gli oggetti applicazione all'interno di un tenant e fungono da identità per le istanze di applicazioni, prendendo il ruolo di autenticazione e autorizzazione di tali applicazioni.
Supporto per il flusso di dati tabulari (TDS)
Fabric usa il protocollo TDS (Tabular Data Stream), uguale a SQL Server, quando ci si connette a un stringa di connessione.
Fabric è compatibile con qualsiasi applicazione o strumento in grado di connettersi a un prodotto con il motore di database SQL. Analogamente a una connessione all'istanza di SQL Server, TDS opera sulla porta TCP 1433. Per altre informazioni sulla connettività SQL dell'infrastruttura e sulla ricerca del stringa di connessione SQL, vedere Connettività.
Un esempio di stringa di connessione SQL è simile al seguente: <guid_unique_your_item>.datawarehouse.fabric.microsoft.com
.
Le applicazioni e gli strumenti client possono impostare la proprietà di connessione Authentication
nel stringa di connessione per scegliere una modalità di autenticazione di Microsoft Entra. La tabella seguente illustra in dettaglio le diverse modalità di autenticazione di Microsoft Entra, incluso il supporto per l'autenticazione a più fattori (MFA) di Microsoft Entra.
Modalità di autenticazione | Scenari | Commenti |
---|---|---|
Microsoft Entra Interactive | Usato da applicazioni o strumenti in situazioni in cui l'autenticazione utente può verificarsi in modo interattivo o quando è accettabile disporre di un intervento manuale per la verifica delle credenziali. | Attivare MFA e i criteri di accesso condizionale di Microsoft Entra per applicare le regole organizzative. |
Entità servizio di Microsoft Entra | Usato dalle app per l'autenticazione sicura senza intervento umano, più adatto per l'integrazione delle applicazioni. | È consigliabile abilitare i Criteri di accesso condizionale di Microsoft Entra. |
Password di Microsoft Entra | Quando le applicazioni non possono usare l'autenticazione basata su SPN a causa di incompatibilità o richiedono un nome utente e una password generici per molti utenti o se altri metodi non sono praticabili. | La MFA deve essere disattivata e non è possibile impostare criteri di accesso condizionale. È consigliabile convalidare con il team di sicurezza del cliente prima di scegliere questa soluzione. |
Driver di supporto per l'autenticazione di Microsoft Entra
Anche se la maggior parte dei driver SQL inizialmente è stata supportata per l'autenticazione di Microsoft Entra, gli aggiornamenti recenti hanno ampliato la compatibilità per includere l'autenticazione basata su SPN. Questo miglioramento semplifica il passaggio all'autenticazione di Microsoft Entra per varie applicazioni e strumenti tramite gli aggiornamenti dei driver e l'aggiunta del supporto per l'autenticazione di Microsoft Entra.
Tuttavia, a volte è necessario modificare impostazioni aggiuntive, ad esempio l'abilitazione di determinate porte o firewall per facilitare l'autenticazione di Microsoft Entra nel computer host.
Le applicazioni e gli strumenti devono aggiornare i driver alle versioni che supportano l'autenticazione di Microsoft Entra e aggiungere una parola chiave della modalità di autenticazione nel relativo stringa di connessione SQL, ad esempio ActiveDirectoryInteractive
, ActiveDirectoryServicePrincipal
o ActiveDirectoryPassword
.
Fabric è compatibile con i driver nativi di Microsoft, inclusi i driver OLE DB, Microsoft.Data.SqlClient
, e generici, ad esempio ODBC e JDBC. La transizione per le applicazioni da usare con Fabric può essere gestita tramite la riconfigurazione per l'uso dell'autenticazione basata su ID di Microsoft Entra.
Per altre informazioni, vedere Connettività all'archiviazione dati in Microsoft Azure.
Microsoft OLE DB
L'OLE DB Driver per SQL Server è un'API di accesso ai dati autonoma progettata per OLE DB e rilasciata per la prima volta con SQL Server 2005 (9.x). Poiché, le funzionalità espanse includono l'autenticazione basata su SPN con la versione 18.5.0, aggiungendo ai metodi di autenticazione esistenti delle versioni precedenti.
Modalità di autenticazione | Stringa di connessione SQL |
---|---|
Microsoft Entra Interactive | Autenticazione interattiva di Microsoft Entra |
Entità servizio di Microsoft Entra | Autenticazione dell'entità servizio Microsoft Entra |
Password di Microsoft Entra | Autenticazione con nome utente e password di Microsoft Entra |
Per un frammento di codice C# che usa OLE DB con l'autenticazione basata su SPN, vedere System.Data.OLEDB.Connect.cs.
Driver Microsoft ODBC
Il Driver Microsoft ODBC per SQL Server è una libreria di collegamento dinamico (DLL) contenente il supporto di runtime per applicazioni che usano API di codice nativo per la connessione a SQL Server. È consigliabile usare la versione più recente per le applicazioni da integrare con Fabric.
Per altre informazioni sull'autenticazione di Microsoft Entra con ODBC, vedere Uso di Microsoft Entra ID con il codice di esempio del driver ODBC.
Modalità di autenticazione | Stringa di connessione SQL |
---|---|
Microsoft Entra Interactive | DRIVER={ODBC Driver 18 for SQL Server};SERVER=<SQL Connection String>;DATABASE=<DB Name>;UID=<Client_ID@domain>;PWD=<Secret>;Authentication=ActiveDirectoryInteractive |
Entità servizio di Microsoft Entra | DRIVER={ODBC Driver 18 for SQL Server};SERVER=<SQL Connection String>;DATABASE=<DBName>;UID=<Client_ID@domain>;PWD=<Secret>;Authentication=ActiveDirectoryServicePrincipal |
Password di Microsoft Entra | DRIVER={ODBC Driver 18 for SQL Server};SERVER=<SQL Connection String>;DATABASE=<DBName>;UID=<Client_ID@domain>;PWD=<Secret>;Authentication=ActiveDirectoryPassword |
Per un frammento di codice Python che usa ODBC con l'autenticazione basata su SPN, vedere pyodbc-dw-connectivity.py.
Driver Microsoft JDBC
Il Driver Microsoft JDBC per SQL Server è un driver JDBC di tipo 4 che offre connettività di database tramite le interfacce di programmazione dell'applicazione (API) JDBC standard disponibili nella piattaforma Java.
A partire dalla versione 9.2, mssql-jdbc
introduce il supporto per ActiveDirectoryInteractive
e ActiveDirectoryServicePrincipal
, con il supporto a ActiveDirectoryPassword
nelle versioni 12.2 e successive. Questo driver richiede file JAR aggiuntivi come dipendenze, che devono essere compatibili con la versione di mssql-driver
usata nell'applicazione. Per altre informazioni, vedere Dipendenze delle funzionalità del driver JDBC e Requisiti di configurazione del client.
Modalità di autenticazione | Ulteriori informazioni |
---|---|
Microsoft Entra Interactive | Connettersi tramite la modalità di autenticazione ActiveDirectoryInteractive |
Entità servizio di Microsoft Entra | Connettersi tramite la modalità di autenticazione ActiveDirectoryServicePrincipal |
Password di Microsoft Entra | Connettersi tramite la modalità di autenticazione ActiveDirectoryPassword |
Per un frammento di codice Java che usa JDBC con l'autenticazione basata su SPN, vedere fabrictoolbox/dw_connect.java e file pom di esempio pom.xml.
Microsoft.Data.SqlClient in .NET Core (C#)
Microsoft.Data.SqlClient è un provider di dati per Microsoft SQL Server e per il database SQL di Azure. Si tratta di un'unione dei due componenti System.Data.SqlClient
che vivono in modo indipendente in .NET Framework e .NET Core, fornendo un insieme di classi per l'accesso ai database di Microsoft SQL Server. Microsoft.Data.SqlClient
è consigliato per tutte le nuove e future fasi di sviluppo.
Modalità di autenticazione | Ulteriori informazioni |
---|---|
Microsoft Entra Interactive | Uso dell’autenticazione interattiva |
Entità servizio di Microsoft Entra | Uso dell'autenticazione basata sull'entità servizio |
Password di Microsoft Entra | Uso dell’autenticazione della password |
Frammenti di codice che usano SPN: