Connexion à PostgreSQL avec l'authentification Kerberos - Amazon Relational Database Service

Connexion à PostgreSQL avec l'authentification Kerberos

Vous pouvez vous connecter à PostgreSQL via l'authentification Kerberos avec l'interface pgAdmin ou avec une interface de ligne de commande telle que psql. Pour de plus amples informations sur la connexion,veuillez consulter Connexion à une instance de base de données exécutant le moteur de base de données PostgreSQL .

Pour vous connecter à PostgreSQL avec l'authentification Kerberos en utilisant pgAdmin, procédez comme suit :

  1. Lancez l'application pgAdmin sur votre ordinateur client.

  2. Dans l'onglet Tableau de bord, choisissez Add New Server (Ajouter un nouveau serveur).

  3. Dans la boîte de dialogue Create - Server (Créer - Serveur), entrez un nom sur l'onglet General (Général) pour identifier le serveur dans pgAdmin.

  4. Dans l'onglet Connection (Connexion), entrez les informations suivantes à partir de votre base de données RDS for PostgreSQL :

    • Pour Host (Hôte), entrez le point de terminaison. Utilisez un format tel que PostgreSQL-endpoint.AWS-Region.rds.amazonaws.com.

      Si vous utilisez un Microsoft Active Directory sur site à partir d'un client Windows, vous devez vous connecter à l'aide d'un point de terminaison spécial. Au lieu d'utiliser le domaine Amazon rds.amazonaws.com dans le point de terminaison hôte, utilisez le nom de domaine d’AWS Managed Active Directory.

      Par exemple, supposons que le nom de domaine pour AWS Managed Active Directory soit corp.example.com. Alors, pour Host (Hôte), utilisez le format PostgreSQL-endpoint.AWS-Region.corp.example.com.

    • Pour Port, entrez le port attribué.

    • Pour Maintenance database (Base de données de maintenance), entrez le nom de la base de données initiale à laquelle le client se connectera.

    • Pour Username (Nom d'utilisateur), tapez le nom d'utilisateur que vous avez entré pour l'authentification Kerberos dans Étape 7 : Créer les connexions PostgreSQL d'authentification Kerberos .

  5. Choisissez Enregistrer.

Pour vous connecter à PostgreSQL avec l'authentification Kerberos en utilisant psql, procédez comme suit :

  1. A partir d'une invite de commande, exécutez la commande suivante.

    kinit username

    Remplacez username par le nom de l'utilisateur. À l'invite, entrez le mot de passe stocké dans le Microsoft Active Directory pour l'utilisateur.

  2. Si l'instance de base de données PostgreSQL utilise un VPC accessible au public, insérez une adresse IP privée pour le point de terminaison de votre instance de base de données dans votre fichier /etc/hosts sur le client EC2. Par exemple, les commandes suivantes permettent d'obtenir l'adresse IP privée et de la placer dans le fichier /etc/hosts.

    % dig +short PostgreSQL-endpoint.AWS-Region.rds.amazonaws.com ;; Truncated, retrying in TCP mode. ec2-34-210-197-118.AWS-Region.compute.amazonaws.com. 34.210.197.118 % echo " 34.210.197.118 PostgreSQL-endpoint.AWS-Region.rds.amazonaws.com" >> /etc/hosts

    Si vous utilisez un Microsoft Active Directory sur site à partir d'un client Windows, vous devez vous connecter à l'aide d'un point de terminaison spécial. Au lieu d'utiliser le domaine Amazon rds.amazonaws.com dans le point de terminaison hôte, utilisez le nom de domaine d’AWS Managed Active Directory.

    Par exemple, supposons que le nom de domaine de votre AWS Managed Active Directory soit corp.example.com. Alors, utilisez le format PostgreSQL-endpoint.AWS-Region.corp.example.com pour le point de terminaison et placez-le dans le fichier /etc/hosts.

    % echo " 34.210.197.118 PostgreSQL-endpoint.AWS-Region.corp.example.com" >> /etc/hosts
  3. Utilisez la commande psql suivante pour vous connecter à une instance de base de données PostgreSQL intégré à Active Directory.

    psql -U username@CORP.EXAMPLE.COM -p 5432 -h PostgreSQL-endpoint.AWS-Region.rds.amazonaws.com postgres

    Pour vous connecter au cluster de base de données PostgreSQL à partir d'un client Windows à l'aide d'un Active Directory sur site, utilisez la commande psql suivante avec le nom de domaine de l'étape précédente (corp.example.com) :

    psql -U username@CORP.EXAMPLE.COM -p 5432 -h PostgreSQL-endpoint.AWS-Region.corp.example.com postgres