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.
Questo articolo offre una panoramica approfondita sull'uso dell'autenticazione Microsoft Entra con Synapse SQL in Azure Synapse Analytics.
Note
Le entità server di Microsoft Entra sono attualmente in anteprima per Azure Synapse Analytics.
Per configurare l'autenticazione Microsoft Entra, consulta Configura e gestisce l'autenticazione Microsoft Entra con Azure Synapse Analytics.
Informazioni generali
Microsoft Entra ID consente di gestire centralmente le identità degli esseri umani e dei servizi nel proprio patrimonio di dati. Integrando Microsoft Entra con Azure Synapse Analytics per l'autenticazione, puoi semplificare la gestione di identità e permessi, consentendo al contempo un accesso condizionato dettagliato e una governance sulle connessioni ai tuoi dati.
L'uso dell'autenticazione di Microsoft Entra include i vantaggi seguenti:
- Sostituisce metodi di autenticazione meno sicuri, ad esempio nomi utente e password.
- Elimina, o contribuisce ad arrestare, la proliferazione delle identità utente nei server.
- I gruppi di Microsoft Entra consentono la gestione delle autorizzazioni del database per essere astratte da singoli account e in gruppi operativi.
- Consente la rotazione delle password in un'unica posizione.
- L’autenticazione solo di Microsoft Entra fornisce un’alternativa completa all’autenticazione SQL.
- Le identità gestite per le risorse di Azure eliminano la necessità di archiviare le password per i servizi che si connettono ai database e le connessioni dai database ad altre risorse di Azure.
- Consente moderni controlli di sicurezza, tra cui un’autenticazione a più fattori avanzata con una serie di semplici opzioni di verifica, come telefonata, SMS, smart card con pin o notifica tramite app per dispositivi mobili.
- Microsoft Entra ID abilita l'integrazione con molti protocolli di autenticazione moderni, tra cui OpenID Connect, OAuth2.0, delega vincolata Kerberos e altro ancora.
- Consente il monitoraggio centralizzato delle connessioni alle origini dati.
- Abilita i controlli di accesso condizionale, ad esempio la richiesta di dispositivi conformi o metodi di autenticazione per le connessioni riuscite.
Note
L'autenticazione Microsoft Entra supporta solo i token di accesso provenienti da Microsoft Entra ID e non i token di accesso di terze parti. Inoltre, Microsoft Entra ID non supporta il reindirizzamento delle query di Microsoft Entra ID a endpoint di terze parti. Questa limitazione si applica a tutte le piattaforme SQL e a tutti i sistemi operativi che supportano l'autenticazione Microsoft Entra.
Passaggi di configurazione
I passaggi generali per configurare l'autenticazione di Microsoft Entra sono:
- Creare e popolare un tenant di Microsoft Entra.
- Crea uno spazio di lavoro Azure Synapse o un pool SQL dedicato standalone.
- Assegna un amministratore Microsoft Entra allo spazio di lavoro o al server logico.
- Creare nel proprio database delle entità servizio SQL che siano mappate alle identità Microsoft Entra.
- Configura le tue applicazioni client per connettersi utilizzando librerie e metodi di autenticazione Azure Identity.
- Connettersi al database con identità di Microsoft Entra.
Identità e metodi di autenticazione supportati
Azure Synapse Analytics supporta l'uso delle seguenti identità Microsoft Entra come account di accesso e utenti (entità di sicurezza) in Synapse SQL:
- Utenti di Microsoft Entra: qualsiasi tipo di utente in un tenant di Microsoft Entra, inclusi utenti interni, esterni, guest e membri. Anche i membri di un dominio Active Directory federato con Microsoft Entra ID sono supportati e possono essere configurati per l’accesso Single Sign-On trasparente.
- Applicazioni: Le applicazioni presenti in Azure possono utilizzare service principal o identità gestite per autenticarsi direttamente ad Azure Synapse Analytics. L'uso delle identità gestite è preferibile perché l'autenticazione è senza password ed elimina la necessità di credenziali gestite dagli sviluppatori.
- Gruppi di Microsoft Entra, che possono semplificare la gestione degli accessi all'interno dell'organizzazione gestendo l'accesso di utenti e applicazioni in base all'appartenenza al gruppo.
Per le identità utente, sono supportati i metodi di autenticazione seguenti:
- Microsoft Entra integrato (autenticazione di Windows) supportato dalle identità ibride di Microsoft Entra con Active Directory [Federazione].
- MFA Microsoft Entra o l'autenticazione a più fattori, che richiede controlli di sicurezza aggiuntivi oltre alle conoscenze dell'utente.
- Autenticazione di Microsoft Entra con password, che usa le credenziali utente archiviate e gestite in Microsoft Entra ID.
- Autenticazione predefinita di Microsoft Entra, che analizza varie cache delle credenziali nel computer dell'applicazione e può usare i token utente per eseguire l'autenticazione a SQL.
Per le identità del servizio o del carico di lavoro, sono supportati i metodi di autenticazione seguenti:
- Identità gestite per le risorse Azure, sia assegnate all'utente che al sistema. L'autenticazione dell'identità gestita è basata su token, in cui l'identità viene assegnata alla risorsa che vuole eseguire l'autenticazione usandola. La piattaforma delle identità di Azure convalida tale relazione, che abilita l'autenticazione senza password.
- Nome dell’entità servizio Microsoft Entra e segreto dell'applicazione (client). Questo metodo di autenticazione non è consigliato, a causa del rischio associato alle password che possono essere indovinate e che possono trapelare.
- Autenticazione predefinita di Microsoft Entra, che analizza varie cache delle credenziali nel computer dell'applicazione e può usare i token dell'applicazione per l'autenticazione a SQL.
Amministratore Microsoft Entra
Per abilitare l'autenticazione Microsoft Entra, deve essere impostato un amministratore Microsoft Entra per il tuo workspace o server logico Azure Synapse. Questo amministratore esiste accanto all'amministratore SQL. L'amministratore di Microsoft Entra può essere un utente, un gruppo, un'entità servizio o un'identità gestita nel tuo tenant Azure. È possibile configurare una sola identità alla volta. La rimozione dell'amministratore di Microsoft Entra disabilita le connessioni basate sull'autenticazione di Microsoft Entra, anche per gli utenti Microsoft Entra esistenti con permessi in un database.
Tip
I gruppi di Microsoft Entra consentono a più identità di agire come amministratore di Microsoft Entra nel server. Quando l'amministratore è impostato su un gruppo, tutti i membri del gruppo ereditano il ruolo di amministratore di Microsoft Entra. Un amministratore del gruppo Microsoft Entra migliora la gestibilità spostando le attività di gestione degli amministratori dalle azioni del piano dati del server a Microsoft Entra ID e nelle mani dei proprietari del gruppo. I gruppi possono essere utilizzati per tutte le identità Microsoft Entra che si connettono a SQL, consentendo di configurare una sola volta gli utenti e le autorizzazioni nel server e nei database, lasciando tutta la gestione degli utenti ai gruppi.
L'amministratore Microsoft Entra svolge un ruolo speciale: è il primo account che può creare altri account di accesso e utenti Microsoft Entra, definiti collettivamente entità. L'amministratore è un utente di database contenuto nel database master del server. Gli account amministratore sono membri del ruolo db_owner in ogni database utente e accedono a ogni database utente come utente dbo. Per altre informazioni sugli account amministratore, vedere Gestione di database e account di accesso.
Entità gruppo di Microsoft Entra
Note
Microsoft Entra server principals (login) sono attualmente in anteprima per Azure Synapse Analytics.
Puoi creare identità Microsoft Entra come principals in Azure Synapse Analytics in tre modi:
- come entità server o account di accesso
- come utenti basati su login (un tipo di principale del database)
- come utenti del database contenuto
Importante
L'autenticazione di Microsoft Entra per Azure SQL non si integra con Azure RBAC. Per usare le identità Microsoft Entra per connettersi ad Azure SQL ed eseguire query, devi creare queste identità come entità Microsoft Entra nei database a cui devono accedere. I ruoli SQL Server Contributor e SQL DB Contributor proteggono le operazioni di distribuzione legate alla gestione, non l'accesso alla connettività al database.
Login (server principals) nei pool SQL dedicati
Le entità di sicurezza del server (login) per le identità Microsoft Entra sono in anteprima per i pool SQL dedicati di Azure Synapse Analytics.
Il T-SQL seguente illustra come creare un accesso di Microsoft Entra:
CREATE LOGIN [MSEntraUser] FROM EXTERNAL PROVIDER
Un accesso di Microsoft Entra ha i valori di proprietà seguenti in sys.server_principals:
| Property | Value |
|---|---|
SID (Identificatore di sicurezza) |
Rappresentazione binaria dell'ID oggetto dell'identità di Microsoft Entra |
| tipo | E = Accesso esterno o applicazione da Microsoft Entra ID X = Gruppo esterno di Microsoft Entra ID |
| type_desc | EXTERNAL_LOGIN per il login di Microsoft Entra o l'app EXTERNAL_GROUP per il gruppo Microsoft Entra |
Utenti basati su accesso
Gli utenti che accedono con il login ereditano i ruoli e le autorizzazioni a livello di server assegnati al login di Microsoft Entra.
Il T-SQL seguente illustra come creare un utente basato su accesso per un'identità di Microsoft Entra:
CREATE USER [MSEntraUser] FROM LOGIN [MSEntraUser]
Nella tabella seguente vengono descritti in dettaglio i valori delle proprietà utente basate sull'accesso di Microsoft Entra in sys.database_principals:
| Property | Value |
|---|---|
SID (Identificatore di sicurezza) |
Rappresentazione binaria dell'ID oggetto dell'identità di Microsoft Entra, più "AADE" |
| tipo | E = Accesso esterno o applicazione da Microsoft Entra ID X = Gruppo esterno di Microsoft Entra ID |
| type_desc | EXTERNAL_LOGIN per il login di Microsoft Entra o l'app EXTERNAL_GROUP per il gruppo Microsoft Entra |
Utenti di database con restrizioni
Gli utenti contenuti nel database sono portabili con il database. Non hanno collegamenti alle identità definite nel server o nell'istanza, e puoi facilmente spostarli insieme al database da un server o istanza all'altro senza interruzioni.
Il T-SQL seguente illustra come creare un utente di database indipendente per un'identità di Microsoft Entra:
CREATE USER [MSEntraUser] FROM EXTERNAL PROVIDER
Un utente basato sul database di Microsoft Entra ha gli stessi valori di proprietà degli utenti basati sull'account di accesso in sys.database_principals, ad eccezione del modo in cui SID viene costruito.
| Property | Value |
|---|---|
SID (Identificatore di sicurezza) |
Rappresentazione binaria dell'ID oggetto dell'identità di Microsoft Entra |
| tipo | E = Accesso esterno o applicazione da Microsoft Entra ID X = Gruppo esterno di Microsoft Entra ID |
| type_desc | EXTERNAL_LOGIN per il login di Microsoft Entra o l'app EXTERNAL_GROUP per il gruppo Microsoft Entra |
Per ottenere il GUID originale di Microsoft Entra su cui è basato SID, usa la seguente conversione T-SQL:
SELECT CAST(sid AS UNIQUEIDENTIFIER) AS EntraID FROM sys.database_principals
Caution
Potresti creare involontariamente un utente di database indipendente Microsoft Entra con lo stesso nome di un accesso Microsoft Entra a livello di server o istanza. Poiché le entità di sicurezza non sono collegate tra loro, l'utente del database non eredita i permessi dal login del server. Le identità possono essere confuse nelle richieste di connessione, risultando in comportamenti indefiniti.
Usare la seguente query T-SQL per determinare se un utente del database sia un utente basato sul login o un utente di database indipendente.
SELECT CASE
WHEN CONVERT(VARCHAR(100), sid, 2) LIKE '%AADE' AND len(sid) = 18 THEN 'login-based user'
ELSE 'contained database user'
END AS user_type,
*
FROM sys.database_principals WHERE TYPE = 'E' OR TYPE = 'X'
Utilizzare la query T-SQL seguente per visualizzare tutti i principali di Microsoft Entra in un database.
SELECT
name,
CAST(sid AS UNIQUEIDENTIFIER) AS EntraID,
CASE WHEN TYPE = 'E' THEN 'App/User' ELSE 'Group' AS user_type,
sid
FROM sys.database_principals WHERE TYPE = 'E' OR TYPE = 'X'
autenticazione basata solo su Microsoft Entra
Quando abiliti l'autenticazione solo Microsoft Entra, disabiliti l'autenticazione SQL. Non puoi usare l'autenticazione SQL per connetterti allo spazio di lavoro, al pool SQL o al database.
Per iniziare, consulta Configura l'autenticazione solo Microsoft Entra.
Autenticazione a più fattori (MFA)
L’autenticazione a più fattori Microsoft Entra è una funzionalità di sicurezza fornita dal servizio di gestione delle identità e degli accessi basato sul cloud di Microsoft. L'autenticazione a più fattori migliora la sicurezza degli accessi utente richiedendo agli utenti di seguire passaggi di verifica aggiuntivi oltre la scelta di una password.
L'autenticazione a più fattori di Microsoft Entra consente di proteggere l'accesso ai dati e alle applicazioni dell'utente, garantendo al tempo stesso una procedura di accesso semplice. L’autenticazione a più fattori aggiunge un ulteriore livello di sicurezza agli accessi degli utenti richiedendo a questi ultimi di fornire due o più fattori di autenticazione. Questi fattori includono in genere qualcosa che l'utente conosce (password), qualcosa che l'utente possiede (smartphone o token hardware) e/o qualcosa che l'utente è (dati biometrici). Combinando più fattori, l'autenticazione a più fattori riduce significativamente le probabilità di accesso non autorizzato.
L'autenticazione multifattore è un metodo di autenticazione supportato per Azure Synapse Analytics.
Per iniziare, consulta Configura l'autenticazione multifattore Microsoft Entra.
Supporto B2B di Microsoft Entra
L'autenticazione Microsoft Entra in tutti i prodotti SQL supporta anche la Collaborazione B2B di Microsoft Entra, che consente alle aziende di invitare utenti ospiti a collaborare con la loro organizzazione. Gli utenti guest possono connettersi ai database come singoli utenti o membri di un gruppo Microsoft Entra.
Architettura di fiducia per la federazione di Microsoft Entra in Active Directory
Microsoft Entra ID si integra anche con soluzioni familiari di gestione delle identità e degli accessi, ad esempio Active Directory. Unendo in modo ibrido il tuo Active Directory locale, abiliti le identità Windows federate tramite Microsoft Entra ID per utilizzare le credenziali Single Sign-On per collegarti ad Azure Synapse Analytics.
Per la federazione, Microsoft Entra ID fornisce due metodi di autenticazione sicura: l'autenticazione pass-through e l'hash delle password. Se si sta valutando la federazione del Active Directory locale in Microsoft Entra ID, vedere Scegliere il metodo di autenticazione appropriato per la soluzione di gestione delle identità ibrida di Microsoft Entra.
Per altre informazioni sulla configurazione e la sincronizzazione delle identità ibride di Microsoft Entra, consultare i seguenti articoli:
- Implementare la sincronizzazione dell'hash delle password con il servizio di sincronizzazione di Microsoft Entra Connect
- Autenticazione pass-through di Microsoft Entra
- Implementazione di Active Directory Federation Services in Azure e Microsoft Entra Connect e federazione
Microsoft Entra ID autentica il token e il database lo considera attendibile e convalida l'emittente e altri dettagli. Il cliente 1 può rappresentare Microsoft Entra ID con utenti nativi o Microsoft Entra ID con utenti federati. Il cliente 2 rappresenta una possibile soluzione che include utenti importati, in questo esempio provenienti da un Microsoft Entra ID federato con ADFS sincronizzato con Microsoft Entra ID. È importante capire che l'accesso a un database tramite l'autenticazione Microsoft Entra richiede che l'abbonamento di hosting sia associato al Microsoft Entra ID. Devi utilizzare lo stesso abbonamento per creare le risorse Azure SQL o Azure Synapse.
Permissions
I permessi assegnati all'amministratore di Microsoft Entra differiscono da quelli assegnati ad altri principals in Azure Synapse Analytics. In alcuni casi, Azure Synapse Analytics necessita anche dei permessi Microsoft Graph per utilizzare l'autenticazione Microsoft Entra.
Autorizzazioni di amministratore
I seguenti permessi e ruoli sono assegnati all'amministratore Microsoft Entra al momento della creazione:
- db_owner di ogni database
Autorizzazioni di Azure Synapse Analytics
Il principale deve disporre dell'autorizzazione ALTER ANY USER nel database per creare un utente.
Di default, gli account amministratori del server, gli utenti del database con CONTROL ON DATABASE, e i membri del db_owner ruolo database hanno il ALTER ANY USER permesso.
Per creare un Microsoft Entra principal in Azure SQL, l'identità richiedente deve interrogare Microsoft Graph per dettagli sul principal. Al momento del deployment iniziale, l'unica identità che può interrogare Microsoft Graph è l'amministratore di Microsoft Entra. Pertanto, l'amministratore deve essere la prima identità a creare altre entità di sicurezza Microsoft Entra. Dopodiché, l'amministratore può assegnare ALTER ANY USER ad altre entità di sicurezza così che possano creare altre entità di sicurezza Microsoft Entra.
Implementazioni zero-touch con l’autenticazione di Microsoft Entra
Poiché l'amministratore di Microsoft Entra deve essere la prima identità a connettersi al database e creare altri utenti Microsoft Entra, può essere utile aggiungere l'identità della tua infrastruttura di distribuzione come amministratore. Le distribuzioni possono procedere con la configurazione iniziale, come la creazione di altri principali di Microsoft Entra e l'assegnazione dei permessi. Per le implementazioni, usa strumenti come i template ARM di PowerShell per scrivere script per la creazione automatizzata dei principali. Azure SQL oggi non supporta API native per configurare la creazione degli utenti e la gestione dei permessi. Puoi eseguire queste operazioni solo usando una connessione diretta all'istanza SQL.
Autorizzazioni per Microsoft Graph
Per creare i principali di Microsoft Entra e alcuni altri scenari, Azure SQL deve effettuare chiamate a Microsoft Graph per recuperare informazioni e convalidare l'esistenza dell'identità in Microsoft Entra ID. Per farlo, il processo SQL deve avere o ottenere accesso ai permessi di lettura di Microsoft Graph all'interno del tenant cliente. Puoi ottenere questo accesso in diversi modi:
- Se il principale SQL che esegue il comando è un'identità utente, non è necessario concedere permessi aggiuntivi all'istanza SQL per interrogare Microsoft Graph.
- Se il principale SQL che esegue il comando è un'identità di servizio, come un principale di servizio o un'identità gestita, l'istanza Azure SQL richiede i propri permessi per interrogare Microsoft Graph.
- Assegnare i permessi dell'applicazione all'identità del server primario (identità gestita) del server logico o dell'istanza gestita. Il processo SQL può utilizzare l'identità principale del server per autenticarsi ad altri servizi Azure in un tenant, come Microsoft Graph. La tabella seguente spiega vari scenari e i permessi Microsoft Graph necessari affinché il comando venga eseguito con successo.
| Scenario | Autorizzazioni minime |
|---|---|
CREATE USER oppure CREATE LOGIN per un'entità servizio Microsoft Entra o un'identità gestita |
Application.Read.All |
CREATE USERoppure CREATE LOGIN per un utente Microsoft Entra |
User.Read.All |
CREATE USERoppure CREATE LOGIN per un gruppo Microsoft Entra |
GroupMember.Read.All |
Tip
Il ruolo di Lettori della Directory è il ruolo con il minor ambito che puoi assegnare a un'identità e copre tutte le autorizzazioni necessarie. Utilizzando i ruoli, puoi assegnarli ai gruppi di sicurezza Microsoft Entra, che spostano la gestione dalle singole entità ai gruppi concettuali.
Supporto per strumenti
SQL Server Management Studio (SSMS) supporta diverse opzioni di connessione di autenticazione di Microsoft Entra, tra cui l'autenticazione a più fattori.
SQL Server Data Tools (SSDT) per Visual Studio, a partire dalla versione 2015, supporta l'autenticazione password, integrata e interattiva con Microsoft Entra ID. Per altre informazioni, vedere Supporto di Microsoft Entra ID in SQL Server Data Tools (SSDT).
- Attualmente, SSDT Esplora oggetti non mostra gli utenti Microsoft Entra. Come soluzione alternativa è possibile visualizzare gli utenti in sys.database_principals.
Versioni minime
Per utilizzare l'autenticazione Microsoft Entra con Azure Synapse Analytics, sono necessarie le versioni minime seguenti quando si usano questi strumenti:
- SQL Server Management Studio (SSMS) 18.6 o versioni successive
- SQL Server Data Tools per Visual Studio 2015 versione 14.0.60311.1 (aprile 2016) o versioni successive
- Provider di dati .NET Framework per SQL Server, versione minima .NET Framework 4.6
- A partire dalla versione 15.0.1, l'utilità sqlcmd e l'utilità bcp supportano l'autenticazione interattiva di Active Directory con autenticazione a più fattori.
- 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.
Connettiti ad Azure Synapse Analytics con Microsoft Entra
Dopo aver configurato l'autenticazione Microsoft Entra per la tua risorsa Azure SQL, puoi connetterti utilizzando SQL Server Management Studio, SQL Server Data Tools e un'applicazione client.
Limitations
Quando si utilizza l'autenticazione Microsoft Entra con Azure Synapse Analytics, considera le seguenti limitazioni:
Gli utenti di Microsoft Entra e le entità servizio (applicazioni Microsoft Entra) che sono membri di più di 2048 gruppi di sicurezza Microsoft Entra non sono supportati e non possono accedere al database.
Le funzioni di sistema seguenti non sono supportate e restituiscono il valore
NULLquando vengono eseguite dai principali Microsoft Entra:SUSER_ID()SUSER_NAME(<ID>)SUSER_SNAME(<SID>)SUSER_ID(<name>)SUSER_SID(<name>)
È consigliabile impostare il timeout di connessione su 30 secondi.
Gli utenti Microsoft Entra che fanno parte di un gruppo che fa parte del
db_ownerruolo database potrebbero riscontrare il seguente errore quando tentano di utilizzare CREATE DATABASE SCOPED CREDENTIAL in Azure Synapse Analytics: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 la questione
CREATE DATABASE SCOPED CREDENTIAL, aggiungere l'identità dell'utente Microsoft Entra direttamente al ruolodb_owner.Azure Synapse Analytics non crea utenti impliciti per gli utenti che hanno effettuato l'accesso tramite l'appartenenza a un gruppo Microsoft Entra. Per questo motivo, le operazioni che richiedono l'assegnazione del ruolo di proprietario possono fallire, anche se il gruppo Microsoft Entra fa parte di un ruolo con quei permessi.
Ad esempio, un utente che ha eseguito l'accesso a un database tramite un gruppo Microsoft Entra con il ruolo db_ddladmin non può eseguire
CREATE SCHEMAeALTER SCHEMAaltre istruzioni di creazione di oggetti senza uno schema definito in modo esplicito, come tabella, vista, o tipo, ad esempio. Per risolvere questo problema, è necessario creare un utente di Microsoft Entra per tale utente oppure è necessario modificare il gruppo Microsoft Entra per assegnare unDEFAULT_SCHEMAoggetto, ad esempio dbo.La rimozione dell'amministratore di Microsoft Entra impedisce le connessioni di autenticazione di Microsoft Entra.
Contenuti correlati
- Configura e gestisci l'autenticazione Microsoft Entra con Azure Synapse Analytics
- Autorizza l'accesso al database per Azure Synapse Analytics
- Entità di sicurezza del database
- ruoli del database
- Sintassi di CREATE LOGIN per le entità server di Microsoft Entra
- Regole del firewall di Azure Synapse Analytics