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 psql
suivantes.
-
CREATE ROLE
: pour plus d'informations, consultez CREATE USERusername
...PASSWORD(CRÉER UN RÔLE) dans la documentation PostgreSQL. -
ALTER ROLE
: pour plus d'informations, consultez ALTER ROLEusername
...PASSWORD(ALTÉRER UN RÔLE) dans la documentation PostgreSQL. -
\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 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 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 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-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"