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 d' de base de données à l'aide de l'authentification IAM à partir de la ligne de commande : AWS CLI et du client MySQL
Vous pouvez vous connecter depuis la ligne de commande à un cluster de base de données Aurora d'instance de base de données à l'aide de l'outil de ligne de mysql
commande AWS CLI et comme décrit ci-dessous.
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 SQL Workbench/J avec authentification IAM, lisez le billet de blog Utilisation de l'authentification IAM pour se connecter avec SQL Workbench/J à Aurora MySQL ou Amazon RDS for MySQL
Création d'un jeton d'authentification IAM
L'exemple suivant illustre comment obtenir un jeton d'identification signé à l'aide d AWS CLI.
aws rds generate-db-auth-token \ --hostname
rdsmysql.123456789012.us-west-2.rds.amazonaws.com
\ --port3306
\ --regionus-west-2
\ --usernamejane_doe
Dans cet exemple, les paramètres sont les suivants :
-
--hostname
– Le nom d'hôte 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 AWS région dans laquelle le cluster d' de base de données est exécuté -
--username
– Le compte de base de données auquel vous souhaitez accéder.
Les premiers caractères du jeton ressemblent à l'exemple suivant.
rdsmysql.123456789012.us-west-2.rds.amazonaws.com:3306/?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 à votre cluster de base de données
Le format général de connexion est illustré ci-dessous.
mysql --host=
hostName
--port=portNumber
--ssl-ca=full_path_to_ssl_certificate
--enable-cleartext-plugin --user=userName
--password=authToken
Les paramètres sont les suivants :
-
--host
– Le nom d'hôte 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. -
--ssl-ca
– Le chemin d'accès complet vers le fichier de certificat SSL contenant la clé publique.Pour plus d’informations, consultez TLSconnexions aux clusters Aurora My SQL DB.
Pour télécharger un certificat SSL, consultez Utilisation TLS deSSL/pour chiffrer une connexion à une de clusters.
-
--enable-cleartext-plugin
– Une valeur qui spécifie queAWSAuthenticationPlugin
doit être utilisé pour cette connexion.Si vous utilisez un client MariaDB, l'option
--enable-cleartext-plugin
n'est pas requise. -
--user
– Le compte de base de données auquel vous souhaitez accéder. -
--password
– Un jeton d'authentification IAM signé.
Le jeton d'authentification est composé de plusieurs centaines de caractères. Il peut être encombrant 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 suivant illustre une manière de contourner ce problème. Dans cet exemple, /sample_dir/
est le chemin d'accès complet au fichier de certificat SSL contenant la clé publique.
RDSHOST="
mysqlcluster.cluster-123456789012.us-east-1.rds.amazonaws.com
" TOKEN="$(aws rds generate-db-auth-token --hostname $RDSHOST --port3306
--regionus-west-2
--usernamejane_doe
)" mysql --host=$RDSHOST --port=3306
--ssl-ca=/sample_dir/
global-bundle.pem --enable-cleartext-plugin --user=jane_doe
--password=$TOKEN
Lorsque vous vous connectez avec AWSAuthenticationPlugin
, la connexion est sécurisée par SSL. Pour le vérifier, tapez la commande suivante à l'invite de commande mysql>
.
show status like 'Ssl%';
Les lignes suivantes de l'affichage obtenu fournissent plus de détails.
+---------------+-------------+ | Variable_name | Value | +---------------+-------------+ | ... | ... | Ssl_cipher | AES256-SHA | | ... | ... | Ssl_version | TLSv1.1 | | ... | ... +-----------------------------+
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.