Si applica a:
Database SQL di Azure
Istanza gestita di SQL di Azure
Questo articolo illustra come abilitare la funzionalità di autenticazione basata solo su Microsoft Entra all'interno di database SQL di Azure e Istanza gestita di SQL di Azure. Se si sta cercando di effettuare il provisioning di un database SQL o di Istanza gestita di SQL con l'autenticazione basata solo su Microsoft Entra abilitata, vedere Creare un server con l'autenticazione basata solo su Microsoft Entra abilitata in Azure SQL.
Nota
Microsoft Entra ID era precedentemente conosciuto come Azure Active Directory (Azure AD).
In questa esercitazione apprenderai a:
- Assegnare un ruolo per abilitare l'autenticazione basata solo su Microsoft Entra
- Abilitare l'autenticazione basata solo su Microsoft Entra usando il portale di Azure, l'interfaccia della riga di comando di Azure o PowerShell
- Controllare se l'autenticazione basata solo su Microsoft Entra è abilitata
- Testare la connessione ad Azure SQL
- Disabilitare l'autenticazione basata solo su Microsoft Entra usando il portale di Azure, l'interfaccia della riga di comando di Azure o PowerShell
Prerequisiti
Assegnare un ruolo per abilitare l'autenticazione basata solo su Microsoft Entra
Per abilitare o disabilitare l'autenticazione basata solo su Microsoft Entra, i ruoli predefiniti selezionati sono necessari per gli utenti di Microsoft Entra che eseguono queste operazioni in questa esercitazione. In questa esercitazione verrà assegnato il ruolo Gestore sicurezza SQL all'utente.
Per altre informazioni su come assegnare un ruolo a un account di Microsoft Entra, vedere Assegnare ruoli di amministratore e non amministratore agli utenti con Microsoft Entra ID
Per altre informazioni sull'autorizzazione necessaria per abilitare o disabilitare l'autenticazione basata solo su Microsoft Entra, vedere l'articolo Sezione Autorizzazioni dell'autenticazione basata solo su Microsoft Entra.
In questo esempio si assegnerà il ruolo Gestore sicurezza SQL all'utente UserSqlSecurityManager@contoso.onmicrosoft.com
. Usando l'utente con privilegi che può assegnare ruoli di Microsoft Entra, accedere al portale di Azure.
Passare alla risorsa di SQL Server e, nel menu, selezionare Controllo di accesso (IAM). Selezionare il pulsante Aggiungi e quindi Aggiungi assegnazione di ruolo nel menu a discesa.
Nel riquadro Aggiungi assegnazione di ruolo selezionare il ruolo Gestore sicurezza SQL e selezionare l'utente a cui si vuole concedere la possibilità di abilitare o disabilitare l'autenticazione basata solo su Microsoft Entra.
Fare clic su Salva.
Abilitare l'autenticazione basata solo su Microsoft Entra
Abilitare nel database SQL tramite il portale di Azure
Per abilitare l'autenticazione basata solo su Microsoft Entra nel portale di Azure, seguire questa procedura:
Usando l'utente con il ruolo Gestore sicurezza SQL, passare al portale di Azure.
Passare alla risorsa di SQL Server e selezionare Microsoft Entra ID dal menu Impostazioni.
Se non è stato aggiunto un amministratore di Microsoft Entra, è necessario impostarlo prima di abilitare l'autenticazione basata solo su Microsoft Entra.
Selezionare la casella Supportare solo l'autenticazione di Microsoft Entra per questo server.
Verrà visualizzato il popup Abilitare l'autenticazione basata solo su Microsoft Entra. Seleziona Sì per abilitare la funzionalità e Salva l'impostazione.
Abilitare in Istanza gestita di SQL tramite il portale di Azure
Per abilitare l'autenticazione basata solo su Microsoft Entra nel portale di Azure, vedere la procedura seguente.
Usando l'utente con il ruolo Gestore sicurezza SQL, passare al portale di Azure.
Passare alla risorsa Istanza gestita di SQL e selezionare amministratore di Microsoft Entra nel menu Impostazioni.
Se non è stato aggiunto un amministratore di Microsoft Entra, è necessario impostarlo prima di abilitare l'autenticazione basata solo su Microsoft Entra.
Selezionare la casella di controllo Supportare solo l'autenticazione di Microsoft Entra per questa istanza gestita.
Verrà visualizzato il popup Abilitare l'autenticazione basata solo su Microsoft Entra. Seleziona Sì per abilitare la funzionalità e Salva l'impostazione.
Abilitare nel database SQL tramite l'interfaccia della riga di comando di Azure
Per abilitare l'autenticazione basata solo su Microsoft Entra nel database SQL di Azure tramite l'interfaccia della riga di comando di Azure, vedere i comandi seguenti. Installare la versione più recente dell'interfaccia della riga di comando di Azure. È necessaria la versione 2.14.2 o versioni successive dell'interfaccia della riga di comando di Azure. Per altre informazioni su questi comandi vedere az sql server ad-only-auth.
Per altre informazioni sulla gestione dell'autenticazione basata solo su Microsoft Entra con le API, vedere Gestione dell'autenticazione basata solo su Microsoft Entra tramite API.
Nota
L'amministratore di Microsoft Entra deve essere impostato per il server prima di abilitare l'autenticazione basata solo su Microsoft Entra. In caso contrario, il comando dell'interfaccia della riga di comando di Azure avrà esito negativo.
Per le autorizzazioni e le azioni necessarie all'utente che esegue questi comandi per abilitare l'autenticazione basata solo su Microsoft Entra, vedere l'articolo Autenticazione basata solo su Microsoft Entra.
Accedere ad Azure usando l'account con il ruolo Gestore sicurezza SQL.
az login
Eseguire il comando seguente sostituendo <myserver>
con il nome del server SQL e <myresource>
con la risorsa di Azure che contiene il server SQL.
az sql server ad-only-auth enable --resource-group <myresource> --name <myserver>
Abilitare in Istanza gestita di SQL tramite l'interfaccia della riga di comando di Azure
Per abilitare l'autenticazione basata solo su Microsoft Entra in Istanza gestita di SQL di Azure tramite l'interfaccia della riga di comando di Azure, vedere i comandi seguenti. Installare la versione più recente dell'interfaccia della riga di comando di Azure.
Accedere ad Azure usando l'account con il ruolo Gestore sicurezza SQL.
az login
Eseguire il comando seguente sostituendo <myserver>
con il nome del server SQL e <myresource>
con la risorsa di Azure che contiene il server SQL.
az sql mi ad-only-auth enable --resource-group <myresource> --name <myserver>
Abilitare nel database SQL tramite PowerShell
Per abilitare l'autenticazione basata solo su Microsoft Entra nel database SQL di Azure tramite PowerShell, vedere i comandi seguenti. Per eseguire questi comandi, è necessario il modulo Az.Sql 2.10.0 o versione successiva. Per altre informazioni su questi comandi vedere Enable-AzSqlInstanceActiveDirectoryOnlyAuthentication.
Per altre informazioni sulla gestione dell'autenticazione basata solo su Microsoft Entra con le API, vedere Gestione dell'autenticazione basata solo su Microsoft Entra tramite API
Nota
L'amministratore di Microsoft Entra deve essere impostato per il server prima di abilitare l'autenticazione basata solo su Microsoft Entra. In caso contrario il comando di PowerShell avrà esito negativo.
Per le autorizzazioni e le azioni necessarie all'utente che esegue questi comandi per abilitare l'autenticazione basata solo su Microsoft Entra, vedere l'articolo Autenticazione basata solo su Microsoft Entra. Se l'utente dispone di autorizzazioni insufficienti, verrà visualizzato il seguente errore:
Enable-AzSqlServerActiveDirectoryOnlyAuthentication : The client
'UserSqlServerContributor@contoso.onmicrosoft.com' with object id
'<guid>' does not have authorization to perform
action 'Microsoft.Sql/servers/azureADOnlyAuthentications/write' over scope
'/subscriptions/<guid>...'
Accedere ad Azure usando l'account con il ruolo Gestore sicurezza SQL.
Connect-AzAccount
Eseguire il comando seguente sostituendo <myserver>
con il nome del server SQL e <myresource>
con la risorsa di Azure che contiene il server SQL.
Enable-AzSqlServerActiveDirectoryOnlyAuthentication -ServerName <myserver> -ResourceGroupName <myresource>
Abilitare in Istanza gestita di SQL tramite PowerShell
Per abilitare l'autenticazione basata solo su Microsoft Entra in Istanza gestita di SQL di Azure tramite PowerShell, vedere i comandi seguenti. Per eseguire questi comandi, è necessario il modulo Az.Sql 2.10.0 o versione successiva.
Per altre informazioni sulla gestione dell'autenticazione basata solo su Microsoft Entra con le API, vedere Gestione dell'autenticazione basata solo su Microsoft Entra tramite API.
Accedere ad Azure usando l'account con il ruolo Gestore sicurezza SQL.
Connect-AzAccount
Eseguire il comando seguente sostituendo <myinstance>
con il nome di Istanza gestita di SQL e <myresource>
con la risorsa di Azure che contiene Istanza gestita di SQL.
Enable-AzSqlInstanceActiveDirectoryOnlyAuthentication -InstanceName <myinstance> -ResourceGroupName <myresource>
Controllare lo stato dell'autenticazione basata solo su Microsoft Entra
Controllare se l'autenticazione basata solo su Microsoft Entra è abilitata per il server o l'istanza.
Controllare lo stato nel database SQL
Passare alla risorsa server SQL nel portale di Azure. Selezionare Microsoft Entra ID nel menu Impostazioni.
Controllare lo stato in Istanza gestita di SQL
Passare alla risorsa Istanza gestita di SQL nel portale di Azure. Selezionare amministratore Microsoft Entra nel menu Impostazioni.
Questi comandi possono essere usati per verificare se l'autenticazione basata solo su Microsoft Entra è abilitata per il server logico per database SQL di Azure o Istanza gestita di SQL. I membri dei ruoli collaboratore di SQL Server e collaboratore di Istanza gestita di SQL possono usare questi comandi per controllare lo stato dell'autenticazione basata solo su Microsoft Entra, ma non possono abilitare o disabilitare la funzionalità.
Controllare lo stato nel database SQL
Accedere ad Azure usando l'account con il ruolo Gestore sicurezza SQL. Per altre informazioni sulla gestione dell'autenticazione basata solo su Microsoft Entra con le API, vedere Gestione dell'autenticazione basata solo su Microsoft Entra tramite API
az login
Eseguire il comando seguente sostituendo <myserver>
con il nome del server SQL e <myresource>
con la risorsa di Azure che contiene il server SQL.
az sql server ad-only-auth get --resource-group <myresource> --name <myserver>
Verrà visualizzato l'output seguente:
{
"azureAdOnlyAuthentication": true,
"/subscriptions/<guid>/resourceGroups/mygroup/providers/Microsoft.Sql/servers/myserver/azureADOnlyAuthentications/Default",
"name": "Default",
"resourceGroup": "myresource",
"type": "Microsoft.Sql/servers"
}
Controllare lo stato in Istanza gestita di SQL
Accedere ad Azure usando l'account con il ruolo Gestore sicurezza SQL.
az login
Eseguire il comando seguente sostituendo <myserver>
con il nome del server SQL e <myresource>
con la risorsa di Azure che contiene il server SQL.
az sql mi ad-only-auth get --resource-group <myresource> --name <myserver>
Verrà visualizzato l'output seguente:
{
"azureAdOnlyAuthentication": true,
"id": "/subscriptions/<guid>/resourceGroups/myresource/providers/Microsoft.Sql/managedInstances/myinstance/azureADOnlyAuthentications/Default",
"name": "Default",
"resourceGroup": "myresource",
"type": "Microsoft.Sql/managedInstances"
}
Questi comandi possono essere usati per verificare se l'autenticazione basata solo su Microsoft Entra è abilitata per il server logico per database SQL di Azure o Istanza gestita di SQL. I membri dei ruoli collaboratore di SQL Server e collaboratore di Istanza gestita di SQL possono usare questi comandi per controllare lo stato dell'autenticazione basata solo su Microsoft Entra, ma non possono abilitare o disabilitare la funzionalità.
Lo stato restituirà True se la funzionalità è abilitata e False se è disabilitata.
Controllare lo stato nel database SQL
Accedere ad Azure usando l'account con il ruolo Gestore sicurezza SQL. Per altre informazioni sulla gestione dell'autenticazione basata solo su Microsoft Entra con le API, vedere Gestione dell'autenticazione basata solo su Microsoft Entra tramite API
Connect-AzAccount
Eseguire il comando seguente sostituendo <myserver>
con il nome del server SQL e <myresource>
con la risorsa di Azure che contiene il server SQL.
Get-AzSqlServerActiveDirectoryOnlyAuthentication -ServerName <myserver> -ResourceGroupName <myresource>
Controllare lo stato in Istanza gestita di SQL
Accedere ad Azure usando l'account con il ruolo Gestore sicurezza SQL.
Connect-AzAccount
Eseguire il comando seguente sostituendo <myinstance>
con il nome di Istanza gestita di SQL e <myresource>
con la risorsa di Azure che contiene Istanza gestita di SQL.
Get-AzSqlInstanceActiveDirectoryOnlyAuthentication -InstanceName <myinstance> -ResourceGroupName <myresource>
Testare l'autenticazione SQL con errore di connessione
Dopo aver abilitato l'autenticazione basata solo su Microsoft Entra, eseguire il test con SQL Server Management Studio (SSMS) per connettersi al database SQL o a Istanza gestita di SQL. Utilizzare l'autenticazione SQL per la connessione.
Il messaggio di accesso non riuscito dovrebbe essere simile all'output seguente:
Cannot connect to <myserver>.database.windows.net.
Additional information:
Login failed for user 'username'. Reason: Azure Active Directory only authentication is enabled.
Please contact your system administrator. (Microsoft SQL Server, Error: 18456)
Disabilitare l'autenticazione basata solo su Microsoft Entra
Disabilitando la funzionalità di autenticazione basata solo su Microsoft Entra, è possibile consentire sia l'autenticazione SQL che l'autenticazione di Microsoft Entra per Azure SQL.
Disabilitare nel database SQL tramite il portale di Azure
- Usando l'utente con il ruolo Gestore sicurezza SQL, passare al portale di Azure.
- Passare alla risorsa di SQL Server e selezionare Microsoft Entra ID dal menu Impostazioni.
- Per disabilitare la funzionalità di autenticazione basata solo su Microsoft Entra, deseleziona la casella di controllo Supportare solo l'autenticazione di Microsoft Entra per questo server e Salva l'impostazione.
Disabilitare in Istanza gestita di SQL tramite il portale di Azure
- Usando l'utente con il ruolo Gestore sicurezza SQL, passare al portale di Azure.
- Passare alla risorsa Istanza gestita di SQL e selezionare amministratore di Active Directory nel menu Impostazioni.
- Per disabilitare la funzionalità di autenticazione basata solo su Microsoft Entra, deseleziona la casella di controllo Supportare solo l'autenticazione di Microsoft Entra per questa istanza gestita e Salva l'impostazione.
Disabilitare nel database SQL tramite l'interfaccia della riga di comando di Azure
Per disabilitare l'autenticazione basata solo su Microsoft Entra nel database SQL di Azure tramite l'interfaccia della riga di comando di Azure, vedere i comandi seguenti.
Accedere ad Azure usando l'account con il ruolo Gestore sicurezza SQL.
az login
Eseguire il comando seguente sostituendo <myserver>
con il nome del server SQL e <myresource>
con la risorsa di Azure che contiene il server SQL.
az sql server ad-only-auth disable --resource-group <myresource> --name <myserver>
Dopo aver disabilitato l'autenticazione basata solo su Microsoft Entra, quando si controlla lo stato verrà visualizzato l'output seguente:
{
"azureAdOnlyAuthentication": false,
"/subscriptions/<guid>/resourceGroups/mygroup/providers/Microsoft.Sql/servers/myserver/azureADOnlyAuthentications/Default",
"name": "Default",
"resourceGroup": "myresource",
"type": "Microsoft.Sql/servers"
}
Disabilitare in Istanza gestita di SQL tramite l'interfaccia della riga di comando di Azure
Per disabilitare l'autenticazione basata solo su Microsoft Entra in Istanza gestita di SQL di Azure tramite l'interfaccia della riga di comando di Azure, vedere i comandi seguenti.
Accedere ad Azure usando l'account con il ruolo Gestore sicurezza SQL.
az login
Eseguire il comando seguente sostituendo <myserver>
con il nome del server SQL e <myresource>
con la risorsa di Azure che contiene il server SQL.
az sql mi ad-only-auth disable --resource-group <myresource> --name <myserver>
Dopo aver disabilitato l'autenticazione basata solo su Microsoft Entra, quando si controlla lo stato verrà visualizzato l'output seguente:
{
"azureAdOnlyAuthentication": false,
"id": "/subscriptions/<guid>/resourceGroups/myresource/providers/Microsoft.Sql/managedInstances/myinstance/azureADOnlyAuthentications/Default",
"name": "Default",
"resourceGroup": "myresource",
"type": "Microsoft.Sql/managedInstances"
}
Disabilitare nel database SQL tramite PowerShell
Per disabilitare l'autenticazione basata solo su Microsoft Entra nel database SQL di Azure tramite PowerShell, vedere i comandi seguenti.
Accedere ad Azure usando l'account con il ruolo Gestore sicurezza SQL.
Connect-AzAccount
Eseguire il comando seguente sostituendo <myserver>
con il nome del server SQL e <myresource>
con la risorsa di Azure che contiene il server SQL.
Disable-AzSqlServerActiveDirectoryOnlyAuthentication -ServerName <myserver> -ResourceGroupName <myresource>
Disabilitare in Istanza gestita di SQL tramite PowerShell
Per disabilitare l'autenticazione basata solo su Microsoft Entra in Istanza gestita di SQL di Azure tramite PowerShell, vedere i comandi seguenti.
Accedere ad Azure usando l'account con il ruolo Gestore sicurezza SQL.
Connect-AzAccount
Eseguire il comando seguente sostituendo <myinstance>
con il nome di Istanza gestita di SQL e <myresource>
con la risorsa di Azure che contiene l'istanza gestita.
Disable-AzSqlInstanceActiveDirectoryOnlyAuthentication -InstanceName <myinstance> -ResourceGroupName <myresource>
Testare nuovamente la connessione ad Azure SQL
Dopo aver disabilitato l'autenticazione basata solo su Microsoft Entra, testare la connessione usando un account di accesso con autenticazione SQL. A questo punto dovrebbe essere possibile connettersi al server o all'istanza.
Passaggi successivi