

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Rotation de votre SSL/TLS certificat
<a name="UsingWithRDS.SSL-certificate-rotation"></a>

Les certificats de l’autorité de certification Amazon RDS rds-ca-2019 sont configurés pour expirer en août 2024. Si vous utilisez ou prévoyez d'utiliser le protocole SSL (Secure Sockets Layer) ou le protocole Transport Layer Security (TLS) avec vérification des certificats pour vous connecter à vos instances ou clusters de base de données RDS, pensez à utiliser l'un des nouveaux certificats CA Multi-AZ rds-ca-rsa2048-g1, rds-ca-rsa4096-g1 ou rds-ca-ecc384-g1. Si vous ne l'utilisez pas actuellement SSL/TLS avec la vérification des certificats, vous avez peut-être encore un certificat CA expiré et vous devez le mettre à jour SSL/TLS avec un nouveau certificat CA si vous prévoyez d'utiliser la vérification des certificats pour vous connecter à vos bases de données RDS.

Amazon RDS fournit de nouveaux certificats CA dans le cadre des meilleures pratiques AWS de sécurité. Pour plus d'informations sur les nouveaux certificats et les AWS régions prises en charge, consultez[](UsingWithRDS.SSL.md).

Pour mettre à jour le certificat CA de votre base de données, appliquez les méthodes suivantes : 
+  [Mise à jour de votre certificat CA en modifiant votre instance de base de données ou votre cluster](#UsingWithRDS.SSL-certificate-rotation-updating) 
+  [Mise à jour de votre certificat CA en appliquant la maintenance](#UsingWithRDS.SSL-certificate-rotation-maintenance-update) 

Avant de mettre à jour vos  Multi-AZ instances ou clusters de base de données pour utiliser le nouveau certificat CA, assurez-vous de mettre à jour vos clients ou applications qui se connectent à vos bases de données RDS.

## Considérations relatives à la rotation des certificats
<a name="UsingWithRDS.SSL-certificate-rotation-considerations"></a>

Tenez compte des situations suivantes avant de procéder à la rotation de votre certificat :
+ Amazon RDS Proxy des certificats du AWS Certificate Manager (ACM). Si vous utilisez un proxy RDS, lorsque vous faites pivoter votre SSL/TLS certificat, vous n'avez pas besoin de mettre à jour les applications qui utilisent des connexions au proxy RDS. Pour plus d’informations, consultez [Utilisation TLS/SSL avec RDS Proxy](rds-proxy.howitworks.md#rds-proxy-security.tls).
+ Si vous utilisez une application Go version 1.15 avec une instance de base de données ou un Multi-AZ cluster de base de données créé ou mis à jour vers le certificat rds-ca-2019 avant le 28 juillet 2020, vous devez à nouveau mettre à jour le certificat. Mettez à jour le certificat vers rds-ca-rsa2048-g1, rds-ca-rsa4096-g1 ou rds-ca-ecc384-g1 en fonction de votre moteur . 

  Utilisez la `modify-db-instance` commande pour une instance de base de données, ou la `modify-db-cluster` commande pour un Multi-AZ cluster de base de données, en utilisant le nouvel identifiant de certificat CA. Vous pouvez trouver les autorités de certification disponibles pour un moteur de base de données et une version de moteur de base de données spécifiques en utilisant la commande `describe-db-engine-versions`. 

  Si vous avez créé votre base de données ou mis à jour son certificat après le 28 juillet 2020, aucune action n’est requise. Pour plus d'informations, consultez [Go GitHub issue \#39568](https://github.com/golang/go/issues/39568). 

## Mise à jour de votre certificat CA en modifiant votre instance de base de données ou votre cluster
<a name="UsingWithRDS.SSL-certificate-rotation-updating"></a>

L’exemple suivant met à jour votre certificat CA de *rds-ca-2019* vers *rds-ca-rsa2048-g1*.Vous pouvez choisir un autre certificat. Pour plus d'informations, consultez[Autorités de certification](UsingWithRDS.SSL.md#UsingWithRDS.SSL.RegionCertificateAuthorities). 

Mettez à jour le magasin de confiance de votre application afin de réduire la durée d’indisponibilité associés à la mise à jour de votre certificat CA. Pour plus d’informations sur la rotation des certificats CA, consultez [Rotation automatique du certificat de serveur](#UsingWithRDS.SSL-certificate-rotation-server-cert-rotation).

**Pour mettre à jour votre certificat CA en modifiant votre instance de base de données ou votre cluster**

1. Téléchargez le nouveau SSL/TLS certificat comme décrit dans[](UsingWithRDS.SSL.md).

1. Mettez à jour vos applications pour utiliser le nouveau SSL/TLS certificat.

   Les méthodes de mise à jour des applications pour SSL/TLS les nouveaux certificats dépendent de vos applications spécifiques. Collaborez avec les développeurs de vos applications pour mettre à jour les SSL/TLS certificats de vos applications.

   Pour plus d'informations sur la vérification des SSL/TLS connexions et la mise à jour des applications pour chaque moteur de base de données, consultez les rubriques suivantes :
   +  [Mise à jour des applications pour se connecter aux instances MariaDB à l'aide de nouveaux certificats SSL/TLS](ssl-certificate-rotation-mariadb.md) 
   +  [Mise à jour des applications pour se connecter aux instances de base de données Microsoft SQL Server à l'aide de nouveaux SSL/TLS certificats](ssl-certificate-rotation-sqlserver.md) 
   +  [Mise à jour des applications pour se connecter aux instances de base de données MySQL à l'aide de nouveaux SSL/TLS certificats](ssl-certificate-rotation-mysql.md) 
   +  [Mise à jour des applications pour se connecter aux instances de base de données Oracle à l'aide de nouveaux SSL/TLS certificats](ssl-certificate-rotation-oracle.md) 
   +  [Mise à jour des applications pour se connecter aux instances de base de données PostgreSQL à l'aide de nouveaux certificats SSL/TLS](ssl-certificate-rotation-postgresql.md) 

   Pour obtenir un exemple de script qui met à jour le magasin d’approbations d’un système d’exploitation Linux, consultez [Exemple de script pour importer les certificats dans votre magasin d’approbations](#UsingWithRDS.SSL-certificate-rotation-sample-script).
**Note**  
L’ensemble de certificats contient des certificats pour le nouveau et l’ancien CA, ce qui signifie que vous pouvez mettre à niveau votre application en toute sécurité et conserver la connectivité pendant la période de transition. Si vous utilisez le AWS Database Migration Service pour migrer une base de données vers une instance de base de données ou un cluster , nous vous recommandons d'utiliser le bundle de certificats pour garantir la connectivité pendant la migration.

1. **Modifiez l'instance de base de données ou le Multi-AZ cluster de base de données pour faire passer l'autorité de certification de **rds-ca-2019 à rds-ca-rsa2048-g1**.** Pour vérifier si votre base de données nécessite un redémarrage pour mettre à jour les certificats d’autorité de certification, utilisez la commande [describe-db-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html) et vérifiez l’indicateur `SupportsCertificateRotationWithoutRestart`. 
**Important**  
Si vous rencontrez des problèmes de connectivité après l’expiration du certificat, utilisez l’option **Appliquer immédiatement** en la spécifiant dans la console ou en spécifiant l’option `--apply-immediately` à l’aide d’ AWS CLI. Par défaut, il est prévu que cette opération soit exécutée pendant votre prochaine fenêtre de maintenance.  
Pour les instances de base de données Oracle, nous vous recommandons de redémarrer votre base de données Oracle pour éviter toute erreur de connexion.  
Pour les Multi-AZ instances RDS for SQL Server dont l'option de mise en miroir est activée AlwaysOn ou dont l'option de mise en miroir est activée, un basculement est attendu lorsque l'instance est redémarrée après la rotation des certificats.  
Pour définir un remplacement pour votre CA d’instance différent de la CA RDS par défaut, utilisez la commande d’interface de ligne de commande [modify-certificates](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-certificates.html).

Vous pouvez utiliser le AWS Management Console ou le AWS CLI pour changer le certificat CA de **rds-ca-2019 à **rds-ca-rsa2048-g1**** pour une instance de base de données ou un cluster de base de données. Multi-AZ  

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

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Dans le volet de navigation, choisissez **Databases**, puis choisissez l'instance ou le Multi-AZ cluster de bases de données que vous souhaitez modifier. 

1. Sélectionnez **Modifier**.   
![Modifier une instance ou un cluster de Multi-AZ bases de données](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-modify.png)

1. Dans la section **Connectivité**, choisissez **rds-ca-rsa2048-g1**.   
![Choisissez un certificat CA](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-ca-rsa2048-g1.png)

1. Choisissez **Continuer** et vérifiez le récapitulatif des modifications. 

1. Pour appliquer les modifications immédiatement, choisissez **Appliquer immédiatement**. 

1. Sur la page de confirmation, examinez vos modifications. Si elles sont correctes, choisissez **Modifier l’instance de base de données** ou **Modifier le cluster**  pour enregistrer vos modifications. 
**Important**  
Lorsque vous planifiez cette opération, assurez-vous d’avoir mis à jour votre magasin d’approbation côté client au préalable.

   Ou choisissez **Retour** pour revoir vos modifications, ou choisissez **Annuler** pour les annuler. 

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

[https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) Spécifiez l’identifiant de l’instance de base de données ou du cluster et l’option `--ca-certificate-identifier`.

Pour appliquer la mise à jour immédiatement, utilisez le paramètre `--apply-immediately`. Par défaut, il est prévu que cette opération soit exécutée pendant votre prochaine fenêtre de maintenance.

**Important**  
Lorsque vous planifiez cette opération, assurez-vous d’avoir mis à jour votre magasin d’approbation côté client au préalable.

**Example**  
 **Instance DB**   
L’exemple suivant modifie `mydbinstance` en définissant le certificat CA sur `rds-ca-rsa2048-g1`.   
Pour Linux, macOS ou Unix :  

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

```
aws rds modify-db-instance ^
    --db-instance-identifier {{mydbinstance}} ^
    --ca-certificate-identifier rds-ca-rsa2048-g1
```
Si votre instance nécessite un redémarrage, vous pouvez utiliser la commande de l’interface de ligne de commande [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) et spécifiez l’option `--no-certificate-rotation-restart`.

**Example**  
 **Multi-AZ cluster de bases de données**   
L’exemple suivant modifie `mydbcluster` en définissant le certificat CA sur `rds-ca-rsa2048-g1`.   
Pour Linux, macOS ou Unix :  

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

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

------

## Mise à jour de votre certificat CA en appliquant la maintenance
<a name="UsingWithRDS.SSL-certificate-rotation-maintenance-update"></a>

Procédez comme suit pour mettre à jour votre certificat CA en appliquant la maintenance d’instance de base de données.

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

**Pour mettre à jour de votre certificat CA en appliquant la maintenance**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Dans le panneau de navigation, choisissez **Mise à jour du certificat**.   
![Option du panneau de navigation de rotation des certificats](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-certupdate.png)

   La page **Bases de données nécessitant une mise à jour de certificat** apparaît.  
![Mise à jour du certificat CA pour base de données](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-update-multiple.png)
**Note**  
Cette page affiche uniquement les instances de base de données et les clusters actuels Région AWS. Si vous avez des bases de données dans plusieurs d'entre elles Région AWS, consultez cette page Région AWS pour voir toutes les instances de base de données dotées d'anciens SSL/TLS certificats.

1. Choisissez l'instance ou le Multi-AZ cluster de base de données que vous souhaitez mettre à jour.

   Vous pouvez planifier la rotation du certificat pour votre prochaine fenêtre de maintenance en choisissant **Planification**. Appliquez la rotation immédiatement en choisissant **Appliquer maintenant**. 
**Important**  
Si vous rencontrez des problèmes de connectivité après l’expiration du certificat, utilisez l’option **Appliquer maintenant**.

1. 

   1. Si vous choisissez **Planification**, vous êtes invité à confirmer la rotation du certificat CA. Cette invite indique également la fenêtre planifiée pour votre mise à jour.   
![Confirmation de la rotation du certificat](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-confirm-schedule.png)

   1. Si vous choisissez **Appliquer maintenant**, vous êtes invité à confirmer la rotation du certificat CA.  
![Confirmation de la rotation du certificat](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/UserGuide/images/ssl-rotate-cert-confirm-now.png)
**Important**  
Avant de planifier la rotation des certificats CA dans votre base de données, mettez à jour toutes les applications clientes qui les utilisent SSL/TLS et le certificat du serveur pour se connecter. Ces mises à jour sont spécifiques à votre moteur de base de données. Après avoir mis à jour ces applications clientes, vous pouvez confirmer la rotation du certificat CA. 

   Pour continuer, cochez la case, puis cliquez sur **Confirmation**. 

1. Répétez les étapes 3 et 4 pour chaque instance de base de données et cluster de bases de données que vous souhaitez mettre à jour.

------

## Rotation automatique du certificat de serveur
<a name="UsingWithRDS.SSL-certificate-rotation-server-cert-rotation"></a>

Si votre CA racine prend en charge la rotation automatique du certificat de serveur, RDS gère automatiquement la rotation du certificat de serveur de base de données. RDS utilise la même autorité de certification racine pour cette rotation automatique. Vous n’avez donc pas besoin de télécharger une nouvelle offre groupée d’autorités de certification. Consultez [Autorités de certification](UsingWithRDS.SSL.md#UsingWithRDS.SSL.RegionCertificateAuthorities).

La rotation et la validité de votre certificat de serveur de base de données dépendent de votre moteur de base de données :
+ Si votre moteur de base de données prend en charge la rotation sans redémarrage, RDS effectue automatiquement la rotation du certificat de serveur de base de données sans que vous ayez à intervenir. RDS tente d’effectuer la rotation de votre certificat de serveur de base de données pendant la fenêtre de maintenance de votre choix, à la moitié de la durée de vie du certificat de serveur de base de données. Le nouveau certificat de serveur de base de données est valide pendant 12 mois.
+ Si votre moteur de base de données ne prend pas en charge la rotation sans redémarrage, Amazon RDS `server-certificate-rotation` affiche une action de maintenance en attente via l' Describe-pending-maintenance-actions API, à la demi-vie du certificat ou au moins 3 mois avant son expiration. Vous pouvez appliquer la rotation à l'aide de l'API apply-pending-maintenance-action. Le nouveau certificat de serveur de base de données est valide pendant 36 mois.

Utilisez la commande [describe-db-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html) et inspectez l’indicateur `SupportsCertificateRotationWithoutRestart` pour déterminer si la version du moteur de base de données prend en charge la rotation du certificat sans redémarrage. Pour plus d’informations, consultez [Configuration de l’autorité de certification pour votre base de données](UsingWithRDS.SSL.md#UsingWithRDS.SSL.RegionCertificateAuthorities.Selection). 

**Important**  
 Pour les instances de base de données Amazon RDS for Oracle, vous verrez `SupportsCertificateRotationWithoutRestart` le drapeau des versions du moteur de base de données marqué comme`FALSE`. Toutefois, les instances de base de données Amazon RDS for Oracle ne nécessitent PAS de redémarrage, mais l'écouteur de base de données est redémarré pendant la rotation des certificats du serveur. Les connexions de base de données existantes ne sont pas affectées, mais les nouvelles connexions rencontrent des erreurs pendant une brève période au cours du redémarrage du processus d'écoute. Si vous souhaitez faire pivoter manuellement le certificat du serveur, utilisez la commande [AWS CLI apply-pending-maintenance-action](https://docs.aws.amazon.com/cli/latest/reference/rds/apply-pending-maintenance-action.html). 

## Exemple de script pour importer les certificats dans votre magasin d’approbations
<a name="UsingWithRDS.SSL-certificate-rotation-sample-script"></a>

Voici des exemples de scripts shell qui importent le lot de certificats dans un magasin d’approbations.

Chaque exemple de script shell utilise keytool, qui fait partie du kit de développement Java (JDK). Pour plus d’informations sur l’installation du JDK, consultez le [Guide d’installation du JDK](https://docs.oracle.com/en/java/javase/17/install/overview-jdk-installation.html). 

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

Voici un exemple de scripting shell qui importe le lot de certificats vers un magasin d’approbations sur un système d’exploitation 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 ]

Voici un exemple de scripting shell qui importe le lot de certificats vers un magasin d’approbations sur macOS.

```
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
```

------