Référence de Hooks pour les extensions linguistiques fiables pour Postgre SQL - 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.

Référence de Hooks pour les extensions linguistiques fiables pour Postgre SQL

Trusted Language Extensions for Postgre SQL 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 SQL de base de Postgre. 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 SQL de Postgre d'une manière ou d'une autre. Par exemple, vous pouvez utiliser un passcheck hook pour personnaliser la façon dont Postgre SQL gère les mots de passe fournis lors de la création ou de la modification des mots de passe des utilisateurs (rôles).

Consultez la documentation suivante pour en savoir plus sur le crochet Passcheck disponible pour vos TLE extensions.

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

Le passcheck hook est utilisé pour personnaliser le SQL comportement de Postgre pendant le processus de vérification du mot de passe pour les commandes et métacomandes suivantesSQL. psql

  • CREATE ROLE username ...PASSWORD— Pour plus d'informations, consultez CREATEROLEla SQL documentation Postgre.

  • ALTER ROLE username...PASSWORD— Pour plus d'informations, consultez ALTERROLEla SQL documentation Postgre.

  • \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 haché à l'aide de 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 passcheck hook, vous devez modifier le groupe de paramètres de base de données personnalisé pour . votre SQL instance RDS de base de données Postgre for.

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"