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
— Pour plus d'informations, consultez CREATEROLEusername
...PASSWORDla SQL documentation Postgre. ALTER ROLE
— Pour plus d'informations, consultez ALTERROLEusername
...PASSWORDla SQL documentation Postgre. \password
: cette métacommandeusername
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 syntaxeALTER ROLE ... PASSWORD
de manière transparente. La métacommande est un encapsuleur sécurisé pour la commandeALTER ROLE ... PASSWORD
, et le crochet s'applique donc au comportement de la métacommandepsql
.
Pour obtenir un exemple, consultez Listing du code du hook de vérification de mot de passe.
Table des matières
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é danspassword_type
.password_type
: spécifiez le formatpgtle.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 valeurtimestamptz
.valid_null
: si cette valeur booléenne est définie surtrue
, l'optionvalid_until
est définie surNULL
.
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 passepasscheck
. C’est la valeur par défaut.on
: active le crochet de vérification du mot de passepasscode
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 l'instance d'écriture de votre cluster de SQL base de données Aurora Postgre.
Dans Linux, macOS, ou Unix:
aws rds modify-db-parameter-group \ --region
aws-region
\ --db-parameter-group-nameyour-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-nameyour-custom-parameter-group
^ --parameters "ParameterName=pgtle.enable_password_check,ParameterValue=on,ApplyMethod=immediate"