serveurs_* -> serveur_, clients_ -> client_, suffixes pluriels au singulier (serveur_web_dorsal/frontal, client_metrique, client_journal). Renommage par tokens exacts : repertoires de roles, playbooks de groupes, group_vars, variables internes des roles (serveur_nginx_*, conformite ansible-lint), groupes du plan, constantes de code, docs. Faux-amis preserves (serveurs_bd, scripts/serveurs.py, fonctions Python). Groupes d'etat gardes au pluriel (hotes_actifs/planifies, modeles_vm). Valide : ansible-lint 0 echec (0 var-naming), diff vide de la generation, node --check, tous les registres. Ajout de .ansible-lint excluant docs/ (registres de donnees, pas du contenu Ansible). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1.9 KiB
1.9 KiB
client_ldap
Intégration cliente identité utilisateur : l'hôte authentifie les utilisateurs
via l'annuaire central serveur_openldap, grâce à SSSD (NSS + PAM).
Rôle
- Installe
sssd,sssd-ldap,libnss-sss,libpam-sss. - Déploie
/etc/sssd/sssd.conf(0600) pointant vers OpenLDAP (id_provider/auth_provider = ldap). - Active
sssdans/etc/nsswitch.conf(passwd, group, shadow). - Active la création automatique du répertoire personnel (
pam-auth-update --enable mkhomedir). libpam-sssactive automatiquement le module PAMsss.
Effet
Après ce rôle, les comptes de l'annuaire Chezlepro peuvent se connecter à l'hôte
(SSH, console) et leur home est créé à la première connexion. Couplé à client_pki
(identité machine), l'écosystème a une authentification machines + utilisateurs centralisée.
Variables principales
| Variable | Défaut | Rôle |
|---|---|---|
client_ldap_uri |
ldap://idm-01.chezlepro.internal |
URI de l'annuaire |
client_ldap_base_dn |
dc=chezlepro,dc=internal |
Base de recherche |
client_ldap_bind_dn |
"" (anonyme) |
Compte de lecture (optionnel, mdp via Vault) |
client_ldap_tls_reqcert |
never |
Validation TLS (→ demand avec LDAPS) |
Notes / limites
- Bind anonyme par défaut : suppose une lecture publique de l'annuaire. Pour un
bind dédié, définir
client_ldap_bind_dn+client_ldap_bind_password(Vault) et créer le compte de service dans l'annuaire. - LDAP en clair sur le réseau interne pour l'instant ; basculer en LDAPS quand
OpenLDAP exposera un certificat (step_ca), avec
client_ldap_tls_reqcert: demand. - Les entrées utilisateurs/groupes (POSIX) doivent exister dans l'annuaire (gestion d'identité).
Prérequis
- Dépendance
client_ldap requiert serveur_openldap actif(déjà dansdocs/dependances-groupes.yml).