

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 psql
<a name="UsingWithRDS.IAMDBAuth.Connecting.AWSCLI.PostgreSQL"></a>

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:
+ [Abilitazione e disabilitazione dell’autenticazione database IAM](UsingWithRDS.IAMDBAuth.Enabling.md)
+ [Creazione e utilizzo di una policy IAM per l'accesso al database IAM](UsingWithRDS.IAMDBAuth.IAMPolicy.md)
+ [Creazione di un account database tramite l’autenticazione IAM](UsingWithRDS.IAMDBAuth.DBAccounts.md)

**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](https://aws.amazon.com/blogs/database/using-iam-authentication-to-connect-with-pgadmin-amazon-aurora-postgresql-or-amazon-rds-for-postgresql/).

**Topics**
+ [Generazione di un token di autenticazione IAM](#UsingWithRDS.IAMDBAuth.Connecting.AWSCLI.AuthToken.PostgreSQL)
+ [Connessione a un cluster Aurora PostgreSQL](#UsingWithRDS.IAMDBAuth.Connecting.AWSCLI.Connect.PostgreSQL)

## Generazione di un token di autenticazione IAM
<a name="UsingWithRDS.IAMDBAuth.Connecting.AWSCLI.AuthToken.PostgreSQL"></a>

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. L'esempio seguente mostra come utilizzare il AWS CLI per ottenere un token di autenticazione firmato utilizzando il `generate-db-auth-token` comando e archiviarlo in una variabile di `PGPASSWORD` ambiente.

```
export RDSHOST="mypostgres-cluster.cluster-123456789012.us-west-2.rds.amazonaws.com"
export PGPASSWORD="$(aws rds generate-db-auth-token --hostname $RDSHOST --port 5432 --region us-west-2 --username jane_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 AWS regione in cui è in esecuzione il cluster di DB
+ `--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 anziché l'endpoint del cluster di databaseper generare il token di autenticazione.

## Connessione a un cluster Aurora PostgreSQL
<a name="UsingWithRDS.IAMDBAuth.Connecting.AWSCLI.Connect.PostgreSQL"></a>

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 pubblica

  Per ulteriori informazioni, consulta [Sicurezza dei dati Aurora PostgreSQL con SSL/TLS](AuroraPostgreSQL.Security.md#AuroraPostgreSQL.Security.SSL).

  Per scaricare un certificato SSL consulta [Utilizzo SSL/TLS per crittografare una connessione a un'](UsingWithRDS.SSL.md)
+ `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 anziché l'endpoint del cluster di databaseper 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\$1dir/* è il percorso completo del 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 --port 5432 --region us-west-2 --username jane_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 database tramite l'autenticazione IAM](rds-proxy-connecting.md#rds-proxy-connecting-iam).