Connexion à votre cluster de base de données à l'aide de l'authentification IAM à partir de la ligne de commande : AWS CLI et client psql - Amazon Aurora

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Connexion à votre cluster de base de données à l'aide de l'authentification IAM à partir de la ligne de commande : AWS CLI et client psql

À partir de la ligne de commande, vous pouvez vous connecter à une cluster de base de données Aurora PostgreSQL avec AWS CLIl'outil de ligne de commande psql comme décrit ci-après.

Prérequis

Les conditions préalables à la connexion à votre cluster de base de données à l'aide de l'authentification IAM sont les suivantes :

Note

Pour plus d'informations sur la connexion à votre base de données à l'aide de pgAdmin avec authentification IAM, consultez le billet de blog Utilisation de l'authentification IAM pour se connecter à PgAdmin Amazon Aurora PostgreSQL ou Amazon RDS for PostgreSQL

Création d'un jeton d'authentification IAM

Le jeton d'authentification se compose de plusieurs centaines de caractères ; il peut donc être complexe à manipuler sur la ligne de commande. Pour contourner ce problème, vous pouvez enregistrer le jeton dans une variable d'environnement, puis utiliser cette variable pour la connexion. L'exemple de code suivant montre comment utiliser l'AWS CLI pour obtenir un jeton d'authentification signé à l'aide de la commande generate-db-auth-token et le stocker dans une variable d'environnement PGPASSWORD.

export RDSHOST="mypostgres-cluster.cluster-123456789012.us-west-2.rds.amazonaws.com" export PGPASSWORD="$(aws rds generate-db-auth-token --hostname $RDSHOST --port 5432 --region us-west-2 --username jane_doe )"

Dans cet exemple, les paramètres de la commande generate-db-auth-token sont les suivants :

  • --hostname – Nom d'hôte de l'du cluster (point de terminaison du cluster) de base de données auquel vous souhaitez accéder.

  • --port – Le numéro du port utilisé lors de la connexion au cluster d' de base de données.

  • --region – La région AWS où l'cluster de base de données s'exécute.

  • --username – Le compte de base de données auquel vous souhaitez accéder.

Les premiers caractères du jeton généré ressemblent à l'exemple suivant.

mypostgres-cluster.cluster-123456789012.us-west-2.rds.amazonaws.com:5432/?Action=connect&DBUser=jane_doe&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=900...
Note

Vous ne pouvez pas utiliser un enregistrement DNS Route 53 personnalisé ni un point de terminaison personnalisé Aurora à la place du point de terminaison du cluster de bases de données pour générer le jeton d'authentification.

Connexion à une un cluster Aurora PostgreSQL

Le format général pour utiliser psql pour la connexion est illustré ci-dessous.

psql "host=hostName port=portNumber sslmode=verify-full sslrootcert=full_path_to_ssl_certificate dbname=DBName user=userName password=authToken"

Les paramètres sont les suivants :

  • host – Nom d'hôte de l'du cluster (point de terminaison du cluster) de base de données auquel vous souhaitez accéder.

  • port – Le numéro du port utilisé lors de la connexion au cluster d' de base de données.

  • sslmode – Le mode SSL à utiliser.

    Lorsque vous utilisez sslmode=verify-full, la connexion SSL vérifie le point de terminaison de l'cluster de base de données par rapport au point de terminaison dans le certificat SSL.

  • sslrootcert – Le chemin d'accès complet vers le fichier de certificat SSL contenant la clé publique.

    Pour de plus amples informations, veuillez consulter Sécurisation des SQL données Aurora Postgre avec/SSLTLS.

    Pour télécharger un certificat SSL, consultez Utilisation TLS deSSL/pour chiffrer une connexion à une de clusters.

  • dbname – La base de données à laquelle vous souhaitez accéder.

  • user – Le compte de base de données auquel vous souhaitez accéder.

  • password – Un jeton d'authentification IAM signé.

Note

Vous ne pouvez pas utiliser un enregistrement DNS Route 53 personnalisé ni un point de terminaison personnalisé Aurora à la place du point de terminaison du cluster de bases de données pour générer le jeton d'authentification.

L'exemple suivant montre l'utilisation de psql pour se connecter. Dans cet exemple, psql utilise la variable d'environnement RDSHOST pour l'hôte et la variable d'environnement PGPASSWORD pour le jeton généré. Par ailleurs, /sample_dir/ est le chemin d'accès complet au fichier de certificat SSL contenant la clé publique.

export RDSHOST="mypostgres-cluster.cluster-123456789012.us-west-2.rds.amazonaws.com" export PGPASSWORD="$(aws rds generate-db-auth-token --hostname $RDSHOST --port 5432 --region us-west-2 --username jane_doe )" psql "host=$RDSHOST port=5432 sslmode=verify-full sslrootcert=/sample_dir/global-bundle.pem dbname=DBName user=jane_doe password=$PGPASSWORD"

Si vous souhaitez vous connecter à un cluster de bases de données via un proxy, consultez Connexion à un proxy à l'aide de l'authentification IAM.