documentation/infrastructure/ldap-adh.md

82 lines
2.7 KiB
Markdown

# LDAP Adhérents
Le Crans dispose d'une base de données stockant les machines des adhérents disposant d'une connexion active et accessible vie le protocole LDAP.
## Connexion
Le serveur LDAP est hébergé sur la machine `flirt` et est accessible sur le port 389. Pour s'y connecter, on peut faire une redirection de ports comme par exemple :
```bash
ssh -L 1636:172.16.10.114:636 tealc.adm.crans.org -J zamok.adm.crans.org
```
Le plus simple est d'utiliser `shelldap`, permettant de naviguer simplement à travers la base (voir [la documentation sur le LDAP admin](ldap.md)).
## Schéma
Voici la hiérarchie actuelle du LDAP (mars 2023) :
```
dc=adh,dc=crans,dc=org
|
+-cn=admin
|
+-cn=membership
|
+-cn=reader
|
+-ou=users
| +-cn=user (inetOrgPerson)
|
+-ou=clubs
| +-o=club (organization)
|
+-ou=hosts
| +-cn=machine (device, ipHost, ieee802Device)
|
+-ou=networks
+-ipNetworkNumber=<IPv6> (ipNetwork, ipHost)
```
## Utilisateurs
Les adhérents sont ajoutés dans `ou=users` et ont les attributs suivants :
* `cn`: le pseudo de l'adhérent
* `givenName`: le prénom de l'adhérent
* `sn`: le nom de famille de l'adhérent
* `mail`: l'adresse email de l'adhérent
* `postalAddress`: l'adresse postale de l'adhérent (au format 1 Rue Machin, 75000 Ville)
* `telephoneNumber`: le numéro de téléphone de l'adhérent
L'attribut `description` est utilisé afin de stocker des informations supplémentaires:
* `birthDate`: la date de naissance de l'adhérent au format `YYYY-MM-DD`
* `birthLocation`: la ville de naissance de l'adhérent
* `membershipStart`: la date de la première adhésion de l'adhérent au format `YYYY-MM-DD`
* `membershipEnd`: la date de fin de l'adhésion de l'adhérent au format `YYYY-MM-DD`
* `re2oId`: l'identifiant d'utilisateur de l'adhérent dans l'intranet
# Clubs
Les clubs sont ajoutés dans `ou=clubs` et ont les attributs suivants :
* `o`: le nom du club
* `description`: le pseudo de l'adhérent responsable du club
# Machines
Les machines sont ajoutées dans `ou=hosts` et ont les attributs suivants :
* `cn`: le nom de la machine
* `ipHostNumber`: les addresses IP de la machine
* `macAddress`: l'adresse MAC de la machine
* `description`: l'ouverture de ports de la machine
* `owner`: le dn du propriétaire de la machine (utilisateur ou club)
# Réseaux
Les sous-réseaux adhérents sont ajoutés dans `ou=networks` et ont les attributs suivants :
* `dn`: le nom du sous-réseau
* `cn`: le pseudo de l'adhérent propriétaire du sous-réseau
* `description` (optionnel) : deux NSRecord et un DSRecord du sous-réseau
* `ipHostNumber`: IPv6 interface avec le sous-réseau
* `ipNetMaskNumber`: masque de sous-réseau
* `ipNetworkNumber`: première IPv6 du sous-réseau