Usare l Azure Active Directory autenticazione

SI APPLICA A: Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics

Azure Active Directory (Azure AD) è un meccanismo per la connessione a database SQL di Azure, Azure SQL Istanza gestitae Synapse SQL in Azure Synapse Analytics usando le identità in Azure AD.

Nota

Questo articolo si applica database SQL di Azure, SQL Istanza gestita e Azure Synapse Analytics.

Con l'autenticazione di Azure AD è possibile gestire centralmente le identità degli utenti del database e altri servizi Microsoft. La gestione centrale degli ID consente di gestire gli utenti del database da un unico punto e semplifica la gestione delle autorizzazioni. Ecco alcuni vantaggi:

  • Offre un'alternativa all'autenticazione di SQL Server.

  • Consente di arrestare la proliferazione delle identità utente tra i server.

  • Consente la rotazione delle password in un'unica posizione.

  • I clienti possono gestire le autorizzazioni del database usando gruppi (Azure AD) esterni.

  • Può eliminare l'archiviazione delle password abilitando l'autenticazione integrata di Windows e altre forme di autenticazione supportate da 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 supporta l'autenticazione basata su token per le applicazioni che si connettono database SQL e SQL Istanza gestita.

  • Azure AD'autenticazione supporta:

  • Azure AD supporta le connessioni da SQL Server Management Studio che usano l'autenticazione universale di Active Directory, che include Multi-Factor Authentication. Multi-Factor Authentication include un'autenticazione avanzata con una gamma di semplici opzioni di verifica: telefonata, SMS, smart card con pin o notifica dell'app per dispositivi mobili. Per altre informazioni, vedere Supporto SSMS per Azure AD Multi-Factor Authentication con database SQL di Azure, SQL Istanza gestita e Azure Synapse

  • Azure AD supporta connessioni analoghe da SQL Server Data Tools (SSDT) che usano l'autenticazione interattiva di Active Directory. Per altre informazioni, vedere supporto Azure Active Directory in SQL Server Data Tools (SSDT)

Nota

La connessione a un'istanza di SQL Server in esecuzione in una macchina virtuale di Azure non è supportata con un account di Azure Active Directory. Usare un account Active Directory di dominio.

I passaggi di configurazione includono le procedure seguenti per configurare e usare l'autenticazione di Azure Active Directory.

  1. Creare e popolare un'istanza di Azure AD.
  2. Facoltativo: associare o modificare l'istanza di Active Directory attualmente associata alla sottoscrizione di Azure.
  3. Creare un Azure Active Directory amministratore.
  4. Configurare i computer client.
  5. Creare gli utenti di database indipendente nel database di cui è stato eseguito il mapping alle identità di Azure AD.
  6. Connettersi al database usando le identità di Azure AD.

Nota

Per informazioni su come creare e popolare Azure AD e quindi configurare Azure AD con database SQL di Azure, SQL Istanza gestita e Synapse SQL in Azure Synapse Analytics, vedere ConfigurareAzure AD con database SQL di Azure .

Architettura di attendibilità

  • Solo la parte cloud di Azure AD, database SQL, SQL Istanza gestita e Azure Synapse è considerata in grado di supportare Azure AD password utente native.
  • Per supportare Windows credenziali Single Sign-On (o utente/password per le credenziali di Windows), usare le credenziali Azure Active Directory di un dominio federato o gestito configurato per l'accesso Single Sign-On facile per l'autenticazione pass-through e dell'hash delle password. Per altre informazioni, vedere Accesso Single Sign-On facile di Azure Active Directory.
  • Per supportare l'autenticazione federata o l'autenticazione utente/password per le credenziali di Windows, è necessaria la comunicazione con il blocco AD FS.

Per altre informazioni sulle Azure AD ibride, la configurazione e la sincronizzazione, vedere gli articoli seguenti:

Per un esempio di autenticazione federata con infrastruttura ADFS (o utente/password per Windows credenziali), vedere il diagramma seguente. Le frecce indicano i percorsi di comunicazione.

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. Il cliente 1 può rappresentare un'istanza di Azure Active Directory con utenti nativi o con utenti federati. Il cliente 1 può rappresentare una Azure Active Directory con utenti nativi o una Azure AD con utenti federati. Il cliente 2 rappresenta una possibile soluzione che include gli utenti importati, in questo esempio proveniente da un Azure Active Directory federato con ADFS sincronizzato con 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. La stessa sottoscrizione deve essere usata per creare database SQL di Azure, SQL Istanza gestita o Azure Synapse risorse.

relazione di sottoscrizione

Struttura dell'account amministratore

Quando si Azure AD l'autenticazione, sono disponibili due account amministratore: l'amministratore database SQL di Azure originale e l'Azure AD amministratore. Gli stessi concetti si applicano a Azure Synapse. Solo l'amministratore basato su un account Azure AD può creare il primo utente di database indipendente di Azure AD in un database utente. L'account di accesso dell'amministratore di Azure AD può essere un utente o un gruppo di Azure AD. Quando l'amministratore è un account di gruppo, può essere usato da qualsiasi membro del gruppo, abilitando più amministratori Azure AD per il server. L'uso dell'account di gruppo come amministratore migliora la gestibilità consentendo di aggiungere e rimuovere centralmente i membri del gruppo in Azure AD senza modificare gli utenti o le autorizzazioni in database SQL o Azure Synapse. È possibile configurare un solo amministratore di Azure AD (utente o gruppo) alla volta.

struttura di amministrazione

Autorizzazioni

Per creare nuovi utenti, è necessario avere l'autorizzazione ALTER ANY USER sul database. L'autorizzazione ALTER ANY USER può esser concessa a qualsiasi utente di database. 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.

Per creare un utente di database indipendente in database SQL di Azure, SQL Istanza gestita o Azure Synapse, è necessario connettersi al database o all'istanza usando un'Azure AD identità. Per creare il primo utente di database indipendente, è necessario connettersi al database tramite un amministratore di Azure AD (che corrisponde al proprietario del database). Come illustrato in Configurare e gestire l'autenticazione Azure Active Directory con database SQL o Azure Synapse. Azure AD'autenticazione è possibile solo se l'amministratore Azure AD è stato creato per database SQL di Azure, SQL Istanza gestita o Azure Synapse. 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.

Funzionalità e limitazioni di Azure AD

  • È possibile effettuare il provisioning dei Azure AD seguenti per i database SQL di Azure:

    • Membri nativi: un membro creato in Azure AD nel dominio gestito o in un dominio del cliente. Per altre informazioni, vedere Aggiungere un nome di dominio personalizzato ad Azure AD.
    • I membri di un dominio di Active Directory federati con Azure Active Directory in un dominio gestito configurato per l'accesso Single Sign-On facile con autenticazione pass-through o hash delle password. Per altre informazioni, vedere Microsoft Azure supporta ora la federazione con Windows Server Active Directory e Azure Active Directory Seamless Single Sign-On.
    • Membri importati da altre istanze di Azure AD che sono membri nativi o del dominio federato.
    • Gruppi di Active Directory creati come gruppi di sicurezza.
  • Azure AD utenti che fanno parte di un gruppo con ruolo del server non possono usare la sintassi db_owner CREATE DATABASE SCOPED CREDENTIAL database SQL di Azure e Azure Synapse. Verrà visualizzato l'errore seguente:

    SQL Error [2760] [S0001]: The specified schema name 'user@mydomain.com' either does not exist or you do not have permission to use it.

    Assegnare il ruolo db_owner direttamente all'utente di Azure AD per mitigare il problema CREATE DATABASE SCOPED CREDENTIAL.

  • Queste funzioni di sistema restituiscono valori NULL quando vengono eseguite nell'ambito di entità di sicurezza di Azure AD:

    • SUSER_ID()
    • SUSER_NAME(<admin ID>)
    • SUSER_SNAME(<admin SID>)
    • SUSER_ID(<admin name>)
    • SUSER_SID(<admin name>)

Istanza gestita di SQL

  • Azure AD le entità server (account di accesso) e gli utenti sono supportati per SQL Istanza gestita.
  • L'Azure AD di entità server (account di accesso) mappate a un gruppo Azure AD come proprietario del database non è supportata in SQL Istanza gestita.
    • Un'estensione di questo è che quando un gruppo viene aggiunto come parte del ruolo del server, gli utenti di questo gruppo possono connettersi al SQL Istanza gestita e creare nuovi database, ma non potranno accedere al dbcreator database. Il nuovo proprietario del database, infatti, è SA e non l'utente di Azure AD. Questo problema non si verifica se al ruolo del server dbcreator si aggiunge il singolo utente.
  • SQL La gestione degli agenti e l'esecuzione dei processi sono Azure AD entità server (account di accesso).
  • Le operazioni di backup e ripristino del database possono essere eseguite dalle entità server (account di accesso) di Azure AD.
  • È supportato il controllo di tutte le istruzioni relative agli eventi di autenticazione e alle entità server (account di accesso) di Azure AD.
  • È supportata la connessione amministrativa dedicata per le entità server (account di accesso) di Azure AD membri del ruolo del server sysadmin.
    • È supportata tramite l'utilità SQLCMD e SQL Server Management Studio.
  • Sono supportati i trigger di accesso per gli eventi di accesso provenienti dalle entità server (account di accesso) di Azure AD.
  • Usando un'entità server (account di accesso) di Azure AD è possibile configurare Service Broker e la posta elettronica del database.

Connettersi usando le identità di Azure AD

L'autenticazione di Azure Active Directory supporta i metodi seguenti per la connessione a un database con le identità di Azure AD:

  • Password di Azure Active Directory
  • Autenticazione integrata di Azure Active Directory
  • Azure Active Directory Universale con Multi-Factor Authentication
  • Con l'autenticazione del token dell'applicazione

Per le entità server (account di accesso) di Azure AD sono supportati i metodi di autenticazione seguenti:

  • Password di Azure Active Directory
  • Autenticazione integrata di Azure Active Directory
  • Azure Active Directory Universale con Multi-Factor Authentication

Altre considerazioni

  • Per migliorare la gestibilità, è consigliabile effettuare il provisioning di un gruppo di Azure AD dedicato come amministratore.
  • È possibile Azure AD un solo amministratore (un utente o un gruppo) per un server in database SQL o Azure Synapse in qualsiasi momento.
    • L'aggiunta Azure AD entità server (account di accesso) per SQL Istanza gestita consente di creare più entità server (account di accesso) Azure AD che possono essere aggiunte al sysadmin ruolo.
  • Solo un Azure AD del server può connettersi inizialmente al server o all'istanza gestita usando un account Azure Active Directory locale. L'amministratore di Active Directory può configurare gli utenti del database di Azure AD successivi.
  • Azure AD utenti ed entità servizio (applicazioni Azure AD) membri di più di 2048 gruppi di sicurezza Azure AD non sono supportati per l'accesso al database in database SQL, Istanza gestita o Azure Synapse.
  • È consigliabile impostare il timeout di connessione su 30 secondi.
  • 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. L'autenticazione di Azure AD è supportata dal provider di dati .NET Framework per server SQL a partire da .NET Framework versione 4.6. Di conseguenza, le versioni più recenti di questi strumenti e applicazioni livello dati (DAC e BACPAC) possono usare Azure AD autenticazione.
  • A partire dalla versione 15.0.1, l'utilità sqlcmd e l'utilità bcp supportano l'autenticazione interattiva di Active Directory con Multi-Factor Authentication.
  • SQL Server Data Tools per Visual Studio 2015 richiede almeno la versione 14.0.60311.1 di aprile 2016. Attualmente, Azure AD utenti non vengono visualizzati in SSDT Esplora oggetti. Come soluzione alternativa è possibile visualizzare gli utenti in sys.database_principals.
  • Microsoft JDBC Driver 6.0 per server SQL supporta l'autenticazione di Azure AD. Vedere anche l'argomento su come impostare le proprietà della connessione.
  • PolyBase non può eseguire l'autenticazione di Azure AD.
  • Azure AD'autenticazione è supportata database SQL di Azure e Azure Synapse tramite i portale di Azure Importa database ed Esporta database. L'importazione e l'esportazione Azure AD'autenticazione è supportata anche da un comando di PowerShell.
  • Azure AD'autenticazione è supportata per database SQL, SQL Istanza gestita e Azure Synapse con l'interfaccia della riga di comando. Per altre informazioni, vedere Configurare e gestire l'autenticazione Azure AD con database SQL o Azure Synapse e SQL Server - az sql server.

Passaggi successivi