Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
technique:adminsys:ldap:add_service [2020/09/08 19:58] qduchemitechnique:adminsys:ldap:add_service [2022/09/23 10:20] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 {{indexmenu_n>25}} {{indexmenu_n>25}}
  
-# Ajout d'un service connecté au LDAP+# Ajout d'un service avec authentification par LDAP
  
 Cette page suppose que vous êtes [[technique:adminsys:ldap:utilisation|connecté au serveur LDAP avec le compte d'administration]]. Cette page suppose que vous êtes [[technique:adminsys:ldap:utilisation|connecté au serveur LDAP avec le compte d'administration]].
Ligne 13: Ligne 13:
 Cette étape est **optionnelle**. En effet, il existe déjà un utilisateur en lecture seule sur le LDAP, `nss`. Si malgré tout vous voulez créer un utilisateur dédié qui aura le droit de lire sur le LDAP, suivez ces étapes. Sinon, passez à la section suivante. Cette étape est **optionnelle**. En effet, il existe déjà un utilisateur en lecture seule sur le LDAP, `nss`. Si malgré tout vous voulez créer un utilisateur dédié qui aura le droit de lire sur le LDAP, suivez ces étapes. Sinon, passez à la section suivante.
  
-Mais avant toute chose : pourquoi a-t-on besoin d'un utilisateur en lecture seule pour faire de l'authentification ? C'est parce que pour s'authentifier, il faut utiliser le DN complet du compte (exemple : `cn=qduchemi,ou=People,dc=picasoft,dc=net`). Or, quand je m'authentifie sur le Wiki, j'utilise seulement mon login (`qduchemi`). Cela signifie donc qu'à un moment ou un autre, le Wiki doit **chercher dans le LDAP** si une entrée avec `cn=qduchemi` existe, par exemple (ça dépend du filtre qu'on choisit). Et pour effectuer cette recherche, il faut des droits de lecture.+<bootnote question>Pourquoi a-t-on besoin d'un utilisateur en lecture seule pour faire de l'authentification ?</bootnote> 
 + 
 +C'est parce que pour s'authentifier, il faut utiliser le DN complet du compte (exemple : `cn=qduchemi,ou=People,dc=picasoft,dc=net`). Or, quand je m'authentifie sur le Wiki, j'utilise seulement mon login (`qduchemi`). Cela signifie donc qu'à un moment ou un autre, le Wiki doit **chercher dans le LDAP** si une entrée avec `cn=qduchemi` existe, par exemple (ça dépend du filtre qu'on choisit). Et pour effectuer cette recherche, il faut des droits de lecture.
  
 On créera un compte sous `ou=Services`, avec pour `cn` le nom du service (exemple : `wiki`, `nextcloud`). On créera un compte sous `ou=Services`, avec pour `cn` le nom du service (exemple : `wiki`, `nextcloud`).
  
-On lui attribuera ensuite les classes `organizationalRole` et `simpleSecurityObject`, et on choisira un mot de passe pour `userPassword` que l'on ajoutera dans le [pass](https://gitlab.utc.fr/picasoft/interne/pass). Le chemin utilisé dans le pass est par convention `Tech/LDAP/<Nom Service>/cn=<cn>,dc=picasoft,dc=net`.+On lui attribuera ensuite les classes `organizationalRole` et `simpleSecurityObject`, et on choisira un mot de passe pour `userPassword` que l'on ajoutera dans le [[asso:tuto:vaultwarden|vaultwarden]]. Le chemin utilisé dans le pass est par convention `Tech/LDAP/<Nom Service>/cn=<cn>,dc=picasoft,dc=net`
 + 
 +Maintenant que notre utilisateur est créé, on doit lui donner les accès en lecture seule au LDAP
  
-Maintenant que notre utilisateur est créé, on doit lui donner les accès en lecture seule au LDAP. Vous pouvez lire [[technique:adminsys:ldap:acl|la page concernant les permissions]] pour mieux comprendre.+<bootnote>On peut se référer à [[technique:adminsys:ldap:acl|la page concernant les permissions]] pour mieux comprendre.</bootnote>
  
 Le plus simple est de [[technique:adminsys:ldap:utilisation#pour_modifier_la_configuration|modifier la configuration avec ApacheDirectoryStudio]]. Le plus simple est de [[technique:adminsys:ldap:utilisation#pour_modifier_la_configuration|modifier la configuration avec ApacheDirectoryStudio]].
Ligne 60: Ligne 64:
  
 * `User bind DN` : c'est le DN de notre utilisateur en lecture seule. On utilisera `cn=<cn>,ou=Services,dc=picasoft,dc=net`, où `<cn>` vaut `nss` si vous n'avez pas créé de compte spécifique. * `User bind DN` : c'est le DN de notre utilisateur en lecture seule. On utilisera `cn=<cn>,ou=Services,dc=picasoft,dc=net`, où `<cn>` vaut `nss` si vous n'avez pas créé de compte spécifique.
-* `User bind password` : le mot de passe de l'utilisateur en lecture seule, accessible dans le [pass](https://gitlab.utc.fr/picasoft/interne/pass)+* `User bind password` : le mot de passe de l'utilisateur en lecture seule, accessible dans le [[asso:tuto:vaultwarden|vaultwarden]]
 * `URL` : `ldaps://ldap.picasoft.net` * `URL` : `ldaps://ldap.picasoft.net`
 * `Port` : `636` * `Port` : `636`
Ligne 79: Ligne 83:
 * Et l'UID correspondant au login que l'utilisateur essaye * Et l'UID correspondant au login que l'utilisateur essaye
  
-Les filtres ne sont pas traités précisément ici, voir [une documentation](https://confluence.atlassian.com/kb/how-to-write-ldap-search-filters-792496933.html) pour des exemples. Aussi, le `%s` est spécifique à la syntaxe du service, voir la configuration LDAP du service.+<bootnote web>Les filtres ne sont pas traités précisément ici, voir [une documentation](https://confluence.atlassian.com/kb/how-to-write-ldap-search-filters-792496933.html) pour des exemples.</bootnote> 
 + 
 +<bootnote warning>Le `%s` est spécifique à la syntaxe du service et se réfère l'UID testé, voir la configuration LDAP du service pour savoir comment écrire ses requêtes.</bootnote>
  
 Encore une fois, tout ceci est modulable : vous pouvez faire des filtres n'autorisant que les personnes d'un certain groupe à accéder à tel service, ou carrément mapper des groupes sur des autorisations spécifiques du service.  Encore une fois, tout ceci est modulable : vous pouvez faire des filtres n'autorisant que les personnes d'un certain groupe à accéder à tel service, ou carrément mapper des groupes sur des autorisations spécifiques du service. 
Ligne 85: Ligne 91:
 ### Utilisation de authorizedService ### Utilisation de authorizedService
  
-Si le service que vous déployé doit être réservé au personnes ayant un attribut `authorizedService` à `<service>`, le filtre ressemblera à ceci :+Si le service que vous déployé doit être réservé aux personnes ayant un attribut `authorizedService` à `<service>`, le filtre ressemblera à ceci :
  
 ``` ```
  • technique/adminsys/ldap/add_service.1599587935.txt.gz
  • de qduchemi