Usare l'autenticazione di Azure Active Directory per l'autenticazione di un database SQL o di SQL Data WarehouseUse Azure Active Directory Authentication for authentication with SQL Database or SQL Data Warehouse

L'autenticazione di Azure Active Directory è un meccanismo di connessione al database SQL di Microsoft Azure e a SQL Data Warehouse tramite le identità di Azure Active Directory (Azure AD).Azure Active Directory authentication is a mechanism of connecting to Microsoft Azure SQL Database and SQL Data Warehouse by using identities in Azure Active Directory (Azure AD). Con l'autenticazione di Azure AD è possibile gestire centralmente le identità degli utenti del database e altri servizi Microsoft.With Azure AD authentication, you can centrally manage the identities of database users and other Microsoft services in one central location. La gestione centrale degli ID consente di gestire gli utenti del database da un unico punto e semplifica la gestione delle autorizzazioni.Central ID management provides a single place to manage database users and simplifies permission management. Ecco alcuni vantaggi:Benefits include the following:

  • Offre un'alternativa all'autenticazione di SQL Server.It provides an alternative to SQL Server authentication.
  • Contribuisce ad arrestare la proliferazione delle identità utente nei server di database.Helps stop the proliferation of user identities across database servers.
  • Consente la rotazione delle password in un'unica posizione.Allows password rotation in a single place
  • I clienti possono gestire le autorizzazioni del database tramite gruppi (AAD) esterni.Customers can manage database permissions using external (AAD) groups.
  • Può eliminare l'archiviazione delle password abilitando l'autenticazione integrata di Windows e altre forme di autenticazione supportate da Azure Active Directory.It can eliminate storing passwords by enabling integrated Windows authentication and other forms of authentication supported by Azure Active Directory.
  • L'autenticazione di Azure SD usa gli utenti di un database indipendente per autenticare le identità a livello di database.Azure AD authentication uses contained database users to authenticate identities at the database level.
  • Azure AD supporta l'autenticazione basata su token per le applicazioni che si connettono a database SQL.Azure AD supports token-based authentication for applications connecting to SQL Database.
  • L'autenticazione di Azure AD supporta la federazione dei domini di AD FS o l'autenticazione utente/password nativa per un'istanza locale di Azure Active Directory senza la sincronizzazione del dominio.Azure AD authentication supports ADFS (domain federation) or native user/password authentication for a local Azure Active Directory without domain synchronization.
  • Azure AD supporta le connessioni da SQL Server Management Studio che utilizzano l'autenticazione universale di Active Directory, che include l'MFA (Multi-Factor Authentication).Azure AD supports connections from SQL Server Management Studio that use Active Directory Universal Authentication, which includes Multi-Factor Authentication (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.MFA includes strong authentication with a range of easy verification options — phone call, text message, smart cards with pin, or mobile app notification. Per altre informazioni Supporto di SQL Server Management Studio (SSMS) per l'autenticazione MFA di Azure AD con il database SQL e SQL Data Warehouse.For more information, see SSMS support for Azure AD MFA with SQL Database and SQL Data Warehouse.

Nota

La connessione a SQL Server in esecuzione su una macchina virtuale di Azure non è supportata con un account Azure Active Directory.Connecting to SQL Server running on an Azure VM is not supported using an Azure Active Directory account. Usare un account Active Directory di dominio.Use a domain Active Directory account instead.

I passaggi di configurazione includono le procedure seguenti per configurare e usare l'autenticazione di Azure Active Directory.The configuration steps include the following procedures to configure and use Azure Active Directory authentication.

  1. Creare e popolare un'istanza di Azure AD.Create and populate Azure AD.
  2. Facoltativo: associare o modificare l'istanza di Active Directory attualmente associata alla sottoscrizione di Azure.Optional: Associate or change the active directory that is currently associated with your Azure Subscription.
  3. Creare un amministratore di Azure Active Directory per il server di Azure SQL o per Azure SQL Data Warehouse.Create an Azure Active Directory administrator for Azure SQL server or Azure SQL Data Warehouse.
  4. Configurare i computer client.Configure your client computers.
  5. Creare gli utenti di database indipendente nel database di cui è stato eseguito il mapping alle identità di Azure AD.Create contained database users in your database mapped to Azure AD identities.
  6. Connettersi al database usando le identità di Azure AD.Connect to your database by using Azure AD identities.

Nota

Per informazioni su come creare e popolare Azure AD e quindi configurare Azure AD con il database SQL di Azure e SQL Data Warehouse, vedere Configurare Azure AD con il database SQL di Azure.To learn how to create and populate Azure AD, and then configure Azure AD with Azure SQL Database and SQL Data Warehouse, see Configure Azure AD with Azure SQL Database.

Architettura di attendibilitàTrust architecture

Il diagramma generale seguente riepiloga l'architettura della soluzione relativa all'uso dell'autenticazione di Azure AD con il database SQL di Azure SQL.The following high-level diagram summarizes the solution architecture of using Azure AD authentication with Azure SQL Database. Gli stessi concetti sono validi per SQL Data Warehouse.The same concepts apply to SQL Data Warehouse. Per supportare la password utente nativa di Azure AD, viene considerata solo la parte cloud e Azure AD o il database SQL di Azure.To support Azure AD native user password, only the Cloud portion and Azure AD/Azure SQL Database is considered. Per supportare l'autenticazione federata o l'autenticazione utente/password per le credenziali di Windows, è necessaria la comunicazione con il blocco AD FS.To support Federated authentication (or user/password for Windows credentials), the communication with ADFS block is required. Le frecce indicano i percorsi di comunicazione.The arrows indicate communication pathways.

diagramma di autenticazione di aad

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.The following diagram indicates the federation, trust, and hosting relationships that allow a client to connect to a database by submitting a token. Il cliente 1 può rappresentare un'istanza di Azure Active Directory con utenti nativi o con utenti federati.The token is authenticated by an Azure AD, and is trusted by the database. Il cliente 1 può rappresentare una Azure Active Directory con utenti nativi o una Azure AD con utenti federati.Customer 1 can represent an Azure Active Directory with native users or an Azure AD with federated users. In questo esempio provengono da un'istanza federata di Azure Active Directory con AD FS sincronizzato con Azure Active Directory.Customer 2 represents a possible solution including imported users; in this example coming from a federated Azure Active Directory with ADFS being synchronized with Azure Active Directory. È importante comprendere che l'accesso a un database con l'autenticazione di Azure AD richiede che la sottoscrizione di hosting sia associata ad Azure AD.It's important to understand that access to a database using Azure AD authentication requires that the hosting subscription is associated to the Azure AD. La stessa sottoscrizione deve essere utilizzata per creare il Server SQL che ospita l'Azure SQL Data Warehouse o il database SQL di Azure.The same subscription must be used to create the SQL Server hosting the Azure SQL Database or SQL Data Warehouse.

relazione di sottoscrizione

Struttura dell'account amministratoreAdministrator structure

Quando si usa l'autenticazione di Azure AD, sono disponibili due account amministratore per il server di database SQL, l'amministratore del server SQL originale e l'amministratore di Azure AD.When using Azure AD authentication, there are two Administrator accounts for the SQL Database server; the original SQL Server administrator and the Azure AD administrator. Gli stessi concetti sono validi per SQL Data Warehouse.The same concepts apply to SQL Data Warehouse. Solo l'amministratore basato su un account Azure AD può creare il primo utente di database indipendente di Azure AD in un database utente.Only the administrator based on an Azure AD account can create the first Azure AD contained database user in a user database. L'account di accesso dell'amministratore di Azure AD può essere un utente o un gruppo di Azure AD.The Azure AD administrator login can be an Azure AD user or an Azure AD group. Quando l'amministratore è un account di gruppo, può essere usato da qualsiasi membro del gruppo, abilitando quindi più amministratori di Azure AD per l'istanza di SQL Server.When the administrator is a group account, it can be used by any group member, enabling multiple Azure AD administrators for the SQL Server instance. 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 Azure AD senza apportare modifiche a utenti o autorizzazioni nel database SQL.Using group account as an administrator enhances manageability by allowing you to centrally add and remove group members in Azure AD without changing the users or permissions in SQL Database. È possibile configurare un solo amministratore di Azure AD (utente o gruppo) alla volta.Only one Azure AD administrator (a user or group) can be configured at any time.

struttura di amministrazione

AutorizzazioniPermissions

Per creare nuovi utenti, è necessario avere l'autorizzazione ALTER ANY USER sul database.To create new users, you must have the ALTER ANY USER permission in the database. L'autorizzazione ALTER ANY USER può esser concessa a qualsiasi utente di database.The ALTER ANY USER permission can be granted to any database user. L'autorizzazione ALTER ANY USER è assegnata anche agli account amministratore del server, 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.The ALTER ANY USER permission is also held by the server administrator accounts, and database users with the CONTROL ON DATABASE or ALTER ON DATABASE permission for that database, and by members of the db_owner database role.

Per creare un utente di database indipendente nel database SQL di Azure o in SQL Data Warehouse, è necessario connettesi al database con un'identità di Azure AD.To create a contained database user in Azure SQL Database or SQL Data Warehouse, you must connect to the database using an Azure AD identity. Per creare il primo utente di database indipendente, è necessario connettersi al database tramite un amministratore di Azure AD (che corrisponde al proprietario del database).To create the first contained database user, you must connect to the database by using an Azure AD administrator (who is the owner of the database). Questa procedura è illustrata in Configurare e gestire l'autenticazione di Azure Active Directory con il database SQL oppure con SQL Data Warehouse.This is demonstrated in Configure and manage Azure Active Directory authentication with SQL Database or SQL Data Warehouse. L'autenticazione di Azure AD è possibile unicamente se l'amministratore di Azure AD è stato creato per il server di database SQL di Azure o SQL Data Warehouse.Any Azure AD authentication is only possible if the Azure AD admin was created for Azure SQL Database or SQL Data Warehouse server. Se l'amministratore di Azure Active Directory è stato rimosso dal server, gli utenti di Azure Active Directory esistenti creati in precedenza all'interno di SQL Server non possono più connettersi al database con le credenziali di Azure Active Directory.If the Azure Active Directory admin was removed from the server, existing Azure Active Directory users created previously inside SQL Server can no longer connect to the database using their Azure Active Directory credentials.

Funzionalità e limitazioni di Azure ADAzure AD features and limitations

È possibile eseguire il provisioning dei membri di Azure AD seguenti nel server di Azure SQL o in SQL Data Warehouse:The following members of Azure AD can be provisioned in Azure SQL server or SQL Data Warehouse:

Connettersi usando le identità di Azure ADConnecting using Azure AD identities

L'autenticazione di Azure Active Directory supporta i metodi seguenti per la connessione a un database con le identità di Azure AD:Azure Active Directory authentication supports the following methods of connecting to a database using Azure AD identities:

  • Con l'autenticazione integrata di WindowsUsing integrated Windows authentication
  • Con un nome di entità e una password di Azure ADUsing an Azure AD principal name and a password
  • Con l'autenticazione del token dell'applicazioneUsing Application token authentication

Ulteriori considerazioniAdditional considerations

  • Per migliorare la gestibilità, è consigliabile effettuare il provisioning di un gruppo di Azure AD dedicato come amministratore.To enhance manageability, we recommended you provision a dedicated Azure AD group as an administrator.
  • È possibile configurare un solo amministratore di Azure AD, utente o gruppo, per un server di Azure SQL o Azure SQL Data Warehouse in qualsiasi momento.Only one Azure AD administrator (a user or group) can be configured for an Azure SQL server or Azure SQL Data Warehouse at any time.
  • Inizialmente solo un amministratore di Azure AD per server SQL può connettersi a SQL Server di Azure o a SQL Data Warehouse di Azure con un account Azure Active Directory.Only an Azure AD administrator for SQL Server can initially connect to the Azure SQL server or Azure SQL Data Warehouse using an Azure Active Directory account. L'amministratore di Active Directory può configurare gli utenti del database di Azure AD successivi.The Active Directory administrator can configure subsequent Azure AD database users.
  • È consigliabile impostare il timeout di connessione su 30 secondi.We recommend setting the connection timeout to 30 seconds.
  • 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 Azure Active Directory.SQL Server 2016 Management Studio and SQL Server Data Tools for Visual Studio 2015 (version 14.0.60311.1April 2016 or later) support Azure Active Directory authentication. L'autenticazione di Azure AD è supportata dal provider di dati .NET Framework per server SQL a partire da .NET Framework versione 4.6.(Azure AD authentication is supported by the .NET Framework Data Provider for SqlServer; at least version .NET Framework 4.6). Di conseguenza, le versioni più recenti di questi strumenti e applicazioni del livello dati (DAC e file con estensione bacpac) possono usare l'autenticazione di Azure AD.Therefore the newest versions of these tools and data-tier applications (DAC and .bacpac) can use Azure AD authentication.
  • ODBC versione 13.1 supporta l'autenticazione di Azure Active Directory, tuttavia bcp.exe non può connettersi mediante l'autenticazione di Azure Active Directory perché usa un provider ODBC meno recente.ODBC version 13.1 supports Azure Active Directory authentication however bcp.exe cannot connect using Azure Active Directory authentication because it uses an older ODBC provider.
  • sqlcmd supporta l'autenticazione di Azure Active Directory iniziando con la versione 13.1 disponibile in Download Center.sqlcmd supports Azure Active Directory authentication beginning with version 13.1 available from the Download Center.
  • SQL Server Data Tools per Visual Studio 2015 richiede almeno la versione 14.0.60311.1 di aprile 2016.SQL Server Data Tools for Visual Studio 2015 requires at least the April 2016 version of the Data Tools (version 14.0.60311.1). Gli utenti di Azure AD non sono attualmente visualizzati in Esplora oggetti di SSDT.Currently Azure AD users are not shown in SSDT Object Explorer. Come soluzione alternativa è possibile visualizzare gli utenti in sys.database_principals.As a workaround, view the users in sys.database_principals.
  • Microsoft JDBC Driver 6.0 per server SQL supporta l'autenticazione di Azure AD.Microsoft JDBC Driver 6.0 for SQL Server supports Azure AD authentication. Vedere anche l'argomento su come impostare le proprietà della connessione.Also, see Setting the Connection Properties.
  • PolyBase non può eseguire l'autenticazione di Azure AD.PolyBase cannot authenticate by using Azure AD authentication.
  • L'autenticazione di Azure AD è supportata per il database SQL nei pannelli Importa database ed Esporta database del portale di Azure.Azure AD authentication is supported for SQL Database by the Azure portal Import Database and Export Database blades. L'importazione e l'esportazione tramite l'autenticazione di Azure AD è supportata anche dal comando PowerShell.Import and export using Azure AD authentication is also supported from the PowerShell command.
  • L'autenticazione di Azure AD è supportata per il database SQL e SQL Data Warehouse usando l'interfaccia della riga di comando di Azure.Azure AD authentication is supported for SQL Database and SQL Data Warehouse by use CLI. Per altre informazioni, vedere Configurare e gestire l'autenticazione di Azure Active Directory con il database SQL oppure con SQL Data Warehouse e SQL Server - az sql server.For more information, see Configure and manage Azure Active Directory authentication with SQL Database or SQL Data Warehouse and SQL Server - az sql server.

Passaggi successiviNext steps