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 database tramite Autenticazione IAM dalla riga di comando: AWS CLI e client psql
Puoi eseguire la connessione dalla riga di comando a un cluster database Aurora PostgreSQL con AWS CLI e lo strumento a riga di comando psql 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 pgAdmin con autenticazione IAM, consulta il post sul blog Utilizzo dell'autenticazione IAM per connettersi con PGadmin Amazon Aurora PostgreSQL o Amazon RDS for PostgreSQL
Generazione di un token di autenticazione IAM
Il token di autenticazione è costituito da diverse centinaia di caratteri, quindi può essere complesso nella riga di comando. Una soluzione è di salvare il token in una variabile di ambiente e utilizzare quella variabile durante la connessione. Il seguente esempio mostra come usare l'AWS CLI per ottenere un token di autenticazione firmato utilizzando il comando generate-db-auth-token
e archiviarlo in una variabile di ambiente 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
)"
Nell'esempio, i parametri per il comando generate-db-auth-token
sono i seguenti:
-
--hostname
– Nome host del cluster (endpoint del cluster) di database cui desideri accedere. -
--port
– Numero di porta usato per la connessione al dell'istanza database -
--region
: la regione AWS in cui è in esecuzione il cluster database -
--username
– L'account database cui vuoi accedere.
I primi caratteri del token generato hanno il seguente aspetto.
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...
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 Aurora PostgreSQL
Di seguito è mostrato il formato generale per l'utilizzo di psql per la connessione.
psql "host=
hostName
port=portNumber
sslmode=verify-full sslrootcert=full_path_to_ssl_certificate
dbname=DBName
user=userName
password=authToken
"
I parametri sono i seguenti:
-
host
– Nome host del cluster (endpoint del cluster) di database cui desideri accedere. -
port
– Numero di porta usato per la connessione al dell'istanza database -
sslmode
– Modalità SSL da utilizzare.Quando si utilizza
sslmode=verify-full
, la connessione SSL verifica l'endpoint del cluster database rispetto a quello nel certificato SSL. -
sslrootcert
– Il percorso completo del file del certificato SSL che contiene la chiave pubblicaPer ulteriori informazioni, consulta Protezione dei dati di Aurora SQL Postgree con/SSLTLS.
-
dbname
– Database a cui accedere. -
user
– L'account database cui vuoi accedere. -
password
– Token di autenticazione IAM firmato.
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.
L'esempio seguente mostra l'utilizzo di psql per la connessione. Nell'esempio, psql utilizza la variabile d'ambiente RDSHOST
per l'host e la variabile d'ambiente PGPASSWORD
per il token generato. Inoltre, /sample_dir/
è il percorso completo al file del certificato SSL che contiene la chiave pubblica.
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"
Se desideri connetterti a un cluster di database tramite un proxy, consulta Connessione a un proxy mediante autenticazione IAM.