J'ai un ensemble de référentiels Subversion privés sur une boîte Windows Server 2003 auxquels les développeurs accèdent via SVNServe via le protocole svn: //. Actuellement, nous utilisons les fichiers authz et passwd pour chaque référentiel pour contrôler l'accès, mais avec le nombre croissant de référentiels et de développeurs, j'envisage de passer à l'utilisation de leurs informations d'identification depuis ActiveDirectory. Nous fonctionnons dans une boutique entièrement Microsoft et utilisons IIS au lieu d'Apache sur tous nos serveurs Web, donc je préférerais continuer à utiliser SVNServe si possible.
En plus d'être possible, je suis également préoccupé par la façon de migrer nos référentiels afin que l'historique des utilisateurs existants soit mappé sur les comptes ActiveDirectory appropriés. Gardez également à l'esprit que je ne suis pas l'administrateur réseau et que je ne connais pas très bien ActiveDirectory, je devrai donc probablement passer par d'autres personnes pour obtenir les modifications apportées dans ActiveDirectory si nécessaire.
Quelles sont mes options?
MISE À JOUR 1: Il ressort de la documentation SVN qu'en utilisant SASL je devrais pouvoir obtenir SVNServe pour s'authentifier en utilisant ActiveDirectory. Pour clarifier, la réponse que je recherche est de savoir comment configurer SVNServe (si possible) pour utiliser ActiveDirectory pour l'authentification, puis comment modifier un référentiel existant pour remapper les utilisateurs svn existants vers leurs comptes de connexion de domaine ActiveDirectory.
MISE À JOUR 2: Il semble que la prise en charge SASL dans SVNServe fonctionne à partir d'un modèle de plug-in et la documentation ne s'affiche qu'à titre d'exemple. En regardant la bibliothèque Cyrus SASL, il semble qu'un certain nombre de "mécanismes" d'authentification sont pris en charge, mais je ne sais pas lequel doit être utilisé pour la prise en charge d'ActiveDirectory et je ne trouve aucune documentation à ce sujet.
MISE À JOUR 3: D'accord, il semble que pour communiquer avec ActiveDirectory, je cherche à utiliser saslauthd au lieu de sasldb pour la propriété auxprop_plugin . Malheureusement, il semble que, selon certains articles (éventuellement obsolètes et inexacts), saslauthd ne s'appuie pas sur Windows et ces efforts sont considérés comme un travail en cours .
MISE À JOUR 4: Le dernier message que j'ai trouvé sur ce sujet donne l' impression que les bons fichiers binaires () sont disponibles via la bibliothèque Kerberos du MIT, mais il semble que l'auteur de ce message sur Nabble.com ait toujours des problèmes pour faire fonctionner les choses .
MISE À JOUR 5: Il ressemble aux discussions TortoiseSVN et aussi à ce post sur svn.haxx.seque même si saslgssapi.dll ou les fichiers binaires nécessaires sont disponibles et configurés sur le serveur Windows, les clients auront également besoin de la même personnalisation pour fonctionner avec ces référentiels. Si cela est vrai, nous ne pourrons obtenir la prise en charge d'ActiveDirectory à partir d'un client Windows que si des modifications sont apportées dans ces clients, telles que TortoiseSVN et la construction CollabNet des fichiers binaires du client pour prendre en charge de tels schémas d'authentification. Bien que ce soit ce que ces articles suggèrent, cela est contradictoire avec ce que j'ai supposé à l'origine d'après d'autres lectures, étant que la compatibilité SASL ne devrait nécessiter aucune modification sur le client, mais plutôt que le serveur soit configuré pour gérer le mécanisme d'authentification. Après avoir lu un peu plus attentivement le document sur Cyrus SASL dans Subversionla section 5 stipule que "les clients 1.5+ avec prise en charge Cyrus SASL pourront s'authentifier auprès de serveurs 1.5+ avec SASL activé, à condition qu'au moins un des mécanismes pris en charge par le serveur soit également pris en charge par le client." Il est donc clair que la prise en charge de GSSAPI (qui, je crois, est requise pour Active Directory) doit être disponible au sein du client et du serveur.
Je dois dire que j'apprends beaucoup trop sur les aspects internes de la façon dont Subversion gère l'authentification que je ne l'ai jamais voulu. Et malheureusement, je cherchais simplement une réponse pour savoir si je pouvais prendre en charge l'authentification Active Directory lorsque j'utilisais SVNServe sur un serveur Windows et y accédais à partir de clients Windows. Selon la documentation officielle, cela semble possible, mais vous pouvez voir que la configuration n'est pas triviale, voire même possible.
MISE À JOUR: 6: Étant donné que le développement sur Subversion 1.7 se termine, quelqu'un pourrait-il ajouter quelque chose à savoir si Subversion 1.7 améliorera la situation pour que SVNServe s'authentifie à l'aide d'Active Directory?