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.
Applies to:database SQL di Azure
Istanza gestita di SQL di Azure
Azure Synapse Analytics
Questo articolo illustra come usare Microsoft Entra ID per l'autenticazione con database SQL di Azure, Istanza gestita di SQL di Azure e Azure Synapse Analytics.
Nota
Microsoft Entra ID era precedentemente noto come Azure Active Directory (Azure AD).
In alternativa, è anche possibile configurare l'autenticazione Microsoft Entra per SQL Server in Macchine virtuali di Azure.
Prerequisiti
Per usare l'autenticazione Microsoft Entra con la risorsa Azure SQL, sono necessari i prerequisiti seguenti:
- Tenant Microsoft Entra popolato con utenti e gruppi.
- Una risorsa di Azure SQL esistente, ad esempio database SQL di Azure o Istanza gestita di SQL di Azure.
Creare e popolare un tenant Microsoft Entra
Prima di poter configurare l'autenticazione Microsoft Entra per la risorsa Azure SQL, è necessario creare un tenant Microsoft Entra e popolarlo con utenti e gruppi. Microsoft Entra tenant possono essere gestiti interamente all'interno di Azure o usati per la federazione di un servizio Dominio di Active Directory locale.
Per altre informazioni, vedi:
- Che è Microsoft Entra ID?
- Integrazione delle identità locali on-premises con Microsoft Entra ID
- Aggiungi il nome di dominio a Microsoft Entra ID
- Che cos'è la federazione con Microsoft Entra ID?
- Sincronizzazione della directory con Microsoft Entra ID
- Manage Microsoft Entra ID using Windows PowerShell
- Porte e protocolli richiesti per l'identità ibrida
Impostare l'amministratore di Microsoft Entra
Per usare l'autenticazione Microsoft Entra con la risorsa, è necessario impostare l'amministratore Microsoft Entra. Anche se concettualmente i passaggi sono gli stessi per database SQL di Azure, Azure Synapse Analytics e Istanza gestita di SQL di Azure, questa sezione descrive in dettaglio le diverse API e le diverse esperienze del portale a tale scopo per ogni prodotto.
L'amministratore Microsoft Entra può essere configurato anche quando viene creata la risorsa Azure SQL. Se un amministratore Microsoft Entra è già configurato, ignorare questa sezione.
database SQL di Azure e Azure Synapse Analytics
L'impostazione dell'amministratore Microsoft Entra abilita l'autenticazione Microsoft Entra per il server Logical per database SQL di Azure e Azure Synapse Analytics. È possibile impostare un amministratore Microsoft Entra per il server usando il portale di Azure, PowerShell, interfaccia della riga di comando di Azure o le API REST.
Nel portale di Azure è possibile trovare il nome del server logical
- Nel campo server name nella pagina Overview di database SQL di Azure.
- Nel campo server name nella pagina Overview del pool SQL dedicato autonomo in Azure Synapse Analytics.
- Nell'endpoint SQL pertinente nella pagina Overview dell'area di lavoro Azure Synapse Analytics.
- Portal di Azure
- PowerShell
- interfaccia della riga di comando di Azure
- API REST
Per impostare l'amministratore Microsoft Entra per il server logico nel portale di Azure, seguire questa procedura:
Nel riquadro portale di Azure Directory e sottoscrizioni scegli la directory che contiene la risorsa di Azure SQL come la directory corrente.
Cercare SQL Server e quindi selezionare il server logico per la risorsa di database per aprire il riquadro SQL Server.
Screenshot che mostra come cercare e selezionare gli SQL Server.
Nel riquadro SQL server per il server logico selezionare Microsoft Entra ID in Settings per aprire il riquadro Microsoft Entra ID.
Nel riquadro Microsoft Entra ID selezionare Set admin per aprire il riquadro Microsoft Entra ID.
Il riquadro Microsoft Entra ID mostra tutti gli utenti, i gruppi e le applicazioni nella directory corrente e consente di eseguire ricerche in base al nome, all'alias o all'ID. Trovare l'identità desiderata per l'amministratore Microsoft Entra e selezionarla, quindi selezionare Selezionare per chiudere il riquadro.
Nella parte superiore della pagina Microsoft Entra ID per il server logico selezionare Salva.
L'ID Object viene visualizzato accanto al nome dell'amministratore per Microsoft Entra utenti e gruppi. Per le applicazioni (principali di servizio), viene visualizzato l'ID applicazione.
Il processo di modifica dell'amministratore può richiedere alcuni minuti. Il nuovo amministratore viene quindi visualizzato nel campo Microsoft Entra admin.
Per rimuovere l'amministratore, nella parte superiore della pagina Microsoft Entra ID selezionare Amministratore , quindi selezionare Salva. La rimozione dell'amministratore Microsoft Entra disabilita l'autenticazione Microsoft Entra per il server logico.
Nota
L'amministratore Microsoft Entra viene archiviato nel database master del server come utente (entità di database). Poiché i nomi principali del database devono essere univoci, il nome dell'amministratore mostrato non può essere lo stesso del nome di qualsiasi utente nel database del server. Se esiste già un utente con lo stesso nome, la configurazione dell'amministratore di Microsoft Entra ha esito negativo ed esegue il rollback, a indicare che il nome è già in uso.
Istanza gestita di SQL di Azure
L'impostazione dell'amministratore Microsoft Entra abilita l'autenticazione Microsoft Entra per Istanza gestita di SQL di Azure. È possibile impostare un amministratore di Microsoft Entra per l'istanza gestita di SQL usando il portale di Azure, PowerShell, interfaccia della riga di comando di Azure o le API REST.
- Portal di Azure
- PowerShell
- interfaccia della riga di comando di Azure
- API REST
Per concedere all'istanza gestita di SQL le autorizzazioni di lettura per Microsoft Entra ID usando il portale di Azure, accedere come Amministratore di Ruolo con Privilegi e seguire i seguenti passaggi:
Nell'angolo superiore destro del portale di Azure, seleziona il tuo account e quindi scegli Cambia directory per confermare quale directory è la tua Directory corrente. Se necessario, cambiare directory.
Nel riquadro Azure portal Directories e sottoscrizioni, scegli la directory che contiene la tua istanza gestita come Directory corrente.
Cercare istanze gestite di SQL e quindi selezionare l'istanza gestita per aprire il riquadro Istanza gestita di SQL. Selezionare quindi Microsoft Entra ID in Settings per aprire il riquadro Microsoft Entra ID per l'istanza.
Nel riquadro Microsoft Entra admin selezionare Set admin dalla barra di spostamento per aprire il riquadro Microsoft Entra ID.
Nel riquadro Microsoft Entra ID cercare un utente, selezionare la casella accanto all'utente o al gruppo come amministratore e quindi premere Select per chiudere il riquadro e tornare alla pagina Microsoft Entra admin per l'istanza gestita.
Il riquadro Microsoft Entra ID mostra tutti i membri e i gruppi all'interno della directory corrente. Gli utenti o i gruppi disattivati non possono essere selezionati perché non sono supportati come amministratori di Microsoft Entra. Selezionare l'identità da assegnare come amministratore.
Nella barra di spostamento della pagina Microsoft Entra admin per l'istanza gestita, selezionare Salva per confermare l'amministratore di Microsoft Entra.
Al termine dell'operazione di modifica dell'amministratore, il nuovo amministratore viene visualizzato nel campo Microsoft Entra admin.
L'ID Object viene visualizzato accanto al nome dell'amministratore per Microsoft Entra utenti e gruppi. Per le applicazioni (principali di servizio), viene visualizzato l'ID applicazione.
Suggerimento
Per rimuovere l'amministratore, selezionare Amministratore nella parte superiore della pagina Microsoft Entra ID, quindi selezionare Salva.
Assegnare autorizzazioni Microsoft Graph
Istanza gestita di SQL necessita delle autorizzazioni per leggere Microsoft Entra ID per scenari come autorizzare gli utenti che si connettono tramite l'appartenenza al gruppo di sicurezza e la creazione di nuovi utenti. Per consentire il funzionamento dell'autenticazione Microsoft Entra, è necessario assegnare l'identità dell'istanza gestita al ruolo Directory Reader. A tale scopo, è possibile usare il portale di Azure o PowerShell.
Per alcune operazioni, database SQL di Azure e Azure Synapse Analytics richiedono anche autorizzazioni per eseguire query Microsoft Graph, come illustrato in Microsoft Graph autorizzazioni. database SQL di Azure e Azure Synapse Analytics supportano autorizzazioni Graph con granularità fine per questi scenari, mentre Istanza gestita di SQL richiede il ruolo Directory Reader. Le autorizzazioni con granularità fine e la relativa assegnazione sono descritte in dettaglio in abilitazione delle entità servizio per creare utenti di Microsoft Entra.
Importante
database SQL di Azure e Istanza gestita di SQL usano modelli di autorizzazione diversi per l'accesso Microsoft Graph:
-
database SQL di Azure e Azure Synapse Analytics: supportare autorizzazioni API Graph Microsoft con granularità fine (ad esempio
User.Read.All,GroupMember.Read.AlleApplication.Read.All) assegnate direttamente all'identità del server. Questo approccio segue il principio dei privilegi minimi ed è consigliato. Per istruzioni passo passo, vedere Abilitare le entità servizio per creare utenti di Microsoft Entra. Il ruolo Lettori della directory può essere usato anche come alternativa più ampia. Istanza gestita di SQL : richiede le autorizzazioni Directory Readers o autorizzazioni dettagliate di Microsoft Graph equivalenti assegnate all'identità dell'istanza. Il portale di Azure fornisce un pratico banner nella pagina Microsoft Entra ID che richiede di concedere il ruolo Lettori Directory. Seguire la procedura descritta nella sezione del Ruolo Lettori della directory.
Se si configura database SQL di Azure, non è necessario assegnare il ruolo Lettori Directory per la configurazione di base dell'amministratore di Microsoft Entra. Assegnare invece le autorizzazioni di Microsoft Graph con granularità fine all'identità del server, come descritto in Identità gestite in Microsoft Entra per Azure SQL.
Ruolo Lettori della Directory
Il ruolo Directory Reader e il banner del portale descritto in questa sezione si applicano principalmente a Istanza gestita di SQL. Per database SQL di Azure, è possibile assegnare autorizzazioni di Microsoft Graph dettagliate oppure usare facoltativamente i lettori di directory come alternativa più ampia.
- Portal di Azure
- PowerShell
- interfaccia della riga di comando di Azure
- API REST
La pagina Microsoft Entra ID per Istanza gestita di SQL nel portale di Azure visualizza un banner pratico quando all'istanza non vengono assegnate le autorizzazioni di lettura directory.
Selezionare il banner nella parte superiore della pagina Microsoft Entra ID e concedere l'autorizzazione all'identità gestita assegnata dal sistema o assegnata dall'utente che rappresenta l'istanza. Questa operazione può essere eseguita solo da un Amministratore del Ruolo Privilegiato o un ruolo superiore nel tuo tenant.
Nota
Se il banner non viene visualizzato, l'istanza potrebbe avere già il ruolo Lettori di directory assegnato oppure potresti non avere il ruolo Amministratore dei ruoli con privilegi richiesto. Se questo ruolo non è disponibile, chiedere all'amministratore tenant di concedere l'autorizzazione o usare il metodo PowerShell nella scheda PowerShell .
Quando l'operazione ha esito positivo, viene visualizzata una notifica di operazione riuscita nell'angolo in alto a destra:
L'amministratore Microsoft Entra può ora essere utilizzato per creare principali server Microsoft Entra (logins) e principali database (utenti). Per altre informazioni, vedere integrazione Microsoft Entra con Istanza gestita di SQL di Azure.
Creare entità di Microsoft Entra in SQL
Per connettersi a un database nel database SQL o in Azure Synapse Analytics con autenticazione Microsoft Entra, deve essere configurato un principal nel database per tale identità con almeno l'autorizzazione
Autorizzazioni per utenti di database
Quando viene creato un utente del database, riceve l'autorizzazione per il database per impostazione predefinita. Un utente del database eredita le autorizzazioni anche in altre due circostanze:
- Se l'utente è membro di un gruppo di Microsoft Entra a cui sono assegnate anche le autorizzazioni nel server.
- Se l'utente viene creato da un login, eredita le autorizzazioni assegnate dal server al login applicabili nel database.
La gestione delle autorizzazioni per server e entità di database funziona allo stesso modo indipendentemente dal tipo di entità (Microsoft Entra ID, autenticazione SQL e così via). È consigliabile concedere autorizzazioni ai ruoli del database anziché concedere direttamente le autorizzazioni agli utenti. Gli utenti potranno quindi essere aggiunti ai ruoli con autorizzazioni appropriate. Ciò semplifica la gestione a lungo termine delle autorizzazioni e riduce la probabilità che un'identità mantenga l'accesso passato quando è appropriato.
Per altre informazioni, vedi:
- Autorizzazioni ed esempi del motore di database
- Blog: nozioni di base sulle autorizzazioni motore di database
- Gestione di ruoli e account di accesso di database speciali in database SQL di Azure
Utenti del database contenuto
Un utente del database contenuto è un tipo di utente SQL non connesso a un login nel database. Per creare un utente del database contenuto Microsoft Entra, connettersi al database con un'identità Microsoft Entra che abbia almeno il permesso ALTER ANY USER**. Nell'esempio T-SQL seguente viene creata un'entità di database Microsoft_Entra_principal_name da Microsoft Entra ID.
CREATE USER [<Microsoft_Entra_principal_name>] FROM EXTERNAL PROVIDER;
Per creare un utente di database contenuto per un gruppo di Microsoft Entra, inserire il nome visualizzato del gruppo:
CREATE USER [ICU Nurses] FROM EXTERNAL PROVIDER;
Per creare un utente di database indipendente per un'identità gestita o un'entità servizio, immettere il nome visualizzato dell'identità:
CREATE USER [appName] FROM EXTERNAL PROVIDER;
Per creare un utente del database contenuto per un utente Microsoft Entra, immettere il nome principale dell'utente dell'identità:
CREATE USER [adrian@contoso.com] FROM EXTERNAL PROVIDER;
Utenti autenticati tramite accesso
Nota
Microsoft Entra principali del server (logins) sono attualmente in anteprima pubblica per database SQL di Azure e Azure Synapse Analytics. Microsoft Entra account di accesso sono disponibili a livello generale per Istanza gestita di SQL di Azure e SQL Server 2022.
Microsoft Entra supporta principali del server (o accessi), il che significa che gli utenti del database contenuto non sono necessari. Le entità di database (utenti) possono essere create in base a un'entità server, il che significa che gli utenti di Microsoft Entra possono ereditare le autorizzazioni assegnate a livello di server per un account di accesso.
CREATE USER [appName] FROM LOGIN [appName];
Per ulteriori informazioni, vedere la panoramica di Istanza gestita di SQL. Per la sintassi sulla creazione di entità server Microsoft Entra (account di accesso), vedere CREATE LOGIN.
Utenti esterni
Non è possibile creare direttamente un utente di database per un'identità gestita in un tenant di Microsoft Entra diverso da quello associato alla sottoscrizione Azure. Tuttavia, gli utenti nelle altre directory possono essere importati nella directory associata come utenti esterni. Possono quindi essere usate per creare utenti di database contenuti che possano accedere al database. Gli utenti esterni possono anche ottenere l'accesso tramite l'appartenenza a gruppi di Microsoft Entra.
Examples: Per creare un utente di database contenuto che rappresenti un utente di dominio federato o gestito di Microsoft Entra:
CREATE USER [alice@fabrikam.com] FROM EXTERNAL PROVIDER;
Un account utente di dominio federato importato in un dominio gestito come utente esterno deve usare l'identità del dominio gestito.
Considerazioni sul nome
I caratteri speciali, come i due punti o il simbolo e commerciale, quando inclusi come nomi utente nelle istruzioni T-SQL e le istruzioni, non sono supportati.
Microsoft Entra ID e Azure SQL divergono nella progettazione della gestione degli utenti in modo chiave: Microsoft Entra ID consente di duplicare i nomi visualizzati all'interno di un tenant, mentre Azure SQL richiede che tutte le entità server in un server o un'istanza e tutte le entità di database di un database abbiano un nome univoco. Poiché Azure SQL utilizza direttamente il nome visualizzazione di Microsoft Entra per l'identità durante la creazione dei principali, ciò può provocare errori durante la creazione degli utenti. Per risolvere questo problema, Azure SQL ha rilasciato il miglioramento WITH OBJECT_ID attualmente in anteprima, che consente agli utenti di specificare l'ID oggetto Microsoft Entra dell'identità aggiunta al server o all'istanza.
autorizzazioni Microsoft Graph
Il comando CREATE USER ... FROM EXTERNAL PROVIDER richiede Azure SQL l'accesso a Microsoft Entra ID (il "provider esterno") per conto dell'utente connesso. In alcuni casi, si verificano circostanze che causano Microsoft Entra ID restituire un'eccezione a Azure SQL.
- È possibile che venga visualizzato l'errore SQL 33134, che contiene il messaggio di errore specifico del Microsoft Entra ID. L'errore indica in genere che l'accesso è stato negato, che l'utente deve registrarsi con il metodo di autenticazione a più fattori per accedere alla risorsa o che l'accesso tra le applicazioni proprietarie deve essere gestito tramite pre-autorizzazione. Nei primi due casi, il problema è in genere causato dai criteri di accesso condizionale impostati nel tenant Microsoft Entra dell'utente: impediscono all'utente di accedere al provider esterno. L'aggiornamento dei criteri di accesso condizionale per consentire l'accesso all'applicazione '00000003-0000-0000-00000000000000' (ID applicazione del API Graph Microsoft) deve risolvere il problema. Se l'errore indica che l'accesso tra le applicazioni di prim'ordine deve essere gestito tramite pre-autorizzazione, il problema è dovuto al fatto che l'utente ha eseguito l'accesso come principale del servizio. Il comando dovrebbe avere esito positivo se eseguito da un utente.
- Se viene visualizzato un timeout di connessione Scaduto, potrebbe essere necessario impostare il parametro
TransparentNetworkIPResolutiondel stringa di connessione su false. Per altre informazioni, vedere Problema di timeout della connessione con .NET Framework 4.6.1 - TransparentNetworkIPResolution.
Per ulteriori informazioni sulla creazione di utenti dei database contenuti basati su identità Microsoft Entra, vedere CREATE USER.
Configurare l'autenticazione a più fattori
Per una maggiore sicurezza per la risorsa Azure SQL, è consigliabile configurare multifactor authentication (MFA), che richiede all'utente di usare un secondo metodo alternativo per l'autenticazione al database, ad esempio una chiamata telefonica o un'app di autenticazione.
Per usare l'autenticazione a più fattori con la risorsa Azure SQL, usare prima abilitare l'autenticazione a più fattori e quindi usare un criterio di accesso Criteri di accesso condizionale per applicare l'autenticazione a più fattori per la risorsa Azure SQL.
Connettersi con Microsoft Entra
Dopo aver configurato l'autenticazione di Microsoft Entra, è possibile utilizzarla per connettersi alla risorsa SQL con strumenti Microsoft come SQL Server Management Studio e SQL Server Data Tools e configurare le applicazioni client per connettersi usando le identità Microsoft Entra.
Risolvere i problemi di autenticazione Microsoft Entra
Per indicazioni sulla risoluzione dei problemi, vedere Blog: Risoluzione dei problemi relativi all'autenticazione Microsoft Entra con database SQL di Azure e Azure Synapse.
Contenuto correlato
- Autorizzare l'accesso al database SQL, Istanza gestita di SQL e Azure Synapse Analytics
- Identità gestite in Microsoft Entra per Azure SQL
- Microsoft Entra principali di servizio con Azure SQL
- Principali
- ruoli del database
- database SQL di Azure e regole del firewall IP Azure Synapse
- Creare Microsoft Entra utenti guest e impostarli come amministratore di Microsoft Entra
- Tutorial: Creare utenti Microsoft Entra usando applicazioni Microsoft Entra