

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à.

# Rotazione del certificato SSL/TLS
<a name="UsingWithRDS.SSL-certificate-rotation"></a>

I certificati dell’autorità di certificazione Amazon RDS rds-ca-2019 scadono ad agosto 2024. Se utilizzi o prevedi di utilizzare Secure Sockets Layer (SSL) o Transport Layer Security (TLS) con verifica del certificato per connetterti alle istanze DB RDS o ai cluster DB Multi-AZ, prendi in considerazione l'utilizzo di uno dei nuovi certificati CA 2048-g1, 4096-g1 o 384-g1. rds-ca-rsa rds-ca-rsa rds-ca-ecc Se attualmente non lo utilizzi SSL/TLS con la verifica dei certificati, potresti avere ancora un certificato CA scaduto e devi aggiornarlo con un nuovo certificato CA se prevedi di utilizzarlo SSL/TLS con la verifica dei certificati per connetterti ai tuoi database RDS.

Amazon RDS fornisce nuovi certificati CA come best practice di AWS sicurezza. Per informazioni sui nuovi certificati e sulle AWS regioni supportate, consulta[](UsingWithRDS.SSL.md).

Per aggiornare il certificato CA per il database, utilizza i seguenti metodi: 
+  [Aggiornamento del certificato CA modificando l’istanza database o il cluster di database](#UsingWithRDS.SSL-certificate-rotation-updating) 
+  [Aggiornamento del certificato CA mediante l'applicazione di manutenzione](#UsingWithRDS.SSL-certificate-rotation-maintenance-update) 

Prima di aggiornare le istanze database o i cluster di database Multi-AZ per utilizzare il nuovo certificato CA, assicurati di aggiornare i client o le applicazioni che si collegano ai database RDS.

## Considerazioni sulla rotazione dei certificati
<a name="UsingWithRDS.SSL-certificate-rotation-considerations"></a>

Considera le seguenti situazioni prima di ruotare il certificato:
+ Il proxy i certificati di AWS Certificate Manager (ACM). Se utilizzi RDS Proxy, quando ruoti il SSL/TLS certificato non devi aggiornare le applicazioni che utilizzano connessioni proxy RDS. Per ulteriori informazioni, consulta [Utilizzo TLS/SSL con RDS Proxy](rds-proxy.howitworks.md#rds-proxy-security.tls).
+ Se si utilizza un’applicazione Go versione 1.15 con un’istanza database creata o aggiornata o un cluster di database Multi-AZ creato o aggiornato al certificato rds-ca-2019 prima del 28 luglio 2020, è necessario aggiornare nuovamente il certificato. 

  Utilizza il comando `modify-db-instance` per un’istanza database o il comando `modify-db-cluster` per un cluster di database Multi-AZ, utilizzando il nuovo identificatore del certificato CA. Puoi trovare quelli disponibili per uno specifico motore DB e una versione del motore DB utilizzando CAs il comando. `describe-db-engine-versions` 

  Se hai creato il database o aggiornato il relativo certificato dopo il 28 luglio 2020, non è richiesta alcuna azione. Per ulteriori informazioni, vedete [Go GitHub issue \$139568](https://github.com/golang/go/issues/39568). 

## Aggiornamento del certificato CA modificando l’istanza database o il cluster di database
<a name="UsingWithRDS.SSL-certificate-rotation-updating"></a>

*L'esempio seguente aggiorna il certificato CA da *rds-ca-2019 a 2048-g1*. rds-ca-rsa* Puoi scegliere un certificato diverso. Per ulteriori informazioni, consulta[Autorità di certificazione](UsingWithRDS.SSL.md#UsingWithRDS.SSL.RegionCertificateAuthorities). 

Aggiorna l’archivio di trust delle applicazioni per ridurre il tempo di inattività associato all’aggiornamento del certificato CA. Per ulteriori informazioni sui riavvii associati alla rotazione del certificato CA, consulta [Rotazione automatica dei certificati del server](#UsingWithRDS.SSL-certificate-rotation-server-cert-rotation).

**Per aggiornare il certificato CA modificando l’istanza database o il cluster di database**

1. Scarica il nuovo SSL/TLS certificato come descritto in[](UsingWithRDS.SSL.md).

1. Aggiornare le applicazioni per utilizzare il nuovo certificato SSL/TLS.

   I metodi per aggiornare le richieste di nuovi SSL/TLS certificati dipendono dalle applicazioni specifiche. Collabora con gli sviluppatori delle tue applicazioni per aggiornare i SSL/TLS certificati delle tue applicazioni.

   Per informazioni sul controllo delle SSL/TLS connessioni e sull'aggiornamento delle applicazioni per ogni motore di database, consultate i seguenti argomenti:
   +  [Aggiornamento delle applicazioni per connettersi alle istanze di MariadB utilizzando nuovi certificati SSL/TLS](ssl-certificate-rotation-mariadb.md) 
   +  [Aggiornamento delle applicazioni per la connessione a istanze di database Microsoft SQL Server utilizzando nuovi certificati SSL/TLS](ssl-certificate-rotation-sqlserver.md) 
   +  [Aggiornamento delle applicazioni per la connessione a istanze DB MySQL utilizzando nuovi certificati SSL/TLS](ssl-certificate-rotation-mysql.md) 
   +  [Aggiornamento delle applicazioni per la connessione alle istanze DB di Oracle utilizzando nuovi certificati SSL/TLS](ssl-certificate-rotation-oracle.md) 
   +  [Aggiornamento delle applicazioni per la connessione alle istanze DB PostgreSQL utilizzando nuovi certificati SSL/TLS](ssl-certificate-rotation-postgresql.md) 

   Per uno script di esempio che aggiorna un trust store per un sistema operativo Linux, consulta[Script di esempio per l'importazione di certificati nel tuo archivio di trust](#UsingWithRDS.SSL-certificate-rotation-sample-script).
**Nota**  
Il bundle di certificati contiene certificati per la vecchia e la nuova CA, pertanto puoi aggiornare l'applicazione in modo sicuro e mantenere la connettività durante il periodo di transizione. Se si utilizza il AWS Database Migration Service per migrare un database verso un'istanza DB o un cluster di , si consiglia di utilizzare il pacchetto di certificati per garantire la connettività durante la migrazione.

1. **Modifica l'istanza DB o il cluster DB Multi-AZ per cambiare la CA da **rds-ca-2019** a 2048-g1. rds-ca-rsa** Per verificare se il database richiede un riavvio per aggiornare i certificati CA, utilizza il comando e seleziona il flag. [describe-db-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html)`SupportsCertificateRotationWithoutRestart` 
**Importante**  
Se si verificano problemi di connettività dopo la scadenza del certificato, utilizzare l'opzione Applica immediatamente specificando **Apply immediately (Applica immediatamente)** nella console o specificando l'opzione `--apply-immediately` mediante AWS CLI. Per impostazione predefinita, questa operazione è pianificata per l'esecuzione durante la prossima finestra di manutenzione.  
Per le istanze database RDS per Oracle, è consigliabile riavviare il database Oracle per evitare errori di connessione.  
Per le istanze RDS for SQL Server Multi-AZ con AlwaysOn l'opzione Mirroring abilitata, è previsto un failover quando l'istanza viene riavviata dopo la rotazione del certificato.  
Per impostare una sostituzione della CA per l’istanza diversa dalla CA RDS predefinita, usa il comando CLI [modify-certificates](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-certificates.html).

**È possibile utilizzare Console di gestione AWS o the AWS CLI per modificare il certificato CA da **rds-ca-2019 a 2048-g1 per un'istanza DB o un cluster DB Multi-AZ**. rds-ca-rsa** 

------
#### [ Console ]

1. Accedi a Console di gestione AWS e apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel pannello di navigazione, scegli **Database**, quindi scegli l’istanza database o il cluster di database Multi-AZ che vuoi modificare. 

1. Scegli **Modifica**.   
![\[Modifica di un’istanza database o di un cluster di database Multi-AZ\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-modify.png)

1. Nella sezione **Connettività**, scegli **rds-ca-rsa2048-g1**.   
![\[Scegliere certificato CA\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-ca-rsa2048-g1.png)

1. Scegliere **Continue (Continua)** e controllare il riepilogo delle modifiche. 

1. Per applicare immediatamente le modifiche, scegliere **Apply immediately (Applica immediatamente)**. 

1. Nella pagina di conferma esaminare le modifiche. Se sono corrette, scegli **Modifica istanza database** o **Modifica cluster**  per salvare le modifiche. 
**Importante**  
Quando si pianifica questa operazione, accertarsi di aver aggiornato in anticipo l'archivio di trust lato client.

   Oppure scegliere **Back (Indietro)** per cambiare le modifiche o **Cancel (Annulla)** per annullare le modifiche. 

------
#### [ AWS CLI ]

Per utilizzare il AWS CLI per modificare la CA da **rds-ca-2019 a rds-ca-rsa 2048-g1** **per un'istanza DB o un cluster DB Multi-AZ**, chiama il comando or. [modify-db-instance[modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html)](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) Specifica l’identificatore dell’istanza database o del cluster di database e l’opzione `--ca-certificate-identifier`.

Utilizza il parametro `--apply-immediately` per applicare immediatamente l’aggiornamento. Per impostazione predefinita, questa operazione è pianificata per l'esecuzione durante la prossima finestra di manutenzione.

**Importante**  
Quando si pianifica questa operazione, accertarsi di aver aggiornato in anticipo l'archivio di trust lato client.

**Example**  
 **Istanza database**   
L’esempio seguente modifica `mydbinstance` impostando il certificato CA su `rds-ca-rsa2048-g1`.   
Per Linux, macOS o Unix:  

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --ca-certificate-identifier rds-ca-rsa2048-g1
```
Per Windows:  

```
aws rds modify-db-instance ^
    --db-instance-identifier mydbinstance ^
    --ca-certificate-identifier rds-ca-rsa2048-g1
```
Se l'istanza richiede il riavvio, puoi utilizzare il comando [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html)CLI e specificare `--no-certificate-rotation-restart` l'opzione.

**Example**  
 **Cluster di database Multi-AZ**   
L’esempio seguente modifica `mydbcluster` impostando il certificato CA su `rds-ca-rsa2048-g1`.   
Per Linux, macOS o Unix:  

```
aws rds modify-db-cluster \
    --db-cluster-identifier mydbcluster \
    --ca-certificate-identifier rds-ca-rsa2048-g1
```
Per Windows:  

```
aws rds modify-db-cluster ^
    --db-cluster-identifier mydbcluster ^
    --ca-certificate-identifier rds-ca-rsa2048-g1
```

------

## Aggiornamento del certificato CA mediante l'applicazione di manutenzione
<a name="UsingWithRDS.SSL-certificate-rotation-maintenance-update"></a>

Completa la procedura seguente per aggiornare il certificato CA applicando la manutenzione.

------
#### [ Console ]

**Per aggiornare il certificato CA applicando la manutenzione**

1. Accedi a Console di gestione AWS e apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel riquadro di navigazione, scegli **Aggiornamento certificato**.   
![\[Opzione del pannello di navigazione di rotazione del certificato\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-certupdate.png)

   Viene visualizzata la pagina **Database con aggiornamento certificati richiesto**.  
![\[Aggiornamento del certificato CA per il database\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-update-multiple.png)
**Nota**  
Questa pagina mostra solo le istanze e i cluster DB della versione corrente. Regione AWS Se disponi di database in più di uno Regione AWS, controlla questa pagina in ciascuno di essi Regione AWS per vedere tutte le istanze DB con vecchi certificati. SSL/TLS 

1. Scegli l’istanza database o il cluster di database Multi-AZ da aggiornare.

   È possibile pianificare la rotazione dei certificati per la finestra di manutenzione successiva scegliendo **Pianifica**. Applica immediatamente la rotazione scegliendo **Applica ora**. 
**Importante**  
Se si verificano problemi di connettività dopo la scadenza del certificato, utilizza l'opzione **Applica ora**.

1. 

   1. Se scegli **Pianifica**, ti viene richiesto di confermare la rotazione dei certificati CA. Nella richiesta viene indicato anche la finestra pianificata per l'aggiornamento.   
![\[Conferma della rotazione del certificato\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-confirm-schedule.png)

   1. Se scegli **Applica ora**, ti viene richiesto di confermare la rotazione dei certificati CA.  
![\[Conferma della rotazione del certificato\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-confirm-now.png)
**Importante**  
Prima di pianificare la rotazione dei certificati CA sul database, aggiorna tutte le applicazioni client che utilizzano SSL/TLS e il certificato del server per la connessione. Questi aggiornamenti sono specifici per il motore DB. Dopo avere aggiornato queste applicazioni client, è possibile confermare la rotazione del certificato CA. 

   Per continuare, scegliere la casella di controllo e quindi scegliere **Confirm (Conferma)**. 

1. Ripeti i passaggi 3 e 4 per ogni istanza database e cluster di database da aggiornare.

------

## Rotazione automatica dei certificati del server
<a name="UsingWithRDS.SSL-certificate-rotation-server-cert-rotation"></a>

Se la CA root supporta la rotazione automatica dei certificati del server, RDS gestisce automaticamente la rotazione dei certificati del server di database. Per questa rotazione automatica, RDS utilizza la stessa CA root e pertanto non è necessario scaricare un nuovo bundle CA. Consulta [Autorità di certificazione](UsingWithRDS.SSL.md#UsingWithRDS.SSL.RegionCertificateAuthorities).

La rotazione e la validità del certificato del server di database dipendono dal motore di database:
+ Se il motore di database supporta la rotazione senza riavvio, RDS esegue automaticamente la rotazione del certificato del server di database senza richiedere alcuna azione da parte dell'utente. RDS tenta di eseguire la rotazione del certificato del server di database nella finestra di manutenzione preferita in corrispondenza della semivita del certificato del server di database. Il nuovo certificato del server di database è valido per 12 mesi.
+ Se il tuo motore DB non supporta la rotazione senza riavvio, Amazon RDS rende visibile un'azione di manutenzione `server-certificate-rotation` in sospeso tramite Describe-pending-maintenance-actions API, al termine del periodo di dimezzamento del certificato o almeno 3 mesi prima della scadenza. Puoi applicare la rotazione utilizzando l'API. apply-pending-maintenance-action Il nuovo certificato del server di database è valido per 36 mesi.

Usa il [ describe-db-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html)comando e controlla il `SupportsCertificateRotationWithoutRestart` flag per identificare se la versione del motore DB supporta la rotazione del certificato senza riavvio. Per ulteriori informazioni, consulta [Impostazione della CA per il database](UsingWithRDS.SSL.md#UsingWithRDS.SSL.RegionCertificateAuthorities.Selection). 

## Script di esempio per l'importazione di certificati nel tuo archivio di trust
<a name="UsingWithRDS.SSL-certificate-rotation-sample-script"></a>

Di seguito sono riportati script di shell di esempio che importano il bundle di certificati in un archivio di trust.

Ogni script di shell di esempio utilizza keytool, che fa parte del Java Development Kit (JDK). Per informazioni sull'installazione di JDK, consulta la [Guida di installazione di JDK](https://docs.oracle.com/en/java/javase/17/install/overview-jdk-installation.html). 

------
#### [ Linux ]

Il seguente script è uno script di esempio shell che importa il bundle di certificati in un archivio di trust su un sistema operativo Linux.

```
mydir=tmp/certs
if [ ! -e "${mydir}" ]
then
mkdir -p "${mydir}"
fi truststore=${mydir}/rds-truststore.jks storepassword=changeit

curl -sS "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem"> ${mydir}/global-bundle.pem
awk 'split_after == 1 {n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1}{print > "rds-ca-" n+1 ".pem"}' < ${mydir}/global-bundle.pem

for CERT in rds-ca-*; do alias=$(openssl x509 -noout -text -in $CERT | perl -ne 'next unless /Subject:/; s/.*(CN=|CN = )//; print')
  echo "Importing $alias"
  keytool -import -file ${CERT} -alias "${alias}" -storepass ${storepassword} -keystore ${truststore} -noprompt
  rm $CERT
done

rm ${mydir}/global-bundle.pem

echo "Trust store content is: "

keytool -list -v -keystore "$truststore" -storepass ${storepassword} | grep Alias | cut -d " " -f3- | while read alias 
do expiry=`keytool -list -v -keystore "$truststore" -storepass ${storepassword} -alias "${alias}" | grep Valid | perl -ne 'if(/until: (.*?)\n/) { print "$1\n"; }'`
   echo " Certificate ${alias} expires in '$expiry'" 
done
```

------
#### [ macOS ]

Il seguente script è uno script di shell di esempio che importa il bundle di certificati in un archivio di trust su un sistema operativo Linux.

```
mydir=tmp/certs
if [ ! -e "${mydir}" ]
then
mkdir -p "${mydir}"
fi truststore=${mydir}/rds-truststore.jks storepassword=changeit

curl -sS "https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem"> ${mydir}/global-bundle.pem
split -p "-----BEGIN CERTIFICATE-----" ${mydir}/global-bundle.pem rds-ca-

for CERT in rds-ca-*; do alias=$(openssl x509 -noout -text -in $CERT | perl -ne 'next unless /Subject:/; s/.*(CN=|CN = )//; print')
  echo "Importing $alias"
  keytool -import -file ${CERT} -alias "${alias}" -storepass ${storepassword} -keystore ${truststore} -noprompt
  rm $CERT
done

rm ${mydir}/global-bundle.pem

echo "Trust store content is: "

keytool -list -v -keystore "$truststore" -storepass ${storepassword} | grep Alias | cut -d " " -f3- | while read alias 
do expiry=`keytool -list -v -keystore "$truststore" -storepass ${storepassword} -alias "${alias}" | grep Valid | perl -ne 'if(/until: (.*?)\n/) { print "$1\n"; }'`
   echo " Certificate ${alias} expires in '$expiry'" 
done
```

------