Registres (source unique): - docs/nomenclature.yml: domaines, VMID, plan d'adressage 10.1.0.0/16 segmente. - docs/bases-donnees.yml: bases applicatives (1 appli -> 1 base -> 1 owner -> 1 DSN). Roles de service: - Reseau/edge/PKI/mail: nginx, step_ca, sendmail. - Donnees/identite: postgresql (consommateur du registre BD), redis, openldap, keycloak. - Observabilite: prometheus, loki, grafana. - Supervision: icinga (coeur; Icinga Web 2 differe). Forge: forgejo. Integrations clientes: - clients_metriques, clients_journaux, clients_pki, clients_ldap, clients_smtp. Inventaire et outillage: - make inventaire-ui: refonte (cartes, theme sombre, onglets, vue Chaine VM->groupes-> playbooks->roles), saisie du provisioning, auto-proposition depuis la nomenclature, deploiement securise (verifier/deployer, jeton anti-CSRF, verrou, mot de passe vault), robustesse reseau (connexions fermees, favicon). - Makefile: cible verifier-deploiement; detection d'un group_vars de production chiffre. - Scission serveurs_web -> serveurs_web_frontaux/dorsaux; migration de l'adressage vers 10.1.x; retrait des hotes de test; planification des hotes; requirements.yml. Chaque role valide en --syntax-check et ansible-lint (profil production). Secrets references depuis Ansible Vault (jamais en clair); roles non testes live. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
35 lines
1.9 KiB
Markdown
35 lines
1.9 KiB
Markdown
# clients_ldap
|
|
|
|
Intégration cliente **identité utilisateur** : l'hôte authentifie les utilisateurs
|
|
via l'annuaire central `serveurs_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 Chezlepro peuvent se connecter à l'hôte
|
|
(SSH, console) et leur home est créé à la première connexion. Couplé à `clients_pki`
|
|
(identité machine), l'écosystème a une authentification **machines + utilisateurs** centralisée.
|
|
|
|
## Variables principales
|
|
| Variable | Défaut | Rôle |
|
|
| --- | --- | --- |
|
|
| `clients_ldap_uri` | `ldap://idm-01.chezlepro.internal` | URI de l'annuaire |
|
|
| `clients_ldap_base_dn` | `dc=chezlepro,dc=internal` | Base de recherche |
|
|
| `clients_ldap_bind_dn` | `""` (anonyme) | Compte de lecture (optionnel, mdp via Vault) |
|
|
| `clients_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 `clients_ldap_bind_dn` + `clients_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 `clients_ldap_tls_reqcert: demand`.
|
|
- Les entrées utilisateurs/groupes (POSIX) doivent exister dans l'annuaire (gestion d'identité).
|
|
|
|
## Prérequis
|
|
- Dépendance `clients_ldap requiert serveurs_openldap actif` (déjà dans `docs/dependances-groupes.yml`).
|