Connexions et identités

L’extension PostgreSQL pour Visual Studio Code fournit une boîte de dialogue de connexion qui prend en charge plusieurs méthodes d’authentification, chiffrement SSL/TLS et outils organisationnels tels que les groupes de serveurs et les connexions enregistrées. Cet article décrit les principales tâches de connexion : ouverture de la boîte de dialogue, choix d’une méthode d’authentification, enregistrement et réutilisation des connexions et organisation des serveurs.

Tip

Pour les tunnels SSH, l’analyse des chaînes de connexion ou la configuration des fichiers de certificat, consultez les options de connexion avancées.

Ouvrir la boîte de dialogue de connexion

Vous pouvez ouvrir la boîte de dialogue de connexion de plusieurs façons :

  • Connexions : pointez sur l’en-tête de la section Connexions , puis sélectionnez Ajouter une nouvelle connexion (l’icône + ).
  • Palette de commandes : Exécuter PGSQL : Ajouter une nouvelle connexion.
  • Connexion enregistrée ou récente : sélectionnez une carte de connexion dans la liste Connexions enregistrées ou Connexions récentes dans le volet latéral pour charger ses paramètres dans la boîte de dialogue.

Lorsque vous ouvrez une nouvelle boîte de dialogue, l’en-tête lit Nouvelle connexion et le titre lit Se connecter au serveur PostgreSQL. Lorsque vous modifiez une connexion existante, l’en-tête passe à Modifier la connexion.

Choisir un mode d’entrée

Les onglets Se connecter via : en haut de la boîte de dialogue vous permettent de choisir comment fournir les détails de connexion :

Tab Description
Paramètres Renseignez des champs individuels tels que le nom du serveur, le type d’authentification, le nom d’utilisateur, le mot de passe, le nom de la base de données et le nom deconnexion. Il s’agit du mode par défaut ;
Chaîne de connexion Collez une chaîne de connexion dans l’un des formats pris en charge. L’extension analyse la chaîne et affiche le nom du serveur extrait, le nom d’utilisateur et le nom de base de données dans un panneau Détails de connexion en lecture seule.
Parcourir Azure Parcourez vos abonnements Azure, groupes de ressources et serveurs pour sélectionner un serveur flexible Azure Database pour PostgreSQL ou Azure cluster HorizonDB (préversion) directement. Nécessite un compte Azure connecté à Visual Studio Code.

Les trois modes comportent les mêmes boutons Enregistrer et connecter et Tester la connexion en bas de la boîte de dialogue. Le bouton Avancé ouvre le tiroir Paramètres de connexion avancés en tout mode.

Renseignez les paramètres de connexion

Lorsque vous utilisez l’onglet Paramètres , la boîte de dialogue présente les champs principaux suivants :

Champ Description
Nom du serveur Nom d’hôte ou adresse IP du serveur PostgreSQL.
Type d’authentification Méthode utilisée pour l’authentification. Consultez Types d’authentification.
Nom d’utilisateur Utilisateur ou rôle de base de données PostgreSQL. Visible lorsque le type d’authentification est mot de passe ou AWS IAM (RDS/Aurora).
Mot de passe Mot de passe du compte d’utilisateur. Visible lorsque le type d’authentification est mot de passe.
Enregistrer le mot de passe Cochez cette case pour stocker le mot de passe de manière sécurisée. Consultez stockage de mot de passe.
Nom de la base de données Nom de la base de données à laquelle se connecter. Laissez vide pour vous connecter à la base de données par défaut.
Nom de la connexion Nom convivial facultatif pour cette connexion. L’extension affiche ce nom dans l’arborescence Connexions et la liste Connexions enregistrées .

Des champs supplémentaires s’affichent en fonction du type d’authentification. Pour Entra Auth, la boîte de dialogue affiche le compte Entra, le nom d’utilisateur d’Entra et le locataire. Pour AWS IAM (RDS/Aurora), la boîte de dialogue affiche le profil AWS et la région AWS.

Note

Le champ Port se trouve dans le tiroir Paramètres de connexion avancés sous les options de niveau supérieur. Le port par défaut est 5432.

Types d’authentification

La liste déroulante Type d’authentification propose quatre options.

Mot de passe

L’authentification par mot de passe est la méthode PostgreSQL standard. Vous fournissez un nom d’utilisateur et un mot de passe que le serveur valide par rapport à sa configuration d’authentification (généralement pg_hba.conf).

  1. Définissez Type d’authentification sur Mot de passe.
  2. Entrez un nom d’utilisateur et un mot de passe.
  3. Si vous le souhaitez, sélectionnez Enregistrer le mot de passe pour stocker le mot de passe de manière sécurisée.
  4. Sélectionnez Enregistrer &Se connecter.

Stockage de mot de passe

Lorsque vous sélectionnez Enregistrer le mot de passe, l'extension stocke le mot de passe via l'API Visual Studio CodeSecretStorage, qui délègue au gestionnaire d'informations d'identification du système d'exploitation :

  • macOS : Trousseau
  • Windows : Gestionnaire d’informations d’identification
  • Linux : libsecret (GNOME Keyring ou KWallet)

Les mots de passe enregistrés sont associés à la connexion spécifique et ne sont jamais stockés dans des fichiers de paramètres en texte clair.

Authentification par Microsoft Entra

Microsoft Entra’authentification (anciennement Azure Active Directory) fournit une authentification sans mot de passe basée sur des jetons pour Azure Database pour PostgreSQL serveur flexible. La boîte de dialogue étiquette cette option Entra Auth.

Note

L’authentification Entra nécessite une instance de serveur flexible Azure Database pour PostgreSQL avec l’authentification Entra activée. Pour plus d’informations sur la configuration, consultez l’authentification Microsoft Entra avec Azure Database pour PostgreSQL.

Pour vous connecter avec l’authentification Entra :

  1. Ajoutez votre compte Entra. Ouvrez la palette de commandes et exécutez PGSQL : Ajouter Microsoft Entra compte. Connectez-vous avec vos informations d’identification Entra dans la fenêtre du navigateur qui s’ouvre.
  2. Ouvrez la boîte de dialogue de connexion. Définissez le type d’authentification sur Entra Auth.
  3. Sélectionnez votre compte. Choisissez le compte que vous avez ajouté dans la liste déroulante Compte Entra .
  4. Sélectionnez un locataire. Si votre compte appartient à plusieurs locataires, sélectionnez le locataire approprié dans la liste déroulante Locataire .
  5. Entrez le nom d’utilisateur Entra. Tapez le nom d’utilisateur Entra pour le rôle PostgreSQL mappé à votre identité.
  6. Se connecter. Sélectionnez Enregistrer &Se connecter. L’extension acquiert un jeton d’accès et s’authentifie auprès du serveur PostgreSQL en votre nom.

Les profils de connexion Entra enregistrés continuent d’utiliser la valeur héritée AzureMFA . La valeur canonique bearer-token:entra-id est réservée à la répartition pilotée par le serveur et à la migration de profil future.

Pour supprimer un compte Entra, exécutez PGSQL : Supprimer Microsoft Entra compte de la palette de commandes et sélectionnez le compte à supprimer. Pour effacer les jetons mis en cache sans supprimer le compte, exécutez PGSQL : Effacer Microsoft Entra cache de jeton de compte.

Modèle à deux comptes

L’extension prend en charge un modèle à deux comptes pour les scénarios Azure. Vous pouvez utiliser un compte Entra pour l’authentification de base de données et un autre compte pour parcourir les ressources Azure (abonnements, groupes de ressources et serveurs).

  • Le champ Compte Entra dans la boîte de dialogue de connexion contrôle l’identité qui s’authentifie auprès de la base de données.
  • L’onglet Parcourir Azure utilise le compte Azure connecté à Visual Studio Code (via l’extension Azure Resources) pour l’énumération des abonnements et des ressources.

Tip

Cette séparation est utile lorsque votre compte d’administrateur de base de données diffère du compte qui gère les abonnements Azure. Configurez chaque élément indépendamment pour utiliser les autorisations appropriées pour chaque tâche.

AWS IAM (RDS/Aurora)

L’authentification AWS IAM utilise un jeton d’authentification de base de données signé AWS au lieu d’un mot de passe stocké. Utilisez cette option uniquement pour les points de terminaison de base de données Amazon RDS for PostgreSQL ou Amazon Aurora PostgreSQL pour lesquels l’authentification de base de données IAM est activée. Une région AWS entrée manuellement peut compléter l’inférence de région, mais elle ne rend pas les hôtes PostgreSQL personnalisés, les hôtes non RDS ou les alias CNAME pris en charge. La boîte de dialogue étiquette cette option AWS IAM (RDS/Aurora).

Note

Votre rôle de base de données PostgreSQL doit exister sur le serveur et doit être autorisé à utiliser l’authentification de base de données IAM. Pour RDS et Aurora PostgreSQL, accordez le rôle rds_iam. Pour plus d’informations, consultez l’authentification de base de données IAM pour MariaDB, MySQL et PostgreSQL.

Pour vous connecter avec l’authentification AWS IAM :

  1. Préparez les informations d’identification AWS. Configurez le flux AWS CLI requis par votre organisation. Les exemples incluent aws configure, aws sso login --profile <profile> ou une configuration credential_process propre à une organisation.
  2. Ouvrez la boîte de dialogue de connexion. Définissez le type d’authentification sur AWS IAM (RDS/Aurora).
  3. Entrez le point de terminaison du serveur. Utilisez le point de terminaison Amazon RDS ou Aurora PostgreSQL dans le nom du serveur.
  4. Entrez le rôle de base de données. Dans le nom d’utilisateur, entrez l’utilisateur ou le rôle de base de données PostgreSQL. Il ne s’agit pas du AWS Profile, de l’utilisateur IAM, du rôle IAM ou de l’ARN.
  5. Choisissez la source d’informations d’identification AWS. Sélectionnez ou entrez un profil AWS. Laissez le profil AWS vide pour utiliser la chaîne d’informations d’identification AWS par défaut.
  6. Définissez la région AWS si nécessaire. L’extension déduit la région à partir des noms d’hôte RDS et Aurora standard lorsque cela est possible. Si le nom d’hôte n’inclut pas la région, entrez-le dans la région AWS.
  7. Se connecter. Sélectionnez Enregistrer &Se connecter. L’extension signe un jeton d’authentification de courte durée et l’utilise comme mot de passe PostgreSQL pour la nouvelle connexion.

La chaîne d’identifiants AWS prend en charge les variables d’environnement, les fichiers partagés de configuration et d’identifiants AWS, les profils AWS SSO et les profils credential_process. Il n’utilise pas les identifiants issus des métadonnées d’instance ou de conteneur EC2 ou ECS, et n’utilise pas non plus les chaînes de profils credential_source adossées aux métadonnées.

Les jetons d’authentification de base de données AWS IAM sont valides pendant 15 minutes. L’extension obtient de nouveaux jetons si nécessaire pendant que les informations d’identification AWS sous-jacentes restent valides. Aucune étape d’actualisation manuelle des jetons n’est nécessaire.

None

Aucune n’ignore entièrement l’authentification. L’extension se connecte sans envoyer d’informations d’identification. Cette option s’applique aux serveurs PostgreSQL configurés pour utiliser une authentification trust ou des configurations similaires sans informations d’identification.

Se connecter, tester et déconnecter

Une fois que vous avez renseigné les détails de connexion, utilisez les actions de la boîte de dialogue de connexion et l’arborescence Connexions pour enregistrer le profil, connecter, modifier ou supprimer des serveurs.

Enregistrer & Se connecter

Une fois que vous avez renseigné les détails de connexion, sélectionnez Enregistrer &Se connecter pour établir la connexion. Ce bouton effectue deux actions :

  1. Enregistre la connexion en tant que profil dans vos paramètres VS Code.
  2. Se connecte au serveur.

Si la connexion réussit, le serveur apparaît dans l’arborescence Connexions . La connexion apparaît également dans les listes Connexions enregistrées et Connexions récentes dans la boîte de dialogue de connexion.

Tester la connexion

Sélectionnez Tester la connexion pour vérifier les paramètres de connexion sans enregistrer le profil ou ajouter le serveur à l’arborescence Connexions . Le bouton affiche un spinner pendant l’exécution du test, puis affiche une coche sur la réussite ou une icône d’avertissement en cas d’échec.

Déconnecter

Pour vous déconnecter d’un serveur :

  • Connexions : cliquez avec le bouton droit sur le nœud du serveur, puis sélectionnez Déconnecter.
  • Palette de commandes : Exécuter PGSQL : Déconnecter.

Modifier une connexion existante

Pour modifier une connexion enregistrée, cliquez avec le bouton droit sur le serveur dans l’arborescence Connexions , puis sélectionnez Modifier la connexion. La boîte de dialogue de connexion s’ouvre en mode Édition avec l’en-tête Modifier la connexion et le nom du profil actuel comme titre. Apportez vos modifications et sélectionnez Enregistrer et se connecter pour vous reconnecter avec les paramètres mis à jour.

Paramètres de connexion avancés

Sélectionnez le bouton Avancé sous les champs principaux pour ouvrir le tiroir Paramètres de connexion avancés . Le tiroir contient :

  • Options de niveau supérieur : Étendue (utilisateur ou espace de travail), port, nom de l’application, délai d’expiration de connexion et basculement multi-sous-réseau.
  • Sections groupées : sections d’accordéon réductibles pour source, sécurité, serveur, client, SSL, Copilot et tunnel SSH.

L’option Étendue contrôle l’emplacement où le profil de connexion est enregistré :

Scope Emplacement où le profil est stocké
Utilisateur Paramètres utilisateur de VS Code (globaux, disponibles dans n’importe quel espace de travail)
Workspace Paramètres de l’espace de travail VS Code (partagés avec des collaborateurs via .vscode/settings.json)

Pour plus d’informations sur la configuration du tunnel SSL et SSH, consultez options de connexion avancées.

Mode d’accès à Copilot par connexion

La section Copilot du tiroir avancé comprend une liste déroulante Copilot mode d’accès avec trois options :

Option Résultat
Utiliser le paramètre global Hérite de la valeur globale pgsql.copilot.accessMode .
En lecture seule Limite Copilot aux opérations en lecture seule sur cette connexion.
Lecture/Écriture Permet Copilot d’exécuter des opérations de lecture et d’écriture sur cette connexion.

SSL et TLS

SSL/TLS chiffre la connexion entre Visual Studio Code et votre serveur PostgreSQL. Configurez le mode SSL dans la section SSL du tiroir Paramètres de connexion avancés ou dans votre chaîne de connexion.

Modes SSL

Mode Description
Désactiver Aucun chiffrement SSL. La connexion n’est pas chiffrée.
Permettre Tente d’abord une connexion non chiffrée ; revient au protocole SSL si le serveur l’exige.
Préférer Tente d’abord SSL ; revient à une connexion non chiffrée si la négociation SSL échoue. Il s’agit de la valeur par défaut pour de nombreux clients PostgreSQL.
Require (Rendre obligatoire) Nécessite le chiffrement SSL, mais ne vérifie pas le certificat de serveur. Protège contre les écoutes passives.
Vérifier l’autorité de certification Nécessite SSL et vérifie que le certificat de serveur est signé par une autorité de certification approuvée.
Vérification complète Nécessite SSL, vérifie l’autorité de certification et vérifie que le nom d’hôte du serveur correspond au nom commun ou au nom de l’objet du certificat. Offre la protection la plus forte.

Note

Azure Database pour PostgreSQL nécessite SSL par défaut. Utilisez Require pour la plupart des scénarios ou Verify-Full avec le certificat DigiCert Global Root G2 pour une sécurité maximale.

Tip

Pour connaître la configuration des fichiers de certificat et les scénarios TLS mutuels, consultez options de connexion avancées.

Gérer les connexions enregistrées et récentes

La boîte de dialogue de connexion comprend un panneau latéral avec deux listes :

  • Connexions enregistrées : connexions que vous avez précédemment enregistrées avec Save &Connect. Chaque carte affiche le nom d’affichage du serveur. Pointez sur une carte pour afficher un bouton Supprimer. Sélectionnez une carte pour charger ses paramètres dans la boîte de dialogue.
  • Connexions récentes : connexions que vous avez récemment utilisées, que vous les ayez enregistrées avec un nom de connexion. Pointez pour afficher un bouton Supprimer.

La liste Connexions récentes est limitée par le pgsql.maxRecentConnections paramètre. Le nombre maximal de connexions ouvertes simultanées par profil et de base de données est contrôlé par le pgsql.maxConnections paramètre (par défaut : 10).

Groupes de serveurs

Les groupes de serveurs vous aident à organiser les connexions dans l’arborescence Connexions . Vous pouvez attribuer un nom et une couleur personnalisés à chaque groupe, ce qui facilite l’identification des environnements tels que le développement, la préproduction et la production en un clin d’œil.

Créer un groupe de serveurs

  1. Cliquez avec le bouton droit dans l’arborescence Connexions , puis sélectionnez Créer un groupe de serveurs.
  2. Dans la boîte de dialogue, entrez un nom, une description facultative, puis sélectionnez une couleur pour le groupe.

Modifier ou supprimer un groupe de serveurs

  • Modifier : cliquez avec le bouton droit sur un groupe de serveurs dans l’arborescence Connexions , puis sélectionnez Modifier le groupe de serveurs pour modifier son nom, sa description ou sa couleur.
  • Supprimer : cliquez avec le bouton droit sur un groupe de serveurs, puis sélectionnez Supprimer. Les connexions dans le groupe ne sont pas supprimées ; ils se déplacent vers le groupe par défaut.

Attribuer une connexion à un groupe

Lorsque vous créez ou modifiez une connexion, la boîte de dialogue de connexion inclut une liste déroulante groupe de serveurs dans la zone des champs principaux. Sélectionnez un groupe dans la liste pour affecter la connexion à ce groupe.

Les couleurs de groupe apparaissent sous la forme d’une barre colorée en regard du nom du groupe dans l’arborescence Connexions , en fournissant une identification visuelle rapide.

métadonnées Azure

Lorsque vous vous connectez à un serveur flexible Azure Database pour PostgreSQL, la boîte de dialogue de connexion peut afficher un panneau de métadonnées Azure en même temps que le formulaire. Ce panneau affiche l'abonnement et le groupe de ressources du serveur après avoir sélectionné Récupérer Azure métadonnées. L’inclusion de Azure métadonnées permet de gérer des fonctionnalités telles que le tableau de bord du serveur et les métriques Azure Monitor.

Résoudre les problèmes de connexion courants

Lorsqu’une tentative de connexion échoue, la cause est généralement un paramètre réseau, d’authentification ou SSL. Les sections suivantes couvrent les cas les plus courants.

Connexion refusée ou délai d’expiration

Si la connexion échoue avant le début de l’authentification, vérifiez d’abord le nom du serveur et le port . Assurez-vous que PostgreSQL est en cours d’exécution, que le port est accessible à partir de votre machine et que toutes les règles de pare-feu réseau autorisent la connexion. Vous pouvez ajuster le délai d’expiration de connexion dans le tiroir Paramètres de connexion avancés pour permettre davantage de temps pour les réseaux lents.

Erreurs de validation de certificat ou SSL

Si le serveur nécessite un chiffrement, vérifiez que le mode SSL sélectionné dans la section SSL du tiroir avancé correspond à la configuration du serveur. Pour Verify-CA et Verify-Full, vérifiez que le certificat d’autorité de certification approprié est configuré. Pour plus d’informations sur le fichier de certificat, consultez options de connexion avancées.

Problèmes de connexion à Microsoft Entra ou de jeton

Si l’authentification Entra échoue, vérifiez que la cible Azure Database pour PostgreSQL serveur flexible a activé l’authentification Entra, puis vérifiez que vous avez sélectionné le compte et le locataire appropriés dans la boîte de dialogue de connexion. Si nécessaire, exécutez PGSQL : Supprimer le compte Microsoft Entra et ajoutez à nouveau le compte. Pour réinitialiser les jetons mis en cache, exécutez PGSQL: Effacer le cache des jetons du compte Microsoft Entra.

Problèmes de profil IAM ou de jeton AWS

Si l’authentification AWS IAM échoue, vérifiez que le nom du serveur est le point de terminaison Amazon RDS ou Aurora PostgreSQL, et non pas un nom d’hôte personnalisé ou un alias CNAME. Vérifiez que le nom d’utilisateur est le rôle de base de données PostgreSQL et que le rôle a activé l’authentification de base de données IAM sur le serveur. Vérifiez que le profil AWS sélectionné peut obtenir les informations d’identification AWS prises en charge ; par exemple, exécutez aws sts get-caller-identity --profile <profile> pour un profil nommé ou omettez --profile lorsque vous utilisez la chaîne d’informations d’identification par défaut. Si l’inférence de région échoue pour un point de terminaison pris en charge, entrez la région AWS manuellement.

L’analyse de chaîne de connexion ne remplit pas les champs appropriés

Si un chaîne de connexion collé ne remplit pas les valeurs attendues, passez en revue les modèles d'entrée pris en charge dans les options de connexion avancées. Si le format source est inhabituel, basculez vers l’onglet Paramètres et entrez les valeurs manuellement.