Que signifie l'authentification LDAP dans Infinite Scale ?
ownCloud Infinite Scale (oCIS) authentifie les sessions navigateur et client via OpenID Connect (OIDC). LDAP peut fournir l'annuaire des utilisateurs et leurs identifiants derrière le fournisseur d'identité intégré d'oCIS, ou bien être utilisé par un fournisseur OIDC externe tel que Keycloak. La configuration appropriée dépend de vos besoins : un déploiement à petite échelle avec un flux de connexion simple ou une plateforme d'identité de production offrant un contrôle plus étendu.
Cette distinction est importante car oCIS n'est pas ownCloud Server Classic. Les tutoriels Classic configurent LDAP via l'interface d'administration web ou occ ldap:*ne configurent pas oCIS. Dans oCIS, les paramètres sont des variables d'environnement de déploiement ou de configuration de service, et plusieurs services peuvent nécessiter une vue cohérente du même annuaire.
La documentation du service IDP versionné d'ownCloud indique que le fournisseur intégré peut utiliser un serveur LDAP externe. Ses recommandations de sécurité préconisent l'utilisation d'un fournisseur OIDC externe pour les installations de grande envergure ou en production. Ce guide utilise la documentation oCIS 8.2 ; veuillez consulter la documentation correspondante à votre version installée avant d'appliquer les variables, car les valeurs par défaut et les exemples de déploiement peuvent avoir changé.
Quel système d'authentification choisir ?
| Approche | Bonne coupe | Compromis |
| Fournisseur d'identité oCIS intégré avec LDAP externe | Une petite installation, un laboratoire ou une évaluation où LDAP doit être la source des mots de passe | Simple d'utilisation, mais le fournisseur d'identité intégré est volontairement limité et ne constitue pas une plateforme d'identité complète. |
| Fournisseur OIDC externe connecté à LDAP ou Active Directory | Production, applications multiples ou exigences telles que l'authentification multifacteur centralisée et les contrôles du cycle de vie des identités | Ajoute un service d'identité pour le fonctionnement, mais confie la politique de connexion et l'intégration LDAP à un fournisseur dédié. |
| Authentification HTTP de base | cas de compatibilité ou de développement spécifiques | Il ne s'agit pas du chemin de connexion habituel du navigateur. ownCloud déconseille l'activation de l'authentification de base par proxy en production. |
Si vous utilisez déjà Keycloak ou un autre fournisseur OIDC, le connecter à l'annuaire est généralement la solution de production la plus simple. Pour un déploiement de petite envergure, si les limitations du fournisseur intégré vous conviennent, configurez le backend LDAP du fournisseur d'identité et effectuez des tests avant d'autoriser l'accès aux utilisateurs.
Que devez-vous rassembler avant de modifier oCIS ?
- La version exacte d'oCIS et la méthode de déploiement, comme Docker Compose, Kubernetes ou un processus binaire supervisé.
- Nom DNS du serveur LDAP, chaîne de certificats TLS et point de terminaison LDAPS. Privilégiez
ldaps://la validation des certificats ; ne désactivez pas la validation pour masquer un problème de confiance.
- Un compte de liaison à privilèges minimaux et son nom distinctif complet (DN). Ce compte doit pouvoir effectuer des recherches dans les branches d'utilisateurs et de groupes dont oCIS a besoin, sans autorisations d'écriture superflues.
- Le DN de base de recherche utilisateur, le périmètre de recherche, l'attribut de connexion, la classe d'objet, les attributs email et nom d'affichage, ainsi qu'un attribut d'identifiant utilisateur unique et stable. Vérifiez ces éléments par rapport aux entrées d'annuaire existantes.
- Le DN de base du groupe et l'attribut d'appartenance si les groupes LDAP des utilisateurs doivent apparaître dans oCIS.
- Une sauvegarde de la configuration oCIS actuelle et une connexion administrateur testée qui ne dépend pas de la modification LDAP.
La gestion stable des identités requiert une attention particulière. Un nom d'affichage ou une adresse électronique peuvent changer ; un identifiant unique doit cependant rester associé à la même personne. Si oCIS détecte un identifiant différent après une modification, une personne existante risque d'apparaître comme un nouveau compte au lieu d'hériter de l'identité et des accès attendus.
Comment connecter le fournisseur d'identité intégré à un serveur LDAP externe ?
Pour un déploiement de petite taille utilisant le fournisseur d'identité (IDP) intégré d'oCIS, configurez les variables LDAP spécifiques à l'IDP dans la configuration d'environnement ou de service de votre déploiement. Les valeurs ci-dessous ne sont données qu'à titre d'exemple. Remplacez l'hôte, les noms distinctifs (DN), le chemin du certificat et les noms de schéma par les valeurs de votre annuaire.
IDP_LDAP_URI=ldaps://ldap.example.net:636
IDP_LDAP_TLS_CACERT=/etc/ocis/certs/directory-ca.pem
IDP_LDAP_BIND_DN=uid=ocis-reader,ou=service,dc=example,dc=net
IDP_LDAP_BIND_PASSWORD=<load-from-your-secret-store>
IDP_LDAP_BASE_DN=ou=people,dc=example,dc=net
IDP_LDAP_SCOPE=sub
IDP_LDAP_LOGIN_ATTRIBUTE=uid
IDP_LDAP_EMAIL_ATTRIBUTE=mail
IDP_LDAP_NAME_ATTRIBUTE=displayName
IDP_LDAP_UUID_ATTRIBUTE=entryUUID
IDP_LDAP_UUID_ATTRIBUTE_TYPE=text
IDP_LDAP_OBJECTCLASS=inetOrgPerson
La documentation de référence du fournisseur d'identité (IdP) décrit ces paramètres, notamment l'URI, le certificat d'autorité de certification, le nom distinctif (DN) et le mot de passe de liaison, le DN de base de l'utilisateur, l'étendue, l'attribut de connexion, l'attribut UUID et la classe d'objet. Cet exemple suppose que l'annuaire fournit une correspondance textuelleentryUUID ; Active Directory et d'autres schémas peuvent nécessiter des correspondances différentes. Ne copiez pas ce code entryUUIDsimplement parce qu'il apparaît ici.
Stockez le mot de passe de liaison comme secret de déploiement ou via le mécanisme de sécurité recommandé pour votre plateforme. Évitez de l'enregistrer dans un fichier Compose public, un dépôt ou un ticket. Assurez-vous que le certificat de l'autorité de certification soit accessible au processus oCIS et conservez la vérification du certificat. Le INSECUREparamètre du fournisseur d'identité désactive la validation du certificat TLS LDAP et n'est pas destiné à un usage en production.
Assurez- vous également que le comportement de désactivation des comptes corresponde à celui de votre annuaire. La documentation du fournisseur d'identité (IdP) indique IDP_USER_ENABLED_ATTRIBUTEque la valeur par défaut est un nom d'attribut spécifique à ownCloud. Si votre annuaire utilise un indicateur d'activation/désactivation différent, associez cet attribut. Consultez USERS_LDAP_DISABLE_USER_MECHANISMégalement le service des utilisateurs. Selon l'annuaire, les options documentées sont la gestion par attribut, la gestion par groupe ou une autre méthodenone ; choisissez délibérément afin qu'un compte désactivé ne soit pas considéré comme actif en raison d'une incompatibilité de schéma.
Les recherches d'utilisateurs et de groupes nécessitent-elles également des paramètres LDAP ?
Souvent, oui. La vérification du mot de passe et la découverte des utilisateurs sont deux opérations liées mais distinctes. Le fournisseur d'identité (IdP) authentifie la connexion ; les services utilisateurs et Graph d'oCIS fournissent à la plateforme les informations relatives aux utilisateurs et aux groupes. Si vous utilisez un annuaire externe comme source d'identité pour oCIS, configurez les serveurs LDAP des utilisateurs et de Graph afin qu'ils lisent le même annuaire et associent les mêmes utilisateurs de manière cohérente.
Pour le service utilisateur, examinez USERS_DRIVER=ldapet configurez les paramètres spécifiques à ce service, tels que USERS_LDAP_URI` USERS_LDAP_CACERTmail` , USERS_LDAP_BIND_DN` display-name`, USERS_LDAP_BIND_PASSWORD` USERS_LDAP_USER_BASE_DNscope` USERS_LDAP_USER_SCHEMA_IDet ` USERS_LDAP_USER_SCHEMA_USERNAMEgroup`. Définissez les variables `mail`, `display-name`, `scope` et `group` lorsque votre déploiement l'exige. Les noms de schéma exacts doivent correspondre au répertoire et non à un exemple générique.
Le service Graph possède ses propres paramètres LDAP. Pour un annuaire existant auquel oCIS doit accéder sans le gérer, GRAPH_LDAP_SERVER_WRITE_ENABLED=falseconfigurez la connexion et le schéma LDAP de Graph. ownCloud décrit cette procédure comme le modèle de connexion en lecture seule à un serveur LDAP existant. Désactivez l'écriture, sauf si vous avez préparé un schéma LDAP compatible et souhaitez qu'oCIS crée ou modifie des objets d'annuaire.
Utilisez avec précaution les préfixes de variables spécifiques au service ou les OCIS_LDAP_*variables globales documentées. Les variables globales peuvent affecter plusieurs services simultanément. Lors d'une première intégration, des paramètres explicites par service facilitent l'identification du service défaillant et évitent toute écriture accidentelle ou erreur de schéma. Les documentations de référence des services utilisateurs et du service Graph répertorient les noms et valeurs par défaut spécifiques à chaque version.
Comment appliquer ces paramètres en toute sécurité ?
- Sauvegardez une copie du fichier d'environnement actuel, de l'unité de service ou de la configuration Compose. Notez la procédure de restauration.
- Ajoutez les variables LDAP à la définition du service oCIS. Ne remplacez pas le reste d'un bloc d'environnement Compose existant par cet exemple ; intégrez les paramètres à votre déploiement actuel.
- Vérifiez que le fichier de certificat existe bien dans l'espace de noms du conteneur ou de l'hôte où le service oCIS le lit. Un chemin d'accès à l'hôte n'est pas automatiquement visible à l'intérieur d'un conteneur.
- Avant de redémarrer oCIS, validez le compte de liaison et la base de recherche auprès de LDAP. Utilisez le même nom d'hôte, le même DN de base et les mêmes attributs de connexion que ceux configurés pour le service.
- Redémarrez oCIS selon la procédure habituelle de votre déploiement afin que les services bénéficient du nouvel environnement. Dans un déploiement multiservice ou multinœud, vérifiez que les services concernés utilisent la configuration prévue sur chaque instance.
- Effectuez un test avec un compte LDAP autorisé et un compte qui ne doit pas se connecter. Maintenez une session d'administrateur ouverte jusqu'à ce que le nouveau chemin de connexion soit vérifié.
Pour une vérification directe du répertoire, ldapsearchil est possible de tester la liaison et le filtre utilisateur sans saisir le mot de passe sur la ligne de commande :
ldapsearch -H ldaps://ldap.example.net:636 \
-D 'uid=ocis-reader,ou=service,dc=example,dc=net' -W \
-b 'ou=people,dc=example,dc=net' '(uid=alice)' dn uid entryUUID mail
Utilisez l'attribut de connexion et le DN de base que vous souhaitez configurer. Une requête réussie confirme le comportement du réseau, du protocole TLS, de la liaison et de la recherche pour cette requête ; elle ne prouve pas que chaque service oCIS utilise le même mappage.
Comment savoir si la configuration fonctionne ?
Pour évaluer le résultat, ne vous contentez pas de vérifier l'affichage de la page de connexion. Connectez-vous via le flux Web oCIS habituel avec un utilisateur de test, ouvrez un fichier et confirmez le nom d'utilisateur et les informations de profil attendus. Si l'accès aux partages ou à l'espace disque est géré par des groupes, vérifiez également l'appartenance à un groupe connu. Testez ensuite un mot de passe incorrect et un compte LDAP désactivé ou non autorisé. Ces comptes ne devraient pas permettre l'accès.
Consultez les journaux du service oCIS pour identifier les erreurs de connexion LDAP, TLS, bind et de recherche d'utilisateurs. Une liaison LDAP valide suivie d'un échec de connexion oCIS indique souvent une incompatibilité au niveau du filtre de recherche, du DN de base, de l'identifiant utilisateur ou du mappage OIDC/utilisateur. Lors d'un projet pilote en production, vérifiez les fichiers, les partages et les accès aux groupes d'un utilisateur existant avant de migrer un groupe plus important. Une authentification réussie ne garantit pas à elle seule la préservation de l'identité et des autorisations des comptes existants.
Que devez-vous changer si la connexion échoue toujours ?
- Erreurs TLS ou de connexion : vérifiez que l’hôte oCIS est bien résolu et atteint le serveur LDAP, que le port et le schéma correspondent et que le fichier d’autorité de certification contient la chaîne de certificats émettrice. Laissez la vérification activée.
- La liaison réussit, mais aucun utilisateur n'est trouvé : vérifiez le DN de base de l'utilisateur, la portée, la classe d'objet, l'attribut de connexion et le filtre. Un DN de liaison correct n'implique pas que la recherche s'effectue dans la bonne branche.
- LDAP accepte le mot de passe, mais oCIS ne parvient pas à résoudre le compte : comparez l’identifiant de connexion du fournisseur d’identité et le nom d’utilisateur ou l’identifiant stable du service utilisateurs. Utilisez un identifiant stable et évitez de passer sans raison du nom d’utilisateur à l’adresse e-mail.
- La connexion fonctionne, mais l'accès basé sur les groupes est incorrect : vérifiez le DN de base des utilisateurs et du groupe Graph, la classe d'objet du groupe, l'attribut membre et si le backend Graph est configuré en lecture seule ou en écriture comme prévu.
- Vous avez besoin de l'authentification multifacteur (MFA), de sessions centralisées ou de contrôles d'identité plus étendus : migrez l'authentification LDAP vers un fournisseur OIDC externe et configurez oCIS pour qu'il fasse confiance à cet émetteur. Le fournisseur d'identité intégré est volontairement limité ; ownCloud recommande un fournisseur externe pour les installations de grande envergure et précise que le fournisseur intégré n'offre pas toutes les fonctionnalités d'un service d'identité externe.
Ne pas activer PROXY_ENABLE_BASIC_AUTHcomme raccourci pour la connexion à un navigateur en production. La documentation du proxy mentionne l'authentification de base comme schéma de requête pris en charge, mais recommande de l'utiliser uniquement en développement, et non en production. Pour une connexion oCIS standard, utilisez le fournisseur OIDC intégré uniquement lorsque ses limitations le permettent, ou connectez un fournisseur d'identité OIDC externe basé sur LDAP.
Qu'y a-t-il en dehors de ce dispositif ?
L'authentification LDAP ne rend pas automatiquement toutes les fonctions d'administration LDAP disponibles dans oCIS. La gestion des utilisateurs et des groupes, la synchronisation des groupes, les droits d'écriture, la modification des mots de passe, les règles de désactivation des comptes et le mappage des utilisateurs existants nécessitent leurs propres paramètres de service compatibles et un schéma LDAP spécifique. Pour l'approvisionnement automatique externe via OIDC, ownCloud requiert également une revendication utilisateur stable et un backend Graph autorisant l'écriture lors de la création des comptes par le flux choisi. Veuillez consulter la documentation du proxy avant d'activer ce comportement.
Effectuez les modifications une par une, testez avec un petit nombre de comptes et vérifiez l'authentification et le mappage des identités avant un déploiement à grande échelle. Si la version d'oCIS, le schéma LDAP ou le fournisseur d'identité diffèrent des hypothèses de l'exemple, suivez scrupuleusement la documentation de configuration de cette version plutôt que de réutiliser l'exemple tel quel.