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 --port5432
--regionus-west-2
--usernamejane_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 --port5432
--regionus-west-2
--usernamejane_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.