Azure Data Studio - Connectivité Azure

Azure Data Studio utilise la bibliothèque d’authentification Microsoft (MSAL) par défaut pour acquérir un jeton d’accès à partir de l’ID Microsoft Entra. Les paramètres qui s’appliquent à l’authentification Microsoft Entra sont abordés, ainsi que les problèmes couramment observés et leurs solutions.

Remarque

Bien que Microsoft Entra ID soit le nouveau nom d'Azure Active Directory (Azure AD) pour empêcher l'interruption des environnements existants, Azure AD reste toujours dans certains éléments codés en dur, tels que les champs d'interface utilisateur, les fournisseurs de connexions, les codes d'erreur et cmdlets. Dans cet article, les deux noms sont interchangeables.

Azure : Bibliothèque d’authentification

Ce paramètre est disponible uniquement dans Azure Data Studio 1.41 à 1.45. Il n’est plus disponible dans Azure Data Studio 1.46 et les versions ultérieures.

Ce paramètre contrôle la bibliothèque d’authentification utilisée par Azure Data Studio lors de l’ajout d’un compte Microsoft Entra. La bibliothèque d’authentification Microsoft (MSAL) fournit des services d’authentification et d’autorisation qui utilisent des implémentations d’OAuth 2.0 et d’OpenID Connect (OIDC) 1.0 conformes aux normes. Découvrez-en plus sur la bibliothèque d’authentification Microsoft (MSAL). Dans Azure Data Studio 1.46 et les versions ultérieures, MSAL est la seule bibliothèque utilisée, car ADAL (bibliothèque d’authentification Active Directory) est déconseillée.

Méthode d’authentification Azure

Azure Data Studio prend en charge l’authentification multifacteur Microsoft Entra (MFA) à l’aide des modes suivants :

  • Utilisation de l’authentification par octroi de code (activée par défaut)
  • Utilisation de l’authentification par code d’appareil

Comptes > Azure > Auth : Octroi de code

Settings.json

"accounts.azure.auth.codeGrant": true

Screenshot of Azure authentication Code Grant option.

Lorsque l’option Méthode par octroi de code est cochée, les utilisateurs sont invités à s’authentifier au moyen de l’authentification basée sur le navigateur. Cette option est activée par défaut.

Comptes > Azure > Auth : Code d’appareil

Settings.json

"accounts.azure.auth.deviceCode": true

Screenshot of Azure authentication Device Code option.

Lorsque l’option Méthode par code d’appareil est cochée, les utilisateurs reçoivent un code et une URL qu’ils devront entrer pour se connecter.

Lorsque les deux options sont case activée ed, les utilisateurs sont invités à sélectionner l’un des deux modes d’authentification lors de l’ajout d’un compte Microsoft Entra.

Configuration cloud Azure

Azure Data Studio prend en charge l’authentification Microsoft Entra avec des clouds nationaux. Le cloud public Azure est activé par défaut, mais les utilisateurs peuvent activer d’autres clouds nationaux en fonction de leurs besoins :

Settings.json

"accounts.azure.cloud.enableChinaCloud": false,
"accounts.azure.cloud.enablePublicCloud": true,
"accounts.azure.cloud.enableUsGovCloud": false

Screenshot of Azure authentication National Clouds.

Des points de terminaison cloud personnalisés peuvent également être définis. Consultez Configuration de points de terminaison cloud personnalisés.

Configuration des ressources Azure

Ces paramètres appliquent des filtres sur les ressources et locataires Azure.

  • Filtre de configuration des ressources : applique un filtre d’inclusion aux ressources à afficher.
  • Filtre de configuration des locataires : applique un filtre d’exclusion aux locataires à ignorer.

Settings.json

"azure.resource.config.filter": [],
"azure.tenant.config.filter": [
    "313b5f9e-9b92-414c-8d87-a317e42d0222"
]

Screenshot of Azure authentication resource configuration options.

Configuration du proxy pour l’authentification Microsoft Entra

Si vous utilisez Azure Data Studio derrière un proxy, les utilisateurs doivent spécifier des paramètres de proxy pour qu’Azure Data Studio communique avec des points de terminaison externes. Il existe deux façons de fournir des paramètres de proxy pour Azure Data Studio à utiliser :

  • Définir la configuration du proxy dans Azure Data Studio (Paramètres > HTTP : Paramètres du proxy)
  • Définir des variables d’environnement pour la configuration du proxy

Les paramètres Azure Data Studio sont prioritaires sur les variables d’environnement.

Paramètres du proxy Azure Data Studio

Les paramètres suivants sont disponibles dans Azure Data Studio :

Settings.json

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

Screenshot of Azure authentication proxy settings.

Variables d’environnement prises en charge pour le proxy

  • 'HTTP_PROXY': 'http://userName@fqdn:yourPassword@yourProxyURL.com:8080'
  • 'HTTPS_PROXY': 'https://userName@fqdn:yourPassword@yourProxyURL.com:8080'

Ajouter la liste des URL autorisées

Dans un environnement de proxy, les applications utilisateur peuvent avoir besoin d’autoriser des domaines spécifiques utilisés par Azure Data Studio. Les noms d’hôte via lesquels vous devrez ou souhaiterez peut-être autoriser la communication sont les suivants :

Azure public

  • https://management.azure.com
  • https://login.microsoftonline.com/

Azure (US Government)

  • https://management.core.usgovcloudapi.net/
  • https://login.microsoftonline.us/

Windows Azure exploité par 21Vianet

  • https://management.core.chinacloudapi.cn/
  • https://login.partner.microsoftonline.cn/

Les URL à autoriser peuvent varier au cas par cas. Pour vérifier que vous ne bloquez pas d’URL nécessaires à la communication, accédez à Aide > Activer/désactiver des outils de développement et sélectionnez l’onglet Réseau pour voir toutes les URL potentiellement bloquées. Vous devrez peut-être autoriser ces URL pour réussir à ajouter votre compte.

Configurer des points de terminaison cloud personnalisés

Azure Data Studio 1.46 introduit la prise en charge de l’ajout de points de terminaison personnalisés pour les clouds non publics.

Ajouter des points de terminaison cloud personnalisés

Ouvrez Paramètres dans Azure Data Studio (Ctrl/Cmd + Maj + P) et entrez Azure : Paramètres du fournisseur personnalisé, puis sélectionnez Modifier dans settings.json, ce qui ouvre automatiquement le fichier settings.json et ajoute azure.customProviderSettings :

Screenshot of azure.customProviderSettings added to settings.json file.

Les entrées suivantes sont nécessaires pour que le point de terminaison fonctionne :

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

Un exemple d’entrée JSON pour un fournisseur est présenté pour servir de guide :

"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"
                }
            }
        }
    }
]

Après avoir ajouté le point de terminaison, enregistrez le fichier settings.json. Azure Data Studio vous demande de recharger l’application. Une fois le rechargement effectué, vous êtes averti que les points de terminaison personnalisés ont été chargés :

Screenshot after reloading Azure Data Studio indicating custom endpoints have been loaded.

Si ce message n’apparaît pas, vérifiez que toutes les entrées du point de terminaison existent et sont renseignées.

Après avoir ajouté un cloud personnalisé, ouvrez le volet Comptes Azure liés pour que le viewlet cloud personnalisé s’affiche. Sélectionnez Ajouter un compte et choisissez le mode d’authentification si vous y êtes invité. Vous êtes dirigé vers le point de terminaison hôte pour vous authentifier.

Screenshot of a custom cloud provider in the Azure accounts pane.

Plusieurs fournisseurs de cloud personnalisés

Des fournisseurs de cloud supplémentaires peuvent être ajoutés au fichier settings.json à l’aide du même format.

"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"
                }
            }
        }
    }
]

Problèmes d’authentification courants

Les problèmes possibles lors de l’ajout d’un compte Azure, et leurs solutions, sont décrits ci-dessous.

Problème : Erreur SSL sur la page localhost (ERR_SSL_PROTOCOL_ERROR)

Les utilisateurs peuvent voir une erreur SSL quand ils se connectent à leur compte. Ce flux ouvre une page web externe sur localhost, invitant généralement les utilisateurs à se connecter via les invites d’authentification Microsoft standard. L’URL de cette page ressemble à ceci : http://localhost:50055/signin?nonce=...

Certains navigateurs peuvent être configurés afin de rediriger automatiquement tous les liens http vers https, ce qui interrompt ce processus du fait que le serveur local qui fournit la page web ne prend pas en charge https. Si le lien dans la barre d’adresse commence par https, vous recevez une erreur SSL, et la page ne peut pas se charger. Dans ce cas, les solutions de contournement répertoriées ici peuvent résoudre le problème.

Changer l’URL en http

Tout d’abord, modifiez manuellement l’URL https:// en http://. Il arrive que le navigateur la rechange en https, auquel cas vous devrez essayer une autre option.

Désactiver HSTS (HTTP Strict Transport Security)

Pour les navigateurs Edge/Chrome, vous pouvez désactiver HSTS sur localhost.

  1. Ouvrez Edge/Chrome, et, dans la barre d’adresse, tapez edge://net-internals/#hsts (ou chrome://net-internals/#hsts pour Chrome).
  2. Faites défiler jusqu’au bas de la page et, dans la section Delete domain security policies, entrez localhost et appuyez sur Delete.

Une fois cette opération terminée, vous pourrez normalement vous connecter, et constater que le navigateur ne redirige pas automatiquement vos liens localhost vers https.

Problème : Impossible d’ajouter un compte derrière un proxy

Si l’application utilisateur s’exécute dans un environnement derrière un proxy, l’authentification utilisateur peut échouer. Essayez alors ces étapes pour résoudre le problème.

  1. Re case activée variables d’environnement et paramètres http.proxy dans Azure Data Studio. Si le proxy nécessite une authentification utilisateur, la fourniture d’un nom d’utilisateur/mot de passe dans l’URL http.proxy peut résoudre les problèmes d’authentification ; sinon, Azure Data Studio ne peut pas lire les informations d’identification de l’utilisateur connecté. Vous pouvez également essayer d’exécuter Azure Data Studio en tant qu’utilisateur différent, car il peut aider à résoudre les problèmes d’authentification avec le proxy. Toutefois, cette solution ne fonctionne que pour certains scénarios.

  2. Les URL à autoriser peuvent varier au cas par cas. Pour vérifier que vous ne bloquez pas d’URL nécessaires à la communication, accédez à Aide > Activer/désactiver des outils de développement et sélectionnez l’onglet Réseau pour voir toutes les URL potentiellement bloquées. Vous devrez peut-être autoriser ces URL pour réussir à ajouter votre compte.

  3. Décochez Http : Proxy Strict SSL. Il est possible que le certificat de proxy ne soit pas vérifiable avec la liste des autorités de certification approuvées. La désactivation du protocole Strict SSL peut exclure le certificat proxy comme un problème.

Pour conclure :

En tant qu’application multiplateforme, la résolution de proxy Azure Data Studio extrait le proxy à partir du paramètre au sein de l’application ou via des variables d’environnement. L’objectif est d’éviter les interactions avec les paramètres système, qui sont très variables selon les systèmes d’exploitation.

Problème : l’extension Azure Core est désactivée

L’extension Azure Core est une extension intégrée dans Azure Data Studio. Vérifiez qu’elle n’a pas été désactivée ou désinstallée accidentellement. Cette extension est nécessaire pour authentifier les comptes Microsoft Entra et se connecter aux ressources à l’aide de l’authentification multifacteur.

Screenshot of built-in Azure Core extension.

Problème : Les certificats d’autorité de certification système ont expiré

Le comportement par défaut d’Azure Data Studio inclut la validation des certificats d’autorité de certification racine du système lors des appels d’API REST à l’aide du protocole HTTPS. La validation est contrôlée avec le paramètre http:systemCertificates, qui est activé par défaut :

Screenshot of system certificates setting.

"http.systemCertificates": true

Si le certificat d’autorité de certification racine d’un système a expiré, les demandes d’authentification adressées à l’ID Microsoft Entra échouent et une erreur est capturée dans les journaux du compte Azure :

error: certificate is expired

Pour atténuer cette erreur, vous devez supprimer tous les certificats d’autorité de certification racine expirés ou désactiver le paramètre pour ne pas valider les certificats système.

Capturer les journaux pour l’authentification Azure

Azure Data Studio capture les événements d’erreur pour l’activité du compte Microsoft Entra par défaut. Pour activer les traces plus détaillées, les utilisateurs peuvent modifier ces paramètres :

Azure : Niveau de journalisation

Ce paramètre configure le niveau de journalisation des informations d’Azure Core qui peuvent être capturées dans Azure Data Studio. Changez-le par Détaillé ou Tout pour capturer des journaux détaillés qui peuvent être utiles pour diagnostiquer les échecs d’authentification. Pour en savoir plus, référez-vous aux journaux et à l'emplacement d'Azure Data Studio pour savoir comment capturer des informations des journaux d'activité.

Settings.json

"azure.loggingLevel": "Verbose"

Screenshot of Azure authentication logging Level configuration.

Azure : Journalisation PII

Les utilisateurs peuvent activer la journalisation des informations d’identification personnelle (PII) à des fins de test et de débogage dans les environnements locaux. Ce paramètre permet une journalisation plus approfondie du processus d’authentification, mais peut contenir des informations sensibles telles que des jetons d’accès ou des ID utilisateur lors de l’authentification avec l’ID Microsoft Entra. Du fait que cette journalisation capture des informations sensibles, il est recommandé de :

  • Ne pas partager ces journaux avec d’autres personnes, en particulier lors de l’ajout de journaux aux problèmes GitHub
  • Désactiver le paramètre une fois les informations nécessaires collectées
  • Supprimer les fichiers journaux après la désactivation du paramètre

Settings.json

"azure.piiLogging": true

Screenshot of Azure authentication PII logging option.

Azure : Aucun trousseau système

Ce paramètre désactive l’intégration du trousseau système pour empêcher les invites répétées d’accès au trousseau sur macOS. Les informations d’identification utilisateur sont stockées à la place dans un fichier plat, dans le répertoire de base de l’utilisateur.

Settings.json

"azure.noSystemKeychain": true

Screenshot of Azure authentication keychain configuration.

Effacer le cache des jetons de compte Microsoft Entra

Azure Data Studio gère un cache de jetons d’accès pour empêcher la limitation des demandes de jetons à Microsoft Entra ID. Il est possible que le cache de jetons d’Azure Data Studio soit obsolète. Dans ce cas, vous devez effacer les jetons d’accès expirés dans le cache d’application.

Exécutez cette commande à partir de la palette de commandes (Ctrl/CMD + Maj + P) pour effacer les jetons d’accès pour les comptes Microsoft Entra liés :

Azure Accounts: Clear Azure Account Token Cache (accounts.clearTokenCache)

Effacer tous les comptes Microsoft Entra enregistrés

Exécutez cette commande à partir de la palette de commandes (Ctrl/CMD + Maj + P) pour supprimer tous les comptes Microsoft Entra liés d’Azure Data Studio :

Effacer tous les comptes enregistrés (clearSavedAccounts)