Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Connessione al di istanze DB utilizzando l'autenticazione IAM dalla riga di comando: AWS CLI e il client mysql
Puoi connetterti dalla riga di comando a un cluster DB di istanze Amazon RDS con AWS CLI lo strumento da riga di comando mysql and come descritto di seguito.
Prerequisiti
Di seguito sono riportati i prerequisiti per la connessione al di istanzaDB utilizzando l’autenticazione IAM:
Nota
Per informazioni sulla connessione al database tramite SQL Workbench/J con autenticazione IAM, consulta il post del blog Use IAM authentication to connect with SQL Workbench/J to Aurora MySQL o Amazon RDS for MySQL
Generazione di un token di autenticazione IAM
L'esempio seguente mostra come ottenere un token di autenticazione firmato utilizzando AWS CLI.
aws rds generate-db-auth-token \ --hostnamerdsmysql.123456789012.us-west-2.rds.amazonaws.com\ --port3306\ --regionus-west-2\ --usernamejane_doe
Nell'esempio, i parametri sono come segue:
-
--hostname– Nome host dell'istanza database cui vuoi accedere. -
--port– Numero di porta usato per la connessione al cluster -
--region -
--username– L'account database cui vuoi accedere.
I primi caratteri del token hanno il seguente aspetto.
rdsmysql.123456789012.us-west-2.rds.amazonaws.com:3306/?Action=connect&DBUser=jane_doe&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=900...
Nota
Non è possibile utilizzare un record DNS Route 53 personalizzato anziché l'endpoint dell'istanza database per generare il token di autenticazione.
Connessione a un’istanza database
Il formato generale per la connessione è visualizzato di seguito.
mysql --host=hostName--port=portNumber--ssl-ca=full_path_to_ssl_certificate--enable-cleartext-plugin --user=userName--password=authToken
I parametri sono i seguenti:
-
--host– Nome host dell'istanza database cui vuoi accedere. -
--port– Numero di porta usato per la connessione al cluster -
--ssl-ca– Il percorso completo del file del certificato SSL che contiene la chiave pubblicaPer ulteriori informazioni sul SSL/TLS supporto per MariadB, consulta. Supporto di SSL/TLS per le istanze database MariaDB in Amazon RDS
Per ulteriori informazioni sul SSL/TLS supporto per MySQL, vedere. Supporto di SSL/TLS per le istanze database MySQL in Amazon RDS
-
--enable-cleartext-plugin– Valore che specifica che per la connessione deve essere usatoAWSAuthenticationPlugin.Se si utilizza un client MariaDB, l'opzione
--enable-cleartext-pluginnon è richiesta. -
--user– L'account database cui vuoi accedere. -
--password– Token di autenticazione IAM firmato.
Il token di autenticazione consiste in diverse centinaia di caratteri. Può essere macchinoso nella riga di comando. Una soluzione è di salvare il token in una variabile di ambiente e utilizzare quella variabile durante la connessione. L'esempio seguente mostra un modo per eseguire questa soluzione. Nell'esempio, /sample_dir/ è il percorso completo del file del certificato SSL che contiene la chiave pubblica.
RDSHOST="mysqldb.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
Quando si esegue la connessione utilizzando AWSAuthenticationPlugin, la connessione viene protetta utilizzando SSL. Per verificare ciò, digita quanto segue al prompt del comando mysql>.
show status like 'Ssl%';
Le righe seguenti nell'output mostrano più dettagli.
+---------------+-------------+ | Variable_name | Value | +---------------+-------------+ | ... | ... | Ssl_cipher | AES256-SHA | | ... | ... | Ssl_version | TLSv1.1 | | ... | ... +-----------------------------+
Se desideri connetterti a un'istanza database tramite un proxy, consulta Connessione a un database tramite l'autenticazione IAM.