Le fichier de configuration du système PAM

Les paramètres suivants sont disponibles lors de la configuration de IBM® Verify Gateway for Linux® PAM and AIX® PAM (Pluggable Authentication Modules).

Sur Linux®, tous les services compatibles PAM disposent d'un fichier portant /etc/pam.d le même nom que le service. Par exemple, sous Redhat 7, le contenu du fichier de service sshd dans /etc/pam.d/sshd est le suivant :
#%PAM-1.0
auth       required     pam_sepermit.so
auth       substack     password-auth
auth       include      postlogin
...
Sur AIX, tous les services compatibles PAM se trouvent dans le /etc/pam.conf fichier. Par exemple, sur AIX7.2, le /etc/pam.conf fichier contient :
#
# Authentication
#
authexec      auth     required      pam_aix
dtaction      auth     required      pam_aix
dtsession     auth     required      pam_aix
...
Chaque ligne est au format suivant :
module_interface control_flag module_name [module_arguments]
Remarque : le signe dièse (#) marque le début d'un commentaire dans les configurations PAM. Il peut avoir des conséquences inattendues sur votre configuration.

Interface du module

Le type d'interface de module auth seulement est pris en charge par ce module pam_ibm_auth.so.

Nom du module

Le nom du module est pam_ibm_auth.so.

Arguments du module

L'exemple suivant présente une entrée pour le module PAM avec des arguments :
auth sufficient pam_ibm_auth.so auth_method=choice-then-otp 
Les arguments ci-après sont admis par le module pam_ibm_auth.so.
Remarque : PAM exige que les arguments soient placés entre crochets s'ils contiennent un espace. Par exemple :
[otp-prompt=Enter OTP %C- ]
user_env= {name}
Ajoutez une variable d'environnement PAM contenant « {name} = {user-json} » pour les modules PAM en aval. La valeur de ` {user-json} ` est une chaîne de caractères contenant les IBM Verify informations utilisateur au format JSON. Ce document est principalement destiné à aider les développeurs de modules PAM à intégrer leur module au module PAM d' IBM.
prompt_choice_start= {prompt}
La chaîne « {prompt} » s'affiche juste avant la liste des choix d' 2FA. Par exemple, si le fichier ` {prompt} ` contient « Choisissez l'une des options suivantes :\n », vous pourriez voir s'afficher :
Choose one of:
1) user@us.ibm.com
2) 15551234567
3) TOTP
Your choice (1->3):
prompt_choice_end= {prompt}
La chaîne « {prompt} » s'affiche juste avant la liste des choix d' 2FA. Toute valeur %T présente dans cette balise {prompt} est remplacée par un nombre correspondant au nombre total de choix. Par exemple, si le fichier « {prompt} » contenait « Votre choix (1->%T) : », vous pourriez voir s'afficher :
Choose one of:
1) user@us.ibm.com
2) 15551234567
3) TOTP
Your choice (1->3):
prompt_trans_email= {prompt}
prompt_trans_sms= {prompt}
prompt_totp= {prompt}
prompt_email= {prompt}
prompt_sms= {prompt}
prompt_voice= {prompt}
prompt_device_presence= {prompt}
prompt_device_biometric= {prompt}
Ces arguments permettent de personnaliser l'option d'invite pour chaque type d' 2FA. Les substitutions suivantes peuvent être appliquées :
  • %I L'index des options d' 2FA
  • %N La valeur associée au nom de l'option 2FA (par exemple, une adresse e-mail)
  • %T Nombre total de choix
Par exemple, si prompt_trans_sms="%I) SMS non validé %N\n", vous pourriez voir s'afficher :
Choose one of:
1) user@us.ibm.com
2) Unvalidated SMS 15551234567
3) TOTP
Your choice (1->3):
Remarque : ces options peuvent rendre les arguments du module PAM très longs et difficiles à gérer. Pour remédier à cela, bon nombre des arguments du module peuvent être déplacés dans le /etc/pam_ibm_auth.json fichier; voir la fonctionnalité « additional-args » sous l'objet « pam » dans ce fichier.
device_prompt= {prompt}
Si cette option est activée, le message indiqué s'affiche à l'écran lorsque l'utilisateur doit donner son accord sur un appareil 2FA. Utilisation de cette fonctionnalité avec SSH. présente certaines limites. Certains serveurs SSH affichent un message (sans demander de saisie), d'autres non. Par défaut, aucune notification n'est envoyée; l'alerte s'affiche directement sur l'appareil de l'utilisateur.
user_name_attr= {attr_name}

Associe le nom d'utilisateur fourni à PAM à un IBM Verify utilisateur, en fonction de la correspondance avec un attribut présent dans la fiche Verify de cet utilisateur. Par exemple, le nom d'utilisateur PAM pourrait être ajouté à un Verify attribut utilisateur personnalisé intitulé « Autre nom d'utilisateur ». Cet attribut personnalisé spécifie

user_name_attr=urn:ietf:params:scim:schemas:extension:ibm:2.0:User:customAttributes.otherUserName

Par défaut, l'attribut utilisateur « "userName" » est utilisé pour identifier l'utilisateur Verify correspondant au nom d'utilisateur PAM.

gecos_match= {regex}
gecos_replace= {replace_format}
Ces arguments sont utilisés à la place de la gecos_field/gecos_separator méthode. La méthode « {regex} » sert à faire correspondre la valeur GECOS de l'utilisateur et extrait cette valeur afin de la fournir au gecos_replace format. Consultez la page de manuel regex(7) pour plus de détails sur les expressions régulières.

Cette {replace_format} valeur sert à générer le Verify nom de l'utilisateur. Pour {replace_format} tout $N, où N vaut entre 1 et 9, est remplacé par l'atome d'expression régulière correspondant (pat), issu de la correspondance « {regex} ».

Par exemple :
[gecos_match=^([^/\]+)/([^/\]+)/([^/\]+)] [gecos_replace=$3/$1@MyRealm]
Remarque : lorsque vous utilisez la méthode PAM [arg], tout caractère ] présent dans arg doit être échappé à l'aide du caractère \.

Si le champ GECOS était "Test User/+15551234567/ibm.com" alors l'utilisateur généré est "ibm.com/Test User@MyRealm"

débogage
Cet argument est une option de module PAM standard. Utilisez l'appel syslog() pour consigner des informations de débogage dans les fichiers journaux du système.
nowarn
Cet argument est une option de module PAM standard. L'option nowarn désactive la génération d'avertissements, notamment relatifs à l'expiration des mots de passe.
ibm_auth_config={config-file}
Si aucune valeur n'est spécifiée, la valeur par défaut s'applique /etc/pam_ibm_auth.json aux systèmes Linux et UNIX™. Ce fichier contient la configuration de l'API d'authentification d' IBM, qui comprend les Verify informations de connexion au serveur. Voir le fichier de configuration du module.
auth_method={auth_method}
Cet argument est facultatif et la méthode par défaut est la validation des mots de passe à utilisation unique limitée dans le temps (TOTP). Cet argument spécifie la méthode d'authentification qui est requise pour authentifier les utilisateurs. La liste de méthodes d'authentification ci-dessous inclut en premier les méthodes qui acceptent un mot de passe. Dans ces méthodes, le terme « mot de passe » désigne le Verify mot de passe de l'utilisateur, et non le mot de passe UNIX.
pam_unix.soRemarque : si un mot de passe a été fourni à un module PAM lancé précédemment, par exemple, ce mot de passe est utilisé dans toutes Verify auth methods les opérations nécessitant un mot de passe. Si le mot de passe fourni précédemment et le Verify mot de passe ne correspondent pas, l'authentification échoue. Ce problème est une limitation connue.
Tableau 1. Valeurs admissibles
Valeur Descriptif
mot de passe Un mot de passe valide Verify est requis.
password-and-totp Il faut saisir le Verify mot de passe et la valeur TOTP en une seule saisie. Vous pouvez indiquer si le mot de passe ou la valeur de mot de passe à utilisation unique limitée dans le temps (TOTP) apparaît en premier dans la valeur et configurer le caractère utilisé pour séparer les deux valeurs. Par défaut, le format est TOTP:password.
password-then-totp Il faut saisir un Verify mot de passe; si celui-ci est correct, une valeur TOTP est demandée et validée.
totp Une valeur de mot de passe à utilisation unique limitée dans le temps (TOTP) est demandée, puis validée.
password-then-smsotp Un Verify mot de passe doit être saisi; si la saisie est validée, un SMS contenant un code à usage unique (OTP) est envoyé sur le téléphone portable enregistré de l'utilisateur. Ensuite, le module PAM demande la valeur SMSOTP à l'utilisateur et la valide.
smsotp La validation du mot de passe à utilisation unique envoyé par SMS est initiée et la valeur de mot de passe à utilisation unique envoyée par SMS est demandée, puis validée.
password-then-emailotp Il faut saisir un Verify mot de passe; si la saisie est validée, un e-mail contenant un mot de passe à usage unique (OTP) est envoyé à l'utilisateur. Le module PAM demande la valeur EmailOTP et la valide.
emailotp La validation du mot de passe à utilisation unique envoyé par courrier électronique est initiée et le module PAM demande la valeur de mot de passe à utilisation unique envoyée par courrier électronique, puis la valide.
password-then-choice-then-otp Il faut saisir un Verify mot de passe; si celui-ci est correct, l'utilisateur est invité à choisir l'une de ses options d'authentification à usage unique (OTP). Une fois le choix effectué, la validation du mot de passe à utilisation unique est initiée et l'utilisateur est invité à entrer la valeur de mot de passe à utilisation unique.
Remarque :
  • Si l'utilisateur est inscrit à une seule méthode d'authentification par mot de passe à utilisation unique (OTP), l'étape de choix est ignorée et l'utilisateur est directement invité à entrer la valeur de mot de passe à utilisation unique.
  • Si l'utilisateur n'est pas inscrit à une méthode d'authentification par mot de passe à utilisation unique (OTP), le paramètre "reject-on-missing-auth-method" est appliqué.
  • Si l'option "add_devices_to_choice" est activée, les options d'appareil sont ajoutées à la liste. Reportez-vous à la méthode d'authentification de l'appareil pour des détails sur les options ajoutées.
  • Si l'option "transients_in_choice" est activée, les sources de courriers électroniques et de SMS transitoires sont répertoriées en tant qu'options.
  • Si l'option "voice_in_choice" est activée, l'entrée Mot de passe à utilisation unique envoyé par message vocal est répertoriée en tant qu'option.
choice-then-otp L'utilisateur est invité à choisir l'une de ses inscriptions à l'authentification par mot de passe à utilisateur unique (OTP). Une fois le choix effectué, la validation du mot de passe à utilisation unique est initiée et l'utilisateur est invité à entrer la valeur de mot de passe à utilisation unique.
Remarque :
  • Si l'utilisateur est inscrit à une seule méthode d'authentification par mot de passe à utilisation unique (OTP), l'étape de choix est ignorée et l'utilisateur est directement invité à entrer la valeur de mot de passe à utilisation unique ou la vérification d'appareil.
  • Si l'utilisateur n'est pas inscrit à une méthode d'authentification par mot de passe à utilisation unique (OTP), le paramètre reject-on-missing-auth-method est appliqué.
  • Si l'option "add_devices_to_choice" est activée, les options d'appareil sont ajoutées à la liste. Reportez-vous à la méthode d'authentification de l'appareil pour des détails sur les options ajoutées.
  • Si l'option "transients_in_choice" est activée, les sources de courriers électroniques et de SMS transitoires sont répertoriées en tant qu'options.
  • Si l'option "voice_in_choice" est activée, l'entrée Mot de passe à utilisation unique envoyé par message vocal est répertoriée en tant qu'option.
password-then-device Il faut saisir un Verify mot de passe; si celui-ci est correct, l'utilisateur est invité à s'identifier à l'aide de l'application « IBM Verify » sur son téléphone.
périphérique L'utilisateur est invité à se valider lui-même à l'aide de l'application IBM Verify sur son téléphone. Si plusieurs appareils sont disponibles, l'utilisateur doit effectuer un choix.
Remarque : cette option "add_devices_to_choice="permet de choisir fingerprint entre et userPresence. L'un de ces deux attributs seulement peut être utilisé pour un appareil particulier.
password-then-transsmsotp Il faut saisir un Verify mot de passe; une fois celui-ci validé, l'utilisateur est invité à saisir le mot de passe à usage unique (OTP) qui lui a été envoyé par SMS sur son téléphone portable. Le numéro de téléphone est celui qui est défini dans l'enregistrement utilisateur.
transsmsotp L'utilisateur est invité à fournir le mot de passe à utilisation unique envoyé par SMS sur son téléphone mobile. Le numéro de téléphone est celui qui est défini dans l'enregistrement utilisateur.
password-then-transemailotp Il faut saisir un Verify mot de passe; une fois celui-ci validé, l'utilisateur est invité à saisir le mot de passe à usage unique (OTP) qui lui a été envoyé par e-mail. L'adresse électronique est celle qui est définie dans l'enregistrement utilisateur.
transemailotp L'utilisateur est invité à fournir le mot de passe à utilisation unique qui lui a été envoyé par courrier électronique. L'adresse électronique est celle qui est définie dans l'enregistrement utilisateur.
voiceotp L'utilisateur reçoit un appel sur son téléphone et un message vocal lui transmet la valeur Mot de passe à utilisation unique envoyé par message vocal à utiliser pour valider la connexion.
mot de passe puis OTP vocal Il faut saisir un IBM Verify mot de passe. Si cette information est fournie avec succès, un appel est passé vers le téléphone de l'utilisateur, et un message vocal lui communique le code OTP qu'il doit utiliser pour valider sa connexion.
mot-de-passe-et-totp-ou-appareil Si une valeur TOTP est détectée dans le mot de passe fourni par l'utilisateur, la password-and-totp méthode équivalente est alors utilisée. Pour plus d'informations, consultez la page password-and-totp.

Si aucune valeur TOTP n'est détectée dans le mot de passe fourni par l'utilisateur, la password-and-device méthode équivalente est alors utilisée. Pour plus d'informations, consultez la section « Mot de passe puis appareil ».

Remarque : si le mot de passe réel de l'utilisateur commence ou se termine par six chiffres suivis d'un séparateur, le serveur RADIUS risque de le confondre avec une valeur TOTP intégrée. Par exemple, l'option password-first est définie sur « false » et le mot de passe commence par les six chiffres et le séparateur. De même, si cette option est définie sur « true » et que le mot de passe se termine par un séparateur suivi de six chiffres, la même condition s'applique. Dans les deux cas, une notification push ne peut pas servir de deuxième facteur pour l'authentification RADIUS. Le serveur RADIUS l'interprète comme une valeur TOTP et tente de la valider. La validation échoue et l'authentification est refusée.
Si "password" ne figure pas dans la valeur auth-method, par exemple "device", le module libpam_ibm_auth.so peut être préfixé par le module PAM UNIX/Linux standard afin d'authentifier un mot de passe local pour former les deux facteurs. Il peut également être ignoré pour une authentification sans mot de passe.
accept_on_missing_auth_method
Cet argument est facultatif. S'il est défini et que l'utilisateur n'est pas enregistré pour l'authentification à deux facteurs, l'utilisateur est authentifié. Si cette option n'est pas définie et que l'utilisateur n'est pas enregistré pour l'authentification à deux facteurs, l'utilisateur n'est pas authentifié.
otp_prompt={promt_str}
Cet argument est facultatif. Par défaut, il s'agit de la chaîne en anglais "Enter OTP %C- ". Cette chaîne est affichée lorsque l'utilisateur est invité à saisir le mot de passe à utilisation unique. Les caractères %C dans l'invite sont remplacés par la corrélation de mot de passe à utilisation unique (OTP) ou la chaîne vide pour le mot de passe à utilisation unique limitée dans le temps (TOTP). Les caractères %% dans l'invite sont remplacés par un caractère % unique.
password_first
Cet argument est facultatif. Il n'a d'impact que sur la méthode d'authentification "password-and-totp" et détermine l'ordre des valeurs de mot de passe et de mot de passe à utilisation unique limitée dans le temps (TOTP) dans la chaîne que l'utilisateur doit fournir. totp:passwordEn règle générale, le mot de passe se trouve à la fin de la chaîne, après le caractère de séparation. password:totpSi cet argument est défini, le mot de passe doit figurer au début de la chaîne, avant le caractère de séparation.
password_separator={sep_char}
Cet argument est facultatif. Par défaut, le caractère de séparation est : (deux-points). Il n'a d'impact que sur la méthode d'authentification "password-and-totp" et spécifie le caractère que l'utilisateur doit employer pour séparer la valeur de mot de passe à utilisation unique limitée dans le temps (TOTP) et la valeur de mot de passe.
verify_method_order={order}
Cet argument est facultatif. Par défaut, sa valeur est "fingerprint,userPresence". Cette option indique laquelle des deux valeurs est prioritaire. L'ordre par défaut donne la priorité à la valeur fingerprint, si elle est indiquée.
Remarque : si l'option « add_devices_to_choice » est activée, l'option "device" `auth_method` n'utilise qu'une seule des méthodes suivantes : soit fingerprint `,` soit userPresence`.`
verify_message={message}
Cet argument est facultatif et sa valeur par défaut est"Do you approve the request from {hostname}?"{hostname} correspond au nom de l'hôte sur lequel s'exécute le module PAM. Si la méthode d'authentification "device" est utilisée, l'appareil de l'utilisateur affiche ce message lorsque l'utilisateur est invité à vérifier l'accès.
append={string}
Cet argument est facultatif. Par défaut, sa valeur est "". À la fin du processus de mappage du nom d'utilisateur UNIX vers un Verify nom d'utilisateur, cette chaîne est ajoutée à la fin du nom d'utilisateur obtenu Verify . Un cas d'utilisation courant consiste à associer le Verify domaine utilisateur à l'utilisateur, par exemple « »@www.ibm.com" pour le domaine utilisateur w3id.
add_devices_to_choice
Cet argument est facultatif. Le comportement par défaut consiste à ne pas ajouter les enregistrements d'appareil de l'utilisateur aux méthodes d'authentification "choice-then-otp" et "password-then-choice-then-otp". Si cet argument est défini, les enregistrements d'appareil sont ajoutés à la liste des choix de l'utilisateur pour l'authentification à deux facteurs.
exempt_group={unix_group_name}
Cette valeur est facultative. Par défaut, il s'agit de exempt_group. Lorsque ce paramètre est activé, le groupe UNIX spécifié sert à déterminer si la connexion d'un utilisateur UNIX est dispensée de l'authentification par l' 2FA. Si un utilisateur UNIX se trouve dans le groupe, il n'a pas besoin de se soumettre à l'authentification à deux facteurs.
2fa_group={unix_group_name}
Cette valeur est facultative. Lorsque cette option est activée, le groupe UNIX spécifié sert à déterminer si la connexion d'un utilisateur UNIX nécessite une authentification par le service d' 2FA. Lorsque cette option est activée et que l'utilisateur UNIX ne fait pas partie du groupe, aucune demande d' 2FA ne lui est adressée.
retry={num_retries}
Cet argument est facultatif et sa valeur par défaut est 3. Il définit le nombre de tentatives d'un utilisateur s'il fournit une valeur 2FA non valide, par exemple, une mauvaise valeur de mot de passe TOTP. Il définit également le nombre de nouvelles tentatives de sélection du type de mot de passe à utilisation unique à employer pouvant être effectuées au cours de l'étape de choix.
failmode_insecure
Cette valeur est facultative. Par défaut, il s'agit du mode sécurisé failmode. Cet argument détermine le comportement lorsque le Verify module PAM ne parvient pas à se connecter au Verify serveur. Si ce paramètre est défini, l'authentification par « 2FA » aboutit même lorsque le Verify serveur est inaccessible. Si cette option n'est pas définie, toutes les authentifications nécessitant une 2FA échoueront si le Verify serveur est inaccessible.
gecos_field={field_number}
Cet argument est facultatif. Le comportement par défaut consiste à ne pas utiliser la zone GECOS de l'utilisateur. Lorsqu'il est défini sur une valeur comprise entre 1 et 32, le champ GECOS associé à l'utilisateur UNIX est utilisé comme nom Verify d'utilisateur. L'option append continue d'avoir un impact sur cette valeur. La première zone GECOS est associée au numéro de zone 1.
gecos_separator={char}
Cet argument est facultatif. Par défaut, sa valeur est , (virgule). Cette valeur définit le caractère de séparation de la zone GECOS.
id={pam_module_id}
Cet argument est facultatif. Par défaut, sa valeur est "pam_ibm_auth". Si plusieurs instances du module Verify PAM sont présentes dans l'ensemble des modules PAM configurés pour authentifier un utilisateur, chacune d'entre elles doit alors se voir attribuer un identifiant unique. Sinon, les modules risquent d'interférer les uns avec les autres.
identity_source={id}
Cet argument est facultatif. Le comportement par défaut consiste à utiliser la source d'identité Cloud Directory. Si cet argument est défini, il spécifie la source d'identité à utiliser pour authentifier les utilisateurs. Les utilisateurs sont authentifiés avec une source d'identité passe-système LDAP configurée. Une liste des sources d'identité configurées et de leurs identifiants peut être obtenue en envoyant une GET requête à : https://<tenant>/verify/v1.0/authnmethods/password.
ignore_isvalidated
Cette valeur est facultative. Par défaut, il s'agit de false. Si la valeur est true, le module PAM tente d'utiliser des méthodes d'authentification à deux facteurs pertinentes même si celles-ci n'ont pas été validées.
transients_in_choice
Cet argument ajoute des adresses électroniques et des numéros de téléphone transitoires à la liste des méthodes utilisées pour l'authentification à l'aide d'un mot de passe à utilisation unique.
voice_in_choice
Cet argument ajoute le mot de passe à utilisation unique envoyé par message vocal à la liste des méthodes utilisées pour s'authentifier via un mot de passe à utilisation unique envoyé par message vocal.
transient_choices={choices}
Cet argument répertorie les choix et les méthodes transitoires disponibles. Sa valeur doit être "emails" et/ou "phoneNumbers". Les choix doivent être séparés par une virgule , (virgule).
poll_timeout={seconds}
Cet argument spécifie le délai pendant lequel l'utilisateur peut valider la connexion depuis son appareil. Si le délai est dépassé, la connexion échoue.
no_enrollments_in_choice

Cet argument indique qu'aucune inscription à l'authentification par mot de passe à utilisation unique limitée dans le temps (TOTP), envoyé par SMS ou par courrier électronique, ne doit être ajoutée dans les choix. Pour qu'un choix soit disponible, vous devez configurer transients_in_choice ou add_devices_to_choice, ou les deux.

id_link_attr= {attr_name}
Lorsque plusieurs sources d'identité sont définies dans le tenant et qu'elles utilisent la liaison d'identité, cet élément de configuration définit le nom d'un attribut de l'utilisateur, identifié par « user_name_attr », qui permet d'identifier le nom d'utilisateur à utiliser pour la validation du mot de passe. Exemples de valeurs pour « {attr_name} » :
  • "urn:ietf:params:scim:schemas:extension:ibm:2.0:user:linkedAccounts.myOnPremIdSource"
  • "emails.type%20eq%20%22work%22%20and%20emails.value"
  • "urn:ietf:params:scim:schemas:extension:ibm:2.0:user:customAttributes.myCustomAttribute"
  • "userName"

Définition des méthodes d' 2FA s fournies dans la liste « auth_methods »

Comment activer ou désactiver les types d'authentification à deux facteurs proposés dans la liste « auth_methods ».

Tableau 2. Prise en compte de l' 2FA s dans le choix :
2FA Type Par défaut Option d'activation/désactivation Descriptif
OTP par SMS, OTP par e-mail activé no_enrollments_in_choice Les mots de passe à usage unique par SMS, par e-mail ou à durée limitée sont activés par défaut et doivent être désactivés explicitement pour ne plus être disponibles.
périphérique désactivé(e) add_devices_to_choice Les notifications push sur l'appareil, qu'elles soient liées à la biométrie (empreinte digitale) ou à la présence (accès à l'application de l'appareil), sont désactivées par défaut et doivent être activées explicitement si nécessaire. L'option `verify_method_order` détermine l'ordre de priorité et les méthodes utilisées.
transsmsotp transemailotp désactivé(e) transients_in_choice Les données temporaires (valeurs non vérifiées du compte utilisateur pour le numéro de téléphone portable et l'adresse e-mail) sont désactivées par défaut et doivent être activées explicitement si nécessaire. L'option `transient_choices=` permet de déterminer si `smsotp` et/ou `emailotp` sont utilisés.
voiceotp désactivé(e) voice_in_choice Le mot de passe à usage unique par rappel téléphonique est désactivé par défaut et doit être activé explicitement si nécessaire. L'utilisateur doit s'inscrire explicitement à cette méthode pour qu'elle soit disponible.
Remarque : si l'option de configuration `ignore_isvalidated` est définie, les méthodes `totp`, `smsotp`, `emailotp` et `voiceotp` sont incluses même si elles n'ont pas été validées auprès de l'utilisateur.