Pourquoi ma fonction de rotation Secrets Manager ne parvient-elle pas à se connecter à une base de données Aurora PostgreSQL à l'aide de scram-sha-256 ?

Lecture de 3 minute(s)
0

Ma fonction de rotation AWS Secrets Manager ne parvient pas à se connecter à une base de données Amazon Aurora PostgreSQL à l'aide de l'algorithme scram-sha-256.

Brève description

Si votre base de données correspond à la version 13 ou ultérieure d’Aurora PostgreSQL, il se peut que la fonction de rotation ne parvienne pas à se connecter à la base de données si :

  • La base de données utilise scram-sha-256 pour crypter les mots de passe.
  • La fonction de rotation utilise la version 9 ou antérieure du client basé sur libpq.

Important : Si vous avez configuré la rotation secrète automatique avant le 30 décembre 2021, cela signifie que votre fonction de rotation a intégré une ancienne version de libpq qui ne prend pas en charge scram-sha-256.

Résolution

Suivez ces étapes pour vérifier si les utilisateurs de la base de données disposent du chiffrement scram-sha-256 et de la version libpq de la fonction de rotation.

Déterminer quels utilisateurs de la base de données utilisent le chiffrement scram-sha-256

Pour vérifier la présence d'utilisateurs utilisant des mots de passe chiffrés au format scram-sha-256, consultez le blog AWS consacré à l'authentification SCRAM dans Amazon Relational Database Service pour PostgreSQL 13.

Déterminer la version de libpq utilisée par votre fonction de rotation

1.    Ouvrez la console Lambda.

2.    Dans le volet de navigation, choisissez Fonctions, puis sélectionnez le nom de la fonction Lambda qui n'a pas pivoté.

3.    Choisissez l'onglet Code.

4.    Choisissez Actions, choisissez la Fonction exportation, puis choisissez Télécharger le package de déploiement.

5.    Décompressez le fichier zip dans le répertoire de travail.

6.    Exécutez la commande Linux suivante dans le répertoire de travail :

readelf -a libpq.so.5 | grep RUNPATH

Si vous voyez la chaîne PostgreSQL-9.4.x, ou une version majeure antérieure à la 10, cela signifie que la fonction de rotation ne prend pas en charge le script scram-sha-256.

Exemple de sortie pour une fonction de rotation qui ne prend pas en charge le script scram-sha-256 :

0x000000000000001d (RUNPATH) Library runpath: [/local/p4clients/pkgbuild-a1b2c/workspace/build/PostgreSQL/PostgreSQL-9.4.x_client_only.123456.0/AL2_x86_64/DEV.STD.PTHREAD/build/private/tmp/brazil-path/build.libfarm/lib:/local/p4clients/pkgbuild-a1b2c/workspace/src/PostgreSQL/build/private/install/lib]
    * Example output for a rotation function that supports scram-sha-256:

Exemple de sortie pour une fonction de rotation compatible avec scram-sha-256 :

0x000000000000001d (RUNPATH) Library runpath: [/local/p4clients/pkgbuild-a1b2c/workspace/build/PostgreSQL/PostgreSQL-10.x_client_only.123456.0/AL2_x86_64/DEV.STD.PTHREAD/build/private/tmp/brazil-path/build.libfarm/lib:/local/p4clients/pkgbuild-a1b2c/workspace/src/PostgreSQL/build/private/install/lib]

Si votre base de données utilise le script scram-sha-256 et que l'exemple de sortie indique que la fonction de rotation ne prend pas en charge le script scram-sha-256, vous devrez recréer votre fonction de rotation.

Informations connexes

Résoudre les problèmes de rotation d'AWS Secrets Manager

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an