Autorizzare l'accesso al database a Istanza gestita di SQL di Azure

Si applica a:Istanza gestita di SQL di Azure

In questo articolo vengono fornite informazioni su:

  • Opzioni di configurazione per Istanza gestita di SQL che consentono agli utenti di eseguire attività amministrative e accedere ai dati archiviati in questi database.
  • Configurazione di accesso e autorizzazione dopo la creazione di un nuovo server.
  • Come aggiungere account di accesso nel database master e quindi concedere a questi account le autorizzazioni amministrative.
  • Come aggiungere account utente nei database utente, associati ad account di accesso o come account utente contenuti.
  • Come configurare account utente con le autorizzazioni nei database utente usando i ruoli del database e le autorizzazioni esplicite.
  • Per database SQL di Azure, vedere Autorizzare l'accesso al database SQL.
  • Per Azure Synapse Analytics, vedere Autorizzare l'accesso al database a Azure Synapse Analytics.

Note

Microsoft Entra ID era noto in precedenza come Azure Active Directory (Azure AD).

Autenticazione e autorizzazione

L'autenticazione è il processo atto a dimostrare che l'utente sia effettivamente chi dichiara di essere. Un utente si connette a un database usando un account utente.

Quando un utente tenta di connettersi a un database, specifica un account utente e le informazioni di autenticazione. L'utente viene autenticato usando uno dei due metodi di autenticazione seguenti:

Account di accesso e utenti: è possibile associare un account utente in un database a un account di accesso archiviato dal master database oppure impostarlo come nome utente archiviato da un singolo database.

  • Un account di accesso è un account nel master database a cui è possibile collegare un account utente in uno o più database. Utilizzando un login, vengono memorizzati i dati delle credenziali per l'account utente associato al login.
  • Un account utente è un singolo account in qualsiasi database che potrebbe essere, ma non deve essere collegato a un account di accesso. Usando un account utente non collegato a un account di accesso, le informazioni sulle credenziali vengono archiviate con l'account utente.

L'autorizzazione ad accedere ai dati ed eseguire varie azioni viene gestita usando ruoli del database e autorizzazioni esplicite. L'autorizzazione fa riferimento alle autorizzazioni assegnate a un utente e determina le operazioni che l'utente può eseguire. Le appartenenze ai ruoli del database dell'account utente e le autorizzazioni a livello di oggetto controllano l'autorizzazione. Come procedura consigliata, concedere agli utenti i privilegi minimi necessari.

Account di accesso e account utente esistenti dopo la creazione di un nuovo database

Quando si distribuisce per la prima volta una risorsa Azure SQL, specificare un nome di accesso e una password per un tipo speciale di account di accesso amministrativo, l'amministratore Server. Durante la distribuzione, si verifica la configurazione seguente di account di accesso e utenti nei database master e utente:

Importante

Non includere informazioni personali, sensibili o riservate nel campo nome dell'account di accesso dell'amministratore del server. I dati immessi in questo campo non sono considerati dati dei clienti.

  • Il processo di distribuzione crea un account di accesso con autenticazione SQL con privilegi amministrativi usando il nome di accesso specificato. Un account di accesso è un singolo account per l'accesso a Istanza gestita di SQL di Azure.
  • Il processo di distribuzione concede a questo account di accesso di autenticazione autorizzazioni amministrative complete per tutti i database come entità a livello di server. L'accesso di autenticazione dispone di tutte le autorizzazioni disponibili e non può essere limitato. In un'istanza gestita di SQL, il processo di distribuzione aggiunge questo account di accesso per l'autenticazione al ruolo del server predefinito sysadmin.
  • Quando questo account accede a un database, corrisponde all'account utente speciale (account dboutente), presente in ogni database utente. L'utente dbo dispone di tutte le autorizzazioni di database nel database ed è membro del ruolo predefinito del database db_owner. Ulteriori ruoli predefiniti del database sono descritti più avanti in questo articolo.

Per identificare l'account amministratore del server :

  1. Passare a Azure SQL hub all'indirizzo aka.ms/azuresqlhub.
  2. Nel menu delle risorse passare all'istanza gestita di SQL.
  3. In Impostazioni selezionare la pagina Proprietà .
  4. Visualizzare i valori per l'accesso amministrativo del server o l'amministratore di Microsoft Entra.

Importante

Non è possibile modificare il nome dell'account amministratore del server dopo averlo creato. Per reimpostare la password, passare al portale di Azure, selezionare l'istanza gestita di SQL e selezionare Reimposta password. È anche possibile usare PowerShell o l'interfaccia della riga di comando di Azure.

Creare ulteriori account di accesso e utenti con autorizzazioni amministrative

A questo punto, l'istanza gestita di SQL è configurata solo per un singolo account di accesso e account utente per l'autenticazione SQL. Per creare account di accesso aggiuntivi con autorizzazioni amministrative complete o parziali, usare le opzioni seguenti:

  • Creare un account amministratore di Microsoft Entra con autorizzazioni amministrative complete

    Abilitare l'autenticazione Microsoft Entra e aggiungere un amministratore Microsoft Entra. È possibile configurare un account Microsoft Entra come amministratore della distribuzione Azure SQL con autorizzazioni amministrative complete. Questo account può essere un account utente singolo o di un gruppo di sicurezza. È necessario configurare un amministratore Microsoft Entra se si desidera usare gli account Microsoft Entra per connettersi a Istanza gestita di SQL di Azure. Per informazioni dettagliate sull'abilitazione dell'autenticazione a Microsoft Entra per tutti i tipi di distribuzione Azure SQL, vedere gli articoli seguenti:

  • In Istanza gestita di SQL creare account di accesso di autenticazione SQL con autorizzazioni amministrative complete

    Note

    I ruoli dbmanager e loginmanager non si applicano alle distribuzioni di Istanza gestita di SQL di Azure.

Creare account per utenti non amministratori

Creare account per utenti non amministrativi usando uno dei metodi seguenti:

  • Creare un account di accesso

    Creare un account di accesso per l'autenticazione SQL nel master database. Creare quindi un account utente in ogni database a cui l'utente deve accedere e associare l'account utente all'account di accesso. Usare questo approccio quando l'utente deve accedere a più database e si vuole mantenere sincronizzate le password. Tuttavia, questo approccio presenta complessità quando viene usata con la replica geografica perché l'account di accesso deve essere creato sia nel server primario che nei server secondari.

  • Crea un account utente

    Creare un account utente nel database a cui un utente deve accedere.

    Con l’Istanza gestita di SQL che supporta le entità server di Microsoft Entra, è possibile creare account utente per l'autenticazione all’Istanza gestita di SQL senza richiedere che gli utenti del database debbano essere creati come un utente di database indipendente.

    Usando questo approccio, le informazioni di autenticazione utente vengono archiviate in ogni database e replicate automaticamente in database con replica geografica. Tuttavia, se lo stesso account esiste in più database e si usa l'autenticazione SQL, è necessario mantenere le password sincronizzate manualmente. Inoltre, se un utente dispone di un account in database diversi con password diverse, la memorizzazione di tali password può costituire un problema.

Importante

Per creare utenti indipendenti mappati alle identità di Microsoft Entra in Istanza gestita di SQL, usare un account di accesso con autenticazione SQL con sysadmin autorizzazioni per creare anche un account di accesso o un utente di autenticazione Microsoft Entra.

Per esempi che illustrano come creare account di accesso e utenti, vedere:

Utilizzo di ruoli di database fissi e personalizzati

Dopo aver creato un account utente in un database, basato su un account di accesso o come utente indipendente, è possibile autorizzare l'utente a eseguire varie azioni e ad accedere ai dati in un database specifico. Usare i metodi seguenti per autorizzare l'accesso:

  • Ruoli predefiniti del database

    Aggiungere l'account utente a un ruolo predefinito del database. Sono disponibili nove ruoli predefiniti del database, ognuno con un set definito di autorizzazioni. I ruoli del database predefiniti più comuni sono i seguenti: db_owner, db_ddladmin, db_datawriter, db_datareader, db_denydatawriter e db_denydatareader. Usare db_owner per concedere l'autorizzazione completa solo a pochi utenti. Gli altri ruoli predefiniti del database sono utili per ottenere rapidamente un database semplice in fase di sviluppo, ma non sono consigliati per la maggior parte dei database di produzione. Il ruolo predefinito del database db_datareader, ad esempio, concede l'accesso in lettura a tutte le tabelle del database, che è più di quanto strettamente necessario.

  • Ruolo personalizzato del database

    Creare un ruolo del database personalizzato usando l'istruzione CREATE ROLE . Un ruolo personalizzato permette di creare ruoli del database definiti dall'utente e concedere con attenzione a ogni ruolo le autorizzazioni minime necessarie per le esigenze aziendali. Aggiungere quindi utenti al ruolo personalizzato. Quando un utente è membro di più ruoli, vengono aggregate le autorizzazioni di tutti.

  • Concedere direttamente le autorizzazioni

    Concedere all'account utente le autorizzazioni direttamente. Sono disponibili più di 100 autorizzazioni che è possibile concedere o negare singolarmente. Molte di queste autorizzazioni sono annidate. L'autorizzazione UPDATE per uno schema, ad esempio, include l'autorizzazione UPDATE per ogni tabella all'interno di tale schema. Come nella maggior parte dei sistemi di autorizzazioni, la negazione di un'autorizzazione determina l'override di una concessione. A causa dell'annidamento e del numero delle autorizzazioni, progettare un sistema di autorizzazioni appropriato per proteggere correttamente il database può richiedere un attento studio. Per iniziare, vedere l'elenco di autorizzazioni in Autorizzazioni (Motore di database) e la grafica in formato di poster relativa alle autorizzazioni.

Utilizzo di gruppi

Una gestione efficiente degli accessi assegna autorizzazioni a Microsoft Entra gruppi di sicurezza e ruoli predefiniti o personalizzati anziché a singoli utenti.

  • Quando si usa l'autenticazione a Microsoft Entra, inserire gli utenti di Microsoft Entra in un gruppo di sicurezza Microsoft Entra. Creare un utente di database indipendente per il gruppo. Aggiungere uno o più utenti del database come membro ai ruoli del database personalizzati o predefiniti con le autorizzazioni specifiche appropriate per tale gruppo di utenti.

  • Quando si usa l'autenticazione SQL, creare utenti di database indipendenti nel database. Inserire uno o più utenti di database in un ruolo del database personalizzato con autorizzazioni specifiche appropriate per il gruppo di utenti.

    Note

    È anche possibile usare i gruppi per gli utenti di database non indipendenti.

Acquisire familiarità con le funzionalità seguenti che possono essere usate per limitare o elevare le autorizzazioni:

Passo successivo