Collegamento alla risorsa Azure SQL con l’autenticazione di Microsoft Entra
Si applica a: Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics
Questo articolo mostra come utilizzare l'autenticazione di Microsoft Entra per connettersi al Database SQL di Azure, Istanza gestita di SQL di Azure e Azure Synapse Analytics.
Prerequisiti
Per connettersi alla risorsa di Azure SQL, è necessario aver configurato l'autenticazionedi Microsoft Entra per la risorsa.
Per verificare che l'amministratore di Microsoft Entra sia configurato correttamente, connettersi al database master
usando l'account amministratore di Microsoft Entra.
Per creare un utente di database indipendente basato su Microsoft Entra, connettersi al database con un'identità di Microsoft Entra con accesso al database e almeno l'autorizzazione ALTER ANY USER
.
Connettersi con SSMS o SSDT
Le procedure seguenti mostrano come connettersi a un database SQL con un'identità di Microsoft Entra usando SQL Server Management Studio (SSMS) o SQL Server Database Tools (SSDT).
Microsoft Entra integrato
Usare questo metodo quando si desidera accedere usando le credenziali di Windows federate in Microsoft Entra ID. Per altre informazioni, vedere Single Sign-On facile di Microsoft Entra.
Avviare SSMS o SSDT e nella scheda Accesso della finestra di dialogo Connetti al server (o Connetti a motore di database):
- Specificare il nome del server nel formato
<server-name>.database.windows.net
. - Come autenticazione, selezionare Microsoft Entra integrata. Non è necessario immettere una password perché vengono presentate le credenziali esistenti per la connessione.
- Per Crittografia selezionare Rigorosa (SQL Server 2022 e Azure SQL), che deve essere usata per connettersi alle risorse SQL di Azure.
- Specificare il nome del server nel formato
Nel campo Connetti al database della scheda Proprietà connessione digitare il nome del database utente a cui connettersi.
Password di Microsoft Entra
Utilizzare questo metodo per la connessione con un nome di entità di sicurezza Microsoft Entra usando il dominio gestito di Microsoft Entra. Si può anche usarlo per account federati senza accesso al dominio, ad esempio quando si lavora in modalità remota.
Usare questo metodo per eseguire l'autenticazione al database in database SQL o nell’Istanza gestita di SQL con gli utenti di identità solo cloud di Microsoft Entra o quelli che usano le identità ibride di Microsoft Entra. Questo metodo supporta gli utenti che vogliono usare le credenziali Windows, ma il computer locale non è aggiunto al dominio, ad esempio usando l'accesso remoto. In questo caso, un utente di Windows può indicare l'account di dominio e la password e può eseguire l'autenticazione nel database in database SQL, in Istanza gestita di SQL o in Azure Synapse.
Avviare SSMS o SSDT e nella scheda Accesso della finestra di dialogo Connetti al server (o Connetti a motore di database):
- Specificare il nome del server nel formato
<server-name>.database.windows.net
. - Come Autenticazione, selezionare Microsoft Entra Password.
- Nella casella Nome utente, digitare il nome utente di Microsoft Entra nel formato
username@domain.com
. I nomi utente devono essere un account di Microsoft Entra ID o un account da un dominio gestito o federato con Microsoft Entra ID. - Nella casella Password, digitare la password utente dell'account Microsoft Entra o dell'account di dominio gestito/federato.
- Per Crittografia selezionare Rigorosa (SQL Server 2022 e Azure SQL), che deve essere usata per connettersi alle risorse SQL di Azure.
- Specificare il nome del server nel formato
Nel campo Connetti al database della scheda Proprietà connessione digitare il nome del database utente a cui connettersi.
MFA Microsoft Entra
Usare questo metodo per l'autenticazione interattiva con autenticazione a più fattori (MFA), con la password richiesta in modo interattivo. Questo metodo può essere usato per eseguire l'autenticazione al database in database SQL, Istanza gestita di SQL e Azure Synapse Analytics per gli utenti di identità solo cloud di Microsoft Entra o quelli che usano le identità ibride di Microsoft Entra.
I passaggi seguenti illustrano come connettersi usando l'autenticazione a più fattori nell’ultima versione di SSMS.
Per connettersi tramite MFA, nella finestra di dialogo Connetti al server in SSMS, selezionare MFA Microsoft Entra.
Compilare la casella del Nome del server con il nome del server. Compilare la casella Nome utente con le credenziali di Microsoft Entra nel formato
user_name@domain.com
.Selezionare Connetti.
Quando viene mostrata la finestra di dialogo Accedi all'account, è necessario inserire il nome utente specificato nel passaggio 2. Se l’utente fa parte di un dominio federato con Microsoft Entra ID, non sarà necessario specificare la password.
Verrà richiesto di eseguire l'autenticazione usando uno dei metodi configurati in base all'impostazione dell'amministratore dell’autenticazione a più fattori.
Al termine della procedura di verifica, di norma SSMS stabilisce la connessione quando le credenziali sono valide e il firewall lo consente.
Entità servizio di Microsoft Entra
Utilizzare questo metodo per eseguire l'autenticazione al database in database SQL o Istanza gestita di SQL con le entità servizio di Microsoft Entra (applicazioni di Microsoft Entra). Per altre informazioni, vedere Entità servizio di Microsoft Entra con Azure SQL.
Identità gestita Microsoft Entra
Utilizzare questo metodo per eseguire l'autenticazione al database in database SQL o Istanza gestita di SQL con le identità gestite di Microsoft Entra. Per altre informazioni, vedere Identità gestite in Microsoft Entra per Azure SQL.
Impostazione predefinita Microsoft Entra
L'opzione di autenticazione predefinita con Microsoft Entra ID abilita l'autenticazione eseguita tramite meccanismi senza password e non interattivi, incluse le identità gestite.
Connettersi dalle applicazioni client
Le procedure seguenti mostrano come connettersi a un database SQL con un'identità di Microsoft Entra da un'applicazione client. Questo non è un elenco completo dei metodi di autenticazione quando si usa un'identità Microsoft Entra. Per altre informazioni, vedere Connettersi ad Azure SQL con l'autenticazione di Microsoft Entra e SqlClient.
Configurare le applicazioni client
Nota
System.Data.SqlClient usa Active Directory Authentication Library (ADAL) di Azure, che è deprecata. Se si usa lo spazio dei nomi System.Data.SqlClient per l'autenticazione di Microsoft Entra, eseguire la migrazione delle applicazioni a Microsoft.Data.SqlClient e Microsoft Authentication Library (MSAL). Per informazioni sui metodi di connessione disponibili in .NET, vedere Connettersi ad Azure SQL con l'autenticazione Microsoft Entra e SqlClient.
Se è necessario continuare a usare ADAL.DLL nelle applicazioni, è possibile usare i collegamenti in questa sezione per installare il driver ODBC o OLE DB più recente, che contiene la libreria ADAL.DLL più recente.
È necessario installare il software seguente in tutti i computer client da cui le applicazioni o gli utenti si connettono al database SQL o ad Azure Synapse Analytics con le identità di Microsoft Entra:
- .NET Framework 4.6 o versioni successive.
- Microsoft Authentication Library (MSAL) o Microsoft Authentication Library per SQL Server (ADAL.DLL). I collegamenti per il download per installare la versione più recente del driver SSMS, ODBC e OLE DB che contiene la libreria ADAL.DLL sono disponibili qui:
È possibile soddisfare questi requisiti tramite:
- Installazione dell'ultima versione di SQL Server Management Studio o SQL Server Data Tools per soddisfare i requisiti di .NET Framework 4.6.
- SSMS installa la versione x86 di ADAL.DLL.
- SSDT installa la versione amd64 di ADAL.DLL.
- L'ultima versione di Visual Studio disponibile nella pagina Download di Visual Studio soddisfa i requisiti di .NET Framework 4.6, ma non installa la versione amd64 di ADAL.DLL richiesta.
Autenticazione integrata di Microsoft Entra
Per usare l'autenticazione integrata di Windows, l'Active Directory del dominio deve essere federata con Microsoft Entra ID, oppure deve essere un dominio gestito configurato per l'accesso Single Sign-On facile con autenticazione pass-through o con hash delle password. Per altre informazioni, vedere Single Sign-On facile di Microsoft Entra.
L'applicazione client (o un servizio) che si connette al database deve essere in esecuzione in un computer aggiunto al dominio con le credenziali di dominio dell'utente.
Per connettersi a un database usando l'autenticazione integrata e un'identità di Microsoft Entra, la parola chiave Authentication
nella stringa di connessione al database deve essere impostata su Active Directory Integrated
. Sostituire <server_name>
con il nome del server logico. L'esempio di codice C# seguente usa ADO .NET.
string ConnectionString = @"Data Source=<server-name>.database.windows.net; Authentication=Active Directory Integrated; Initial Catalog=testdb;";
SqlConnection conn = new SqlConnection(ConnectionString);
conn.Open();
La parola chiave Integrated Security=True
della stringa di connessione non è supportata per la connessione al database SQL di Azure. Quando si esegue una connessione ODBC, è necessario rimuovere gli spazi e impostare l'autenticazione su ActiveDirectoryIntegrated
.
Autenticazione con password di Microsoft Entra
Per connettersi a un database usando gli account utente di identità solo cloud di Microsoft Entra o quelli che usano identità ibride Microsoft Entra, la parola chiave Authentication deve essere impostata su Active Directory Password
. La stringa di connessione deve contenere le parole chiave e i valori User ID/UID e Password/PWD. Sostituire <server_name>
, <email_address>
e <password>
con i valori appropriati. L'esempio di codice C# seguente usa ADO .NET.
string ConnectionString =
@"Data Source=<server-name>.database.windows.net; Authentication=Active Directory Password; Initial Catalog=testdb; UID=<email_address>; PWD=<password>";
SqlConnection conn = new SqlConnection(ConnectionString);
conn.Open();
Per altre informazioni sui metodi di autenticazione di Microsoft Entra, usare gli esempi di codice dimostrativo disponibili in Dimostrazione GitHub dell'autenticazione di Microsoft Entra.
Token di accesso di Microsoft Entra ID
Questo metodo di autenticazione consente ai servizi di livello intermedio di ottenere token JSON Web (JWT) per connettersi al database in database SQL, Istanza gestita di SQL o Azure Synapse ottenendo un token da Microsoft Entra ID. Questo metodo consente diversi scenari di applicazione tra cui identità del servizio, entità servizio e applicazioni che usano l'autenticazione basata su certificati. Per usare l'autenticazione tramite token di Microsoft Entra, è necessario completare quattro passaggi fondamentali:
- Registrare l'applicazione in Microsoft Entra ID e ottenere l'ID client per il codice.
- Creare un utente di database che rappresenta l'applicazione, come descritto nella sezione Creare utenti indipendenti mappati alle identità di Microsoft Entra.
- Creare un certificato nel computer client che esegue l'applicazione.
- Aggiungere il certificato come chiave per l'applicazione.
Stringa di connessione di esempio. Sostituire <server-name>
con il nome del server logico:
string ConnectionString = @"Data Source=<server-name>.database.windows.net; Initial Catalog=testdb;";
SqlConnection conn = new SqlConnection(ConnectionString);
conn.AccessToken = "Your JWT token";
conn.Open();
Per altre informazioni, vedere SQL Server Security Blog(Blog sulla sicurezza del server SQL). Per informazioni sull'aggiunta di un certificato, vedere Introduzione all'autenticazione basata su certificati di Microsoft Entra ID.
Autenticazione a più fattori Microsoft Entra
L'autenticazione a più fattori Microsoft Entra è un metodo di autenticazione supportato da tutti gli strumenti SQL. Per informazioni sull'autenticazione a livello di codice con Microsoft Entra ID, vedere le Informazioni generali su Microsoft Authentication Library (MSAL).
sqlcmd
Le seguenti istruzioni si connettono usando la versione 13.1 di sqlcmd. Download di Microsoft Command Line Utilities 14.0 per SQL Server.
Nota
sqlcmd
con il comando -G
non funziona con le identità di sistema e richiede un account di accesso dell'entità utente.
sqlcmd -S <database or datawarehouse name>.<server-name>.database.windows.net -G
sqlcmd -S <database or datawarehouse name>.<server-name>.database.windows.net -U adrian@contoso.com -P <password> -G -l 30
Connettersi nell’Editor di query del portale di Azure (Database SQL di Azure)
Per altre informazioni sull'Editor di query del portale di Azure per database SQL di Azure, vedere Guida introduttiva: usare l'editor di query del portale di Azure per eseguire query sul database SQL di Azure.
Nel portale di Azure raggiungere il database SQL. Ad esempio, accedere al dashboard SQL di Azure.
Nella pagina Panoramica relativa al database SQL nel portale di Azure, scegliere Editor di query dal menu sinistro.
Nella schermata di accesso in Benvenuto nell'editor di query del Database SQL, selezionare Continua come <ID utente o gruppo>.
Contenuto correlato
- Autorizzare l'accesso al database a database SQL, Istanza gestita di SQL e Azure Synapse Analytics
- Entità
- ruoli del database
- Regole del firewall IP del database SQL di Azure e Azure Synapse
- Creare utenti guest di Microsoft Entra e impostarli come amministratore di Microsoft Entra
- Esercitazione: creare utenti di Microsoft Entra usando applicazioni Microsoft Entra