View a markdown version of this page

Rotation de votre SSL/TLS certificat - Amazon Relational Database Service

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

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.

Pour mettre à jour le certificat CA de votre base de données, appliquez les méthodes suivantes :

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

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.

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

Mise à jour de votre certificat CA en modifiant votre instance de base de données ou votre cluster

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, consultezAutorités de certification.

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.

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.

  2. 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 :

    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.

    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.

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

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/l'adresse.

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

  3. Sélectionnez Modifier.

    Modifier une instance ou un cluster de Multi-AZ bases de données
  4. Dans la section Connectivité, choisissez rds-ca-rsa2048-g1.

    Choisissez un certificat CA
  5. Choisissez Continuer et vérifiez le récapitulatif des modifications.

  6. Pour appliquer les modifications immédiatement, choisissez Appliquer immédiatement.

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

Pour utiliser le pour changer l'autorité de certification de rds-ca-2019 AWS CLI à rds-ca-rsa2048-g1 pour une instance de base de données ou un cluster de bases de données, appelez la commande modify-db-instance ou modify-db-cluster. Multi-AZ 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.

Exemple

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
Note

Si votre instance nécessite un redémarrage, vous pouvez utiliser la commande de l’interface de ligne de commande modify-db-instance et spécifiez l’option --no-certificate-rotation-restart.

Exemple

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

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/l'adresse.

  2. Dans le panneau de navigation, choisissez Mise à jour du certificat.

    Option du panneau de navigation de rotation des certificats

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

  3. 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. 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
    2. Si vous choisissez Appliquer maintenant, vous êtes invité à confirmer la rotation du certificat CA.

      Confirmation de la rotation du certificat
    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.

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

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.

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

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é commeFALSE. 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.

Exemple de script pour importer les certificats dans votre magasin d’approbations

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.

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