Tengo un conjunto de repositorios privados de Subversion en un cuadro de Windows Server 2003 al que los desarrolladores acceden a través de SVNServe a través del protocolo svn: //. Actualmente hemos estado usando los archivos authz y passwd para cada repositorio para controlar el acceso, sin embargo, con el creciente número de repositorios y desarrolladores que estoy considerando cambiar para usar sus credenciales de ActiveDirectory. Corremos en una tienda de Microsoft y usamos IIS en lugar de Apache en todos nuestros servidores web, por lo que preferiría continuar usando SVNServe si es posible.
Además de ser posible, también me preocupa cómo migrar nuestros repositorios para que el historial de los usuarios existentes se asigne a las cuentas correctas de ActiveDirectory. Tenga en cuenta también que no soy el administrador de la red y que no estoy muy familiarizado con ActiveDirectory, por lo que probablemente tendré que pasar por otras personas para realizar los cambios en ActiveDirectory si es necesario.
¿Cuáles son mis opciones?
ACTUALIZACIÓN 1: De la documentación de SVN parece que al usar SASL debería poder hacer que SVNServe se autentique usando ActiveDirectory. Para aclarar, la respuesta que estoy buscando es cómo configurar SVNServe (si es posible) para usar ActiveDirectory para la autenticación y luego cómo modificar un repositorio existente para reasignar usuarios de svn existentes a sus cuentas de inicio de sesión de dominio ActiveDirectory.
ACTUALIZACIÓN 2: Parece que el soporte de SASL en SVNServe funciona fuera de un modelo de complemento y la documentación solo se muestra como un ejemplo. Al mirar la Biblioteca Cyrus SASL , parece que se admiten varios "mecanismos" de autenticación, pero no estoy seguro de cuál se utilizará para el soporte de ActiveDirectory ni puedo encontrar documentación sobre tales asuntos.
ACTUALIZACIÓN 3: Ok, bueno, parece que para comunicarme con ActiveDirectory estoy buscando usar saslauthd en lugar de sasldb para la propiedad auxprop_plugin . Desafortunadamente, parece que según algunas publicaciones (posiblemente desactualizadas e inexactas) saslauthd no se basa en Windows y tales esfuerzos se consideran un trabajo en progreso .
ACTUALIZACIÓN 4: la última publicación que he encontrado sobre este tema hace que parezca que los binarios adecuados () están disponibles a través de la Biblioteca Kerberos del MIT, pero parece que el autor de esta publicación en Nabble.com todavía tiene problemas para hacer que las cosas funcionen .
ACTUALIZACIÓN 5: Parece de las discusiones de TortoiseSVN y también esta publicación en svn.haxx.seincluso si saslgssapi.dll o cualquier binario necesario esté disponible y configurado en el servidor de Windows, los clientes también necesitarán la misma personalización para trabajar con estos repositorios. Si esto es cierto, solo podremos obtener soporte de ActiveDirectory de un cliente de Windows solo si se realizan cambios en estos clientes, como TortoiseSVN y CollabNet, compilación de los archivos binarios del cliente para admitir dichos esquemas de autenticación. Aunque eso es lo que sugieren estas publicaciones, esto es contradictorio con lo que originalmente asumí de otra lectura, ya que ser compatible con SASL no debería requerir cambios en el cliente, sino solo que el servidor esté configurado para manejar el mecanismo de autenticación. Después de leer un poco más cuidadosamente en el documento sobre Cyrus SASL en Subversionla sección 5 establece que "1.5+ clientes con soporte Cyrus SASL podrán autenticarse contra 1.5+ servidores con SASL habilitado, siempre que al menos uno de los mecanismos admitidos por el servidor también sea respaldado por el cliente". Entonces, claramente, el soporte GSSAPI (que entiendo que es necesario para Active Directory) debe estar disponible dentro del cliente y el servidor.
Tengo que decir que estoy aprendiendo demasiado sobre lo interno de cómo Subversion maneja la autenticación de lo que siempre quise. Y desafortunadamente, simplemente estaba buscando una respuesta sobre si puedo tener soporte de autenticación de Active Directory cuando uso SVNServe en un servidor de Windows y accedo a esto desde clientes de Windows. De acuerdo con la documentación oficial, parece que esto es posible; sin embargo, puede ver que la configuración no es trivial si es posible.
ACTUALIZACIÓN: 6: Dado que el desarrollo en Subversion 1.7 está finalizando, ¿alguien podría agregar algo sobre si Subversion 1.7 mejorará la situación de lograr que SVNServe se autentique usando Active Directory?