This repository has been archived on 2026-06-26. You can view files and clone it, but cannot push or open issues or pull requests.
Set-OPS/roles/client_ldap/README.md
Daniel Allaire b775b7f99d Neutraliser le moteur pour partage public (100% neutre)
Suppression de toute trace Chezlepro de l'outil (roles, scripts, docs
publiques, exemples, LICENSE). Prouve par scan exhaustif : git grep vide
pour chezlepro, asgard/TrueNAS, supernet reel 10.1.x.

Corrige 5 defauts de genericite fonctionnels (motd, app.ini Forgejo,
organisation openldap, nom AC step-ca, et IP reelles codees en dur dans
les defaults de roles -> plage d'exemple 10.0.x). LICENSE -> Alliance
Boreale. Fichiers mainteneur + CHANGELOG conserves (par decision).

La separation moteur/instance tient : OPS-Chezlepro surcharge deja ses
vraies valeurs de topologie. Verifie : make verifier exit 0 (4 tests).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 19:58:00 -04:00

35 lines
1.9 KiB
Markdown

# 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 `sss` dans `/etc/nsswitch.conf` (passwd, group, shadow).
- Active la **création automatique du répertoire personnel** (`pam-auth-update --enable mkhomedir`).
- `libpam-sss` active automatiquement le module PAM `sss`.
## Effet
Après ce rôle, les comptes de l'annuaire interne 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.exemple.internal` | URI de l'annuaire |
| `client_ldap_base_dn` | `dc=exemple,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à dans `docs/dependances-groupes.yml`).