Azure Data Studio - Connettività di Azure
Per impostazione predefinita, Azure Data Studio usa Microsoft Authentication Library (MSAL) per acquisire un token di accesso da Microsoft Entra ID. Le impostazioni applicabili all'autenticazione di Microsoft Entra vengono illustrate, insieme ai problemi comunemente osservati e alle relative soluzioni.
Nota
Anche se Microsoft Entra ID è il nuovo nome per Azure Active Directory (Azure AD), per evitare l'interruzione degli ambienti esistenti, Azure AD rimane ancora in alcuni elementi hardcoded, ad esempio campi dell'interfaccia utente, provider di connessioni, codici di errore e cmdlet. In questo articolo i due nomi sono intercambiabili.
Azure: Libreria di autenticazione
Questa impostazione è disponibile solo in Azure Data Studio da 1.41 a 1.45. Non è più disponibile in Azure Data Studio 1.46 e versioni successive.
Questa impostazione controlla la libreria di autenticazione usata da Azure Data Studio quando si aggiunge un account Microsoft Entra. Microsoft Authentication Library (MSAL) offre servizi di autenticazione e autorizzazione usando implementazioni conformi agli standard di OAuth 2.0 e OpenID Connessione (OIDC) 1.0. Altre informazioni su Microsoft Authentication Library (MSAL). In Azure Data Studio 1.46 e versioni successive, MSAL è l'unica libreria in uso, perché ADAL (Active Directory Authentication Library) è deprecato.
Metodo di autenticazione di Azure
Azure Data Studio supporta l'autenticazione a più fattori (MFA) di Microsoft Entra usando le modalità seguenti:
- Uso dell'autenticazione code grant (abilitata per impostazione predefinita)
- Uso dell'autenticazione del codice del dispositivo
Account > di Autenticazione di Azure > : Concessione di codice
Settings.json
"accounts.azure.auth.codeGrant": true
Quando viene controllato il metodo di concessione del codice, agli utenti viene richiesto di eseguire l'autenticazione con l'autenticazione basata su browser. Per impostazione predefinita, questa opzione è attivata.
Account > di autenticazione di Azure > : codice del dispositivo
Settings.json
"accounts.azure.auth.deviceCode": true
Quando il metodo Device Code è abilitato, gli utenti vengono forniti con un codice e un URL da immettere che può quindi essere usato per accedere.
Quando vengono selezionate entrambe le opzioni, agli utenti viene richiesto di selezionare una delle due modalità di autenticazione quando si aggiunge un account Microsoft Entra.
Configurazione cloud di Azure
Azure Data Studio supporta l'autenticazione di Microsoft Entra con cloud nazionali. Il cloud pubblico di Azure è abilitato per impostazione predefinita, ma gli utenti possono abilitare altri cloud nazionali in base alle esigenze:
Settings.json
"accounts.azure.cloud.enableChinaCloud": false,
"accounts.azure.cloud.enablePublicCloud": true,
"accounts.azure.cloud.enableUsGovCloud": false
È anche possibile definire endpoint cloud personalizzati. Vedere Configurazione di endpoint cloud personalizzati.
Configurazione delle risorse di Azure
Queste impostazioni applicano filtri alle risorse e ai tenant di Azure.
- Filtro Configurazione risorse: applica il filtro di inclusione alle risorse che devono essere visualizzate.
- Filtro configurazione tenant: applica il filtro di esclusione ai tenant che devono essere ignorati.
Settings.json
"azure.resource.config.filter": [],
"azure.tenant.config.filter": [
"313b5f9e-9b92-414c-8d87-a317e42d0222"
]
Configurazione del proxy per l'autenticazione di Microsoft Entra
Se si usa Azure Data Studio dietro un proxy, gli utenti devono specificare le impostazioni proxy per Azure Data Studio per comunicare con endpoint esterni. Esistono due modi per fornire le impostazioni proxy per Azure Data Studio da usare:
- Impostazione della configurazione del proxy in Azure Data Studio (Impostazioni > Http: Proxy Impostazioni)
- Impostazione delle variabili di ambiente per la configurazione del proxy
Le impostazioni di Azure Data Studio hanno la precedenza sulle variabili di ambiente.
Impostazioni proxy di Azure Data Studio
In Azure Data Studio sono disponibili le impostazioni seguenti:
Settings.json
"http.proxy": "https://userName@fqdn:yourPassword@yourProxyURL.com:8080",
"http.proxyStrictSSL": true,
"http.proxyAuthorization": "",
"http.proxySupport" : "override"
Variabili di ambiente supportate per il proxy
'HTTP_PROXY': 'http://userName@fqdn:yourPassword@yourProxyURL.com:8080'
'HTTPS_PROXY': 'https://userName@fqdn:yourPassword@yourProxyURL.com:8080'
URL consentiti
In un ambiente proxy, le applicazioni utente potrebbero dover consentire domini specifici usati da Azure Data Studio. I nomi host tramite cui potrebbe essere necessario o si vuole consentire la comunicazione sono:
Pubblico di Azure
https://management.azure.com
https://login.microsoftonline.com/
Azure (US Government)
https://management.core.usgovcloudapi.net/
https://login.microsoftonline.us/
Azure gestito da 21Vianet
https://management.core.chinacloudapi.cn/
https://login.partner.microsoftonline.cn/
Gli URL da consentire possono talvolta variare caso per caso. Per verificare che non si blocchino gli URL, passare a Guida > /Disattiva strumenti di sviluppo e selezionare la scheda Rete . Tutti gli URL bloccati sono elencati e potrebbe essere necessario consentire a tali URL di aggiungere correttamente l'account.
Configurazione di endpoint cloud personalizzati
Azure Data Studio 1.46 introduce il supporto per l'aggiunta di endpoint personalizzati per cloud non pubblici.
Aggiunta di endpoint cloud personalizzati
Aprire Impostazioni in Azure Data Studio (CTRL/CMD + MAIUSC + P) e immettere Azure: Custom Provider Impostazioni , quindi selezionare Modifica in settings.json, che apre automaticamente il settings.json
file e aggiunge azure.customProviderSettings
:
Per il funzionamento dell'endpoint sono necessarie le voci seguenti:
host
clientId
scopes
sqlResource
microsoftResource
armResource
graphResource
azureStorageResource
Una voce JSON di esempio per un provider viene presentata come guida:
"azure.customProviderSettings": [
{
"name": "Azure Custom",
"settings": {
"metadata": {
"displayName": "Azure Custom Cloud",
"id": "azure_customCloud",
"endpoints": {
"host": "https://hostendpoint.com/",
"clientId": "test",
"microsoftResource": "https://microsoftresource.com/",
"graphResource": "https://graphresource.com/",
"msGraphResource": "https://msgraphresource.com/",
"armResource": "https://armresource.com/",
"sqlResource": "https://sqlresource.net/",
"azureKeyVaultResource": "https://azurekeyvault.net/",
"azureLogAnalyticsResource": "https://azure.loganalytic.io/",
"azureStorageResource": {
"endpoint": "",
"endpointSuffix": ".azurestorage.net/"
},
"azureKustoResource": "https://kusto.net/",
"powerBiResource": "https://powerbi.net/",
"scopes": "https://management.net/scopes",
"portalEndpoint": "https://portal.azure.com"
}
}
}
}
]
Dopo aver aggiunto l'endpoint, salvare il settings.json
file. Azure Data Studio invia una notifica per ricaricare l'applicazione. Dopo il caricamento, si riceve una notifica che indica che gli endpoint personalizzati sono stati caricati:
Se questo messaggio non viene visualizzato, verificare che tutte le voci per l'endpoint esistano e che siano compilate.
Dopo aver aggiunto un cloud personalizzato, aprire il riquadro Account collegati di Azure e viene visualizzato il viewlet cloud personalizzato. Selezionare Aggiungi un account e scegliere la modalità di autenticazione, se richiesto. Viene eseguito l'accesso all'endpoint host per l'autenticazione.
Più provider di servizi cloud personalizzati
È possibile aggiungere altri provider di servizi cloud al settings.json
file usando lo stesso formato.
"azure.customProviderSettings": [
{
"name": "Azure Custom",
"settings": {
"metadata": {
"displayName": "Azure Custom Cloud",
"id": "azure_customCloud",
"endpoints": {
"host": "https://hostendpoint.com/",
"clientId": "test",
"microsoftResource": "https://microsoftresource.com/",
"graphResource": "https://graphresource.com/",
"msGraphResource": "https://msgraphresource.com/",
"armResource": "https://armresource.com/",
"sqlResource": "https://sqlresource.net/",
"azureKeyVaultResource": "https://azurekeyvault.net/",
"azureLogAnalyticsResource": "https://azure.loganalytic.io/",
"azureStorageResource": {
"endpoint": "",
"endpointSuffix": ".azurestorage.net/"
},
"azureKustoResource": "https://kusto.net/",
"powerBiResource": "https://powerbi.net/",
"scopes": "https://management.net/scopes",
"portalEndpoint": "https://portal.azure.com"
}
}
}
},
{
"name": "Azure Custom 2",
"settings": {
"metadata": {
"displayName": "Azure Custom Cloud 2",
"id": "azure_customCloud2",
"endpoints": {
"host": "https://hostendpoint.com/",
"clientId": "test",
"microsoftResource": "https://microsoftresource.com/",
"graphResource": "https://graphresource.com/",
"msGraphResource": "https://msgraphresource.com/",
"armResource": "https://armresource.com/",
"sqlResource": "https://sqlresource.net/",
"azureKeyVaultResource": "https://azurekeyvault.net/",
"azureLogAnalyticsResource": "https://azure.loganalytic.io/",
"azureStorageResource": {
"endpoint": "",
"endpointSuffix": ".azurestorage.net/"
},
"azureKustoResource": "https://kusto.net/",
"powerBiResource": "https://powerbi.net/",
"scopes": "https://management.net/scopes",
"portalEndpoint": "https://portal.azure.com"
}
}
}
}
]
Problemi di autenticazione comuni
Vengono illustrati i possibili problemi e soluzioni durante l'aggiunta di un account Azure.
Problema: Errore SSL nella pagina localhost (ERR_SSL_PROTOCOL_ERROR)
Gli utenti potrebbero visualizzare un errore SSL durante l'accesso al proprio account. Questo flusso apre una pagina Web esterna a localhost
, in genere richiedendo agli utenti di accedere tramite le richieste di autenticazione Microsoft standard. L'URL di questa pagina è simile a http://localhost:50055/signin?nonce=...
Alcuni browser possono essere configurati per reindirizzare automaticamente tutti i http
collegamenti a https
, che interrompe questo processo perché il server locale che gestisce la pagina Web non supporta https. Se il collegamento nella barra degli indirizzi inizia con https
, viene visualizzato un errore SSL e la pagina non può essere caricata. In tal caso, le soluzioni alternative elencate qui possono risolvere il problema.
Modificare l'URL in http
Prima di tutto, modificare manualmente l'URL da https://
a http://
. Il browser può tornare a https, nel qual caso è necessario provare un'altra opzione.
Disabilitare HSTS (HTTP Strict Transport Security)
Per i browser Edge/Chrome, è possibile disabilitare HSTS per localhost.
- Aprire Edge/Chrome e nella barra degli indirizzi digitare
edge://net-internals/#hsts
(ochrome://net-internals/#hsts
per Chrome). - Scorrere fino alla fine della pagina e nella
Delete domain security policies
sezione immetterelocalhost
e premereDelete
.
Al termine, si dovrebbe essere in grado di accedere e non fare in modo che il browser reindirizzi automaticamente i localhost
collegamenti a https
.
Problema: Impossibile aggiungere un account dietro un proxy
Se l'applicazione utente è in esecuzione in un ambiente protetto da un proxy, l'autenticazione utente potrebbe non essere completata e questi passaggi possono essere usati per risolvere il problema.
Controllare di nuovo le variabili di ambiente e le impostazioni http.proxy in Azure Data Studio. Se il proxy richiede l'autenticazione utente, fornire un nome utente/password nell'URL http.proxy può risolvere i problemi di autenticazione. In caso contrario, Azure Data Studio non può leggere le credenziali utente registrate. In alternativa, è possibile provare a eseguire Azure Data Studio come utente diverso, perché può aiutare a risolvere i problemi di autenticazione con il proxy. Tuttavia, quest'ultimo funziona solo per alcuni scenari.
Gli URL consentiti possono variare caso per caso. Per verificare che non si blocchino gli URL, passare a Guida > /Disattiva strumenti di sviluppo e selezionare la scheda Rete . Qui vengono visualizzati tutti gli URL bloccati che potrebbero essere necessari per consentire l'aggiunta corretta dell'account.
Deselezionare Http: Proxy Strict SSL. È possibile che il certificato proxy non sia verificabile rispetto all'elenco di ca attendibili. La disabilitazione di Strict SSL può escludere il certificato proxy come problema.
Per concludere:
Come applicazione multipiattaforma, la risoluzione proxy di Azure Data Studio recupera il proxy dall'impostazione all'interno dell'applicazione o tramite variabili di ambiente. L'obiettivo è evitare l'interazione con le impostazioni del sistema, che possono variare in modo significativo su sistemi operativi diversi.
Problema: l'estensione Azure Core è disabilitata
L'estensione Azure Core è un'estensione predefinita in Azure Data Studio. Assicurarsi che non sia disabilitato o disinstallato accidentalmente. Questa estensione è necessaria per autenticare gli account Microsoft Entra e connettersi alle risorse tramite MFA.
Problema: i certificati CA di sistema sono scaduti
Il comportamento predefinito di Azure Data Studio include la convalida dei certificati CA radice del sistema durante l'esecuzione di chiamate API REST tramite il protocollo HTTPS. La convalida viene controllata con l'impostazione http:systemCertificates
abilitata per impostazione predefinita:
"http.systemCertificates": true
Se il certificato CA radice di un sistema è scaduto, le richieste di autenticazione all'ID Microsoft Entra hanno esito negativo e viene acquisito un errore nei log dell'account Azure:
error: certificate is expired
Per attenuare questo errore, è necessario rimuovere eventuali certificati CA radice scaduti o disabilitare l'impostazione per non convalidare i certificati di sistema.
Acquisire i log per l'autenticazione di Azure
Azure Data Studio acquisisce gli eventi di errore per l'attività dell'account Microsoft Entra per impostazione predefinita. Per abilitare tracce più dettagliate, gli utenti possono modificare queste impostazioni:
Azure: livello di registrazione
Questa impostazione configura il livello di registrazione per le informazioni dei core di Azure che possono essere acquisite in Azure Data Studio. Impostarlo su Dettagliato o Tutto per acquisire log dettagliati che possono essere utili per diagnosticare gli errori di autenticazione. Per altre informazioni, vedere Log e posizione di Azure Data Studio per informazioni su come acquisire informazioni di registrazione.
Settings.json
"azure.loggingLevel": "Verbose"
Azure: registrazione delle informazioni personali
Gli utenti possono abilitare la registrazione delle informazioni personali (informazioni personali) per scopi di test e debug locali. Questa impostazione consente una registrazione più approfondita del processo di autenticazione, ma può contenere informazioni riservate, ad esempio token di accesso o ID utente durante l'autenticazione con Microsoft Entra ID. Poiché questa registrazione acquisisce informazioni riservate, è consigliabile:
- Non condividere questi log con altri utenti, soprattutto quando si aggiungono log a GitHub
- Disabilitare l'impostazione dopo aver raccolto le informazioni necessarie
- Eliminare i file di log dopo che l'impostazione è stata disabilitata
Settings.json
"azure.piiLogging": true
Azure: Nessun portachiavi di sistema
Questa impostazione disabilita l'integrazione del portachiavi di sistema per impedire richieste di accesso al portachiavi ripetute in macOS. Le credenziali utente vengono in alternativa archiviate in un file flat nella home directory dell'utente.
Settings.json
"azure.noSystemKeychain": true
Cancellare la cache dei token dell'account Microsoft Entra
Azure Data Studio gestisce una cache di token di accesso per impedire la limitazione delle richieste di token all'ID Microsoft Entra. È possibile che la cache dei token di Azure Data Studio sia obsoleta, che richiede la pulizia dei token di accesso scaduti dalla cache dell'applicazione.
Eseguire questo comando dal riquadro comandi (CTRL/CMD + MAIUSC + P) per cancellare i token di accesso per gli account Microsoft Entra collegati:
Azure Accounts: Clear Azure Account Token Cache (accounts.clearTokenCache)
Cancellare tutti gli account Microsoft Entra salvati
Eseguire questo comando dal riquadro comandi (CTRL/CMD + MAIUSC + P) per rimuovere tutti gli account Microsoft Entra collegati da Azure Data Studio:
Cancellare tutti gli account salvati (clearSavedAccounts)
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per