Référence des hooks pour Trusted Language Extensions pour PostgreSQL - Amazon Aurora

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.

Référence des hooks pour Trusted Language Extensions pour PostgreSQL

Le kit Trusted Language Extensions pour PostgreSQL prend en charge les hooks PostgreSQL. Un hook est un mécanisme de rappel interne mis à la disposition des développeurs pour étendre les fonctionnalités de base de PostgreSQL. En utilisant des hooks, les développeurs peuvent implémenter leurs propres fonctions ou procédures à utiliser lors de diverses opérations de base de données, modifiant ainsi le comportement de PostgreSQL. Par exemple, vous pouvez utiliser un hook passcheck pour personnaliser la façon dont PostgreSQL gère les mots de passe fournis lors de la création ou de la modification de mots de passe pour les utilisateurs (rôles).

Consultez la documentation suivante pour en savoir plus sur le crochet Passcheck disponible pour vos extensions TLE. Pour en savoir plus sur les hooks disponibles, y compris le hook d'authentification client, consultez la section hooks Trusted Language Extensions.

Crochet de vérification du mot de passe (passcheck)

Le crochet passcheck permet de personnaliser le comportement de PostgreSQL pendant le processus de vérification du mot de passe pour les commandes SQL et la métacommande psqlsuivantes.

  • CREATE ROLE username ...PASSWORD : pour plus d'informations, consultez CREATE USER (CRÉER UN RÔLE) dans la documentation PostgreSQL.

  • ALTER ROLE username...PASSWORD : pour plus d'informations, consultez ALTER ROLE (ALTÉRER UN RÔLE) dans la documentation PostgreSQL.

  • \password username : cette métacommande psql interactive modifie de manière sécurisée le mot de passe de l'utilisateur spécifié en hachant le mot de passe avant d'utiliser la syntaxe ALTER ROLE ... PASSWORD de manière transparente. La métacommande est un encapsuleur sécurisé pour la commande ALTER ROLE ... PASSWORD, et le crochet s'applique donc au comportement de la métacommande psql.

Pour obtenir un exemple, consultez Listing du code du hook de vérification de mot de passe.

Prototype de fonction

passcheck_hook(username text, password text, password_type pgtle.password_types, valid_until timestamptz, valid_null boolean)

Arguments

Une fonction de crochet passcheck accepte les arguments suivants.

  • username : nom (sous forme de texte) du rôle (nom d'utilisateur) qui définit un mot de passe.

  • password : texte brut ou mot de passe haché. Le mot de passe saisi doit correspondre au type spécifié dans password_type.

  • password_type : spécifiez le format pgtle.password_type du mot de passe. Ce format peut être l'une des options suivantes.

    • PASSWORD_TYPE_PLAINTEXT : un mot de passe en texte brut.

    • PASSWORD_TYPE_MD5— Un mot de passe haché à l'aide de l'algorithme MD5 (message digest 5).

    • PASSWORD_TYPE_SCRAM_SHA_256 : un mot de passe qui a été haché en utilisant l'algorithme SCRAM-SHA-256.

  • valid_until : spécifiez l'heure à laquelle le mot de passe devient invalide. Cet argument est facultatif. Si vous utilisez cet argument, spécifiez l'heure comme une valeur timestamptz.

  • valid_null : si cette valeur booléenne est définie sur true, l'option valid_until est définie sur NULL.

Configuration

La fonction pgtle.enable_password_check contrôle si le crochet passcheck est actif. Le crochet passcheck a trois paramètres possibles.

  • off : désactive le crochet de vérification du mot de passe passcheck. C’est la valeur par défaut.

  • on : active le crochet de vérification du mot de passe passcode afin que les mots de passe soient vérifiés dans la table.

  • require : nécessite la définition d'un crochet de vérification du mot de passe.

Notes d’utilisation

Pour activer ou désactiver le crochet passcheck, vous devez modifier le groupe de paramètres de base de données personnalisé pour l'instance d'enregistreur de votre cluster de base de données Aurora PostgreSQL.

Dans Linux, macOS, ou Unix:

aws rds modify-db-parameter-group \ --region aws-region \ --db-parameter-group-name your-custom-parameter-group \ --parameters "ParameterName=pgtle.enable_password_check,ParameterValue=on,ApplyMethod=immediate"

Dans Windows:

aws rds modify-db-parameter-group ^ --region aws-region ^ --db-parameter-group-name your-custom-parameter-group ^ --parameters "ParameterName=pgtle.enable_password_check,ParameterValue=on,ApplyMethod=immediate"