Connessione al cluster di DB utilizzando l'autenticazione IAM dalla riga di comando: AWS CLI e il client mysql - Amazon Aurora

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 cluster di DB utilizzando l'autenticazione IAM dalla riga di comando: AWS CLI e il client mysql

Puoi connetterti dalla riga di comando a un cluster Aurora 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 alcluster di DB utilizzando l'autenticazione IAM:

Nota

Per informazioni sulla connessione al database tramite SQL Workbench/J con autenticazione IAM, consulta il post del blog Utilizzo dell'autenticazione IAM per connettersi con SQL Workbench/J a 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 \ --hostname rdsmysql.123456789012.us-west-2.rds.amazonaws.com \ --port 3306 \ --region us-west-2 \ --username jane_doe

Nell'esempio, i parametri sono come segue:

  • --hostname – Nome host del cluster database cui vuoi accedere.

  • --port – Numero di porta usato per la connessione al dell'istanza database

  • --region— La AWS regione in cui è in esecuzione il cluster di DB

  • --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 o un endpoint personalizzato Aurora anziché l'endpoint del cluster database per generare il token di autenticazione.

Connessione a un cluster 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 del cluster database cui vuoi accedere.

  • --port – Numero di porta usato per la connessione al dell'istanza database

  • --ssl-ca – Il percorso completo del file del certificato SSL che contiene la chiave pubblica

    Per ulteriori informazioni, consulta Utilizzo di TLS con cluster database Aurora MySQL.

    Per scaricare un certificato SSL consulta

  • --enable-cleartext-plugin – Valore che specifica che per la connessione deve essere usato AWSAuthenticationPlugin.

    Se si utilizza un client MariaDB, l'opzione --enable-cleartext-plugin non è 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="mysqlcluster.cluster-123456789012.us-east-1.rds.amazonaws.com" TOKEN="$(aws rds generate-db-auth-token --hostname $RDSHOST --port 3306 --region us-west-2 --username jane_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 cluster di database tramite un proxy, consulta Connessione a un proxy mediante autenticazione IAM.