Condividi tramite


Azure Data Studio - Connettività di Azure

Azure Data Studio usa Microsoft Authentication Library (MSAL) per impostazione predefinita per acquisire un token di accesso da Microsoft Entra ID. Vengono illustrate le impostazioni applicabili all'autenticazione di Microsoft Entra, insieme ai problemi più frequenti 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, la denominazione Azure AD è tuttora mantenuta in alcuni elementi hardcoded, ad esempio campi dell'interfaccia utente, provider di connessioni, codici errore e cmdlet. All’interno di questo articolo i due nomi vengono utilizzati in modo intercambiabile.

Azure: Authentication Library (ADAL)

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. Informazioni su Microsoft Authentication Library (MSAL). Con Azure Data Studio 1.46 e versioni successive, MSAL è l'unica libreria in uso, perché ADAL (Active Directory Authentication Library) è deprecata.

Metodo di autenticazione di Azure

Azure Data Studio supporta l'autenticazione a più fattori (MFA) Microsoft Entra con gli account Azure usando le seguenti modalità:

  • Utilizzo dell’autenticazione di concessione del codice (abilitata per impostazione predefinita)
  • Utilizzo dell’autenticazione con codice del dispositivo

Account di Autenticazione di >Azure >: Concessione di codice

Settings.json

"accounts.azure.auth.codeGrant": true

Screenshot dell'opzione Concessione del codice di autenticazione di Azure.

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

Screenshot dell'opzione Codice dispositivo per l'autenticazione di Azure.

Quando è abilitato il metodo codice dispositivo, 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. Azure Public Cloud è 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

Screenshot dei cloud nazionali di autenticazione di Azure.

È anche possibile definire endpoint cloud personalizzati. Vedere Configurazione di endpoint cloud personalizzati.

Configurazione della risorsa 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"
]

Screenshot delle opzioni di configurazione delle risorse di autenticazione di Azure.

Configurare il proxy per l'autenticazione di Microsoft Entra

Se si usa Azure Data Studio dietro un proxy, gli utenti devono specificare le impostazioni proxy per consentire ad Azure Data Studio di comunicare con endpoint esterni. Esistono due modi per fornire le impostazioni proxy per l'uso di Azure Data Studio:

  • Impostazione della configurazione del proxy in Azure Data Studio (Impostazioni > Http: Impostazioni Proxy)
  • 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 in Azure Data Studio

In Azure Data Studio sono disponibili le seguenti impostazioni:

Settings.json

"http.proxy": "https://userName@fqdn:yourPassword@yourProxyURL.com:8080",
"http.proxyStrictSSL": true,
"http.proxyAuthorization": "",
"http.proxySupport" : "override"

Screenshot delle impostazioni del proxy di autenticazione di Azure.

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'

Aggiungere URL all’elenco elementi 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 Gov)

  • 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 > Attiva/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: Impostazioni provider personalizzate, quindi selezionare Modifica in settings.json, che apre automaticamente il file settings.json e aggiungere azure.customProviderSettings:

Screenshot di azure.customProviderSettings aggiunto al file settings.json.

Per il funzionamento dell'endpoint sono necessarie le seguenti immissioni:

  • host
  • clientId
  • scopes
  • sqlResource
  • microsoftResource
  • armResource
  • graphResource
  • azureStorageResource

Una immissione 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 file settings.json. Azure Data Studio invia una notifica per ricaricare l'applicazione. Dopo il caricamento, una notifica informa che gli endpoint personalizzati sono stati caricati:

Screenshot dopo il ricaricamento di Azure Data Studio che indica che sono stati caricati endpoint personalizzati.

Se questo messaggio non viene visualizzato, verificare che tutte le immissioni per l'endpoint esistano e siano compilate.

Dopo aver aggiunto un cloud personalizzato, aprire il riquadro Account collegati di Azure e per vedere il viewlet cloud personalizzato. Selezionare Aggiungi un account e scegliere la modalità di autenticazione, se richiesto. Viene visualizzato l'endpoint host per l'autenticazione.

Screenshot di un provider di servizi cloud personalizzato nel riquadro Account di Azure.

Più provider di servizi cloud personalizzati

È possibile aggiungere altri provider di servizi cloud al file settings.json 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 il protocollo HTTP Strict Transport Security (HSTS)

Per i browser Edge/Chrome, è possibile disabilitare HSTS per localhost.

  1. Aprire Edge/Chrome e nella barra degli indirizzi digitare edge://net-internals/#hsts (o chrome://net-internals/#hsts per Chrome).
  2. Scorrere fino alla fine della pagina e nella sezione Delete domain security policies immettere localhost e premere Delete.

Al termine, si dovrebbe essere in grado di accedere e non fare in modo che il browser reindirizzi automaticamente i collegamenti localhost 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.

  1. 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, tentare l'esecuzione di Azure Data Studio come utente diverso; questo potrebbe risolvere i problemi di autenticazione con proxy. Tuttavia, quest'ultimo funziona solo per alcuni scenari.

  2. Gli URL da consentire possono talvolta variare caso per caso. Per verificare che non si blocchino gli URL, passare a Guida > Attiva/Disattiva Strumenti di sviluppo e selezionare la scheda Rete. Qui è possibile vedere tutti gli URL bloccati e potrebbe essere necessario consentire a tali URL di aggiungere correttamente l'account.

  3. 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 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 disabilitata o disinstallata accidentalmente. Questa estensione è necessaria per autenticare gli account Microsoft Entra e connettersi alle risorse con l'autenticazione a più fattori.

Screenshot dell'estensione Azure Core predefinita.

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:

Screenshot dell'impostazione dei certificati di sistema.

"http.systemCertificates": true

Se il certificato CA radice di un sistema è scaduto, le richieste di autenticazione a Microsoft Entra ID hanno esito negativo e verrà acquisito un errore nei log "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"

Screenshot della configurazione del livello di registrazione dell'autenticazione di Azure.

Azure: registrazione delle PII

Gli utenti possono abilitare la registrazione delle informazioni personali (PII) 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

Screenshot dell'opzione di registrazione delle PII di autenticazione di Azure.

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

Screenshot della configurazione della keychain di autenticazione Azure.

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 a Microsoft Entra ID. È 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)