Configuración de Mercurial con autenticación y autorización de Active Directory

19

Estoy evaluando las posibilidades de trasladar mi organización a Mercurial, sin embargo, me encuentro con dos requisitos básicos a los que no puedo encontrar indicadores adecuados.

¿Cómo configuro el repositorio central de Mercurial para autenticar a los usuarios con el Active Directory central y solo permitirles empujar o tirar si tienen las credenciales correctas?

¿Cómo configuro un repositorio de proyectos de Mercurial para permitir solo a los usuarios pertenecientes a un grupo específico empujar / extraer el código fuente? Necesitamos esto para tener autorización por proyecto.

¿En qué servidores HTTP (IIS o Apache, etc.) se admiten los dos requisitos anteriores?

Disculpas si estoy preguntando algo obvio o si me falta algo fundamental sobre cómo funciona la autenticación y la autorización.

Martin Geisler
fuente
Duplicado de: serverfault.com/questions/83718/…
Martin Geisler

Respuestas:

6

Hice una publicación de blog de cuatro partes para configurar Mercurial en IIS con autenticación de Active Directory y usar hgwebdir.cgi para la autorización de inserción. Repasa todo el proceso de:

  • Configuración de la interfaz web hg de Mercurial en IIS.
  • Configurar la autenticación IIS para Mercurial para que solo los usuarios autorizados por el directorio activo (es decir, grupos / usuarios de seguridad) puedan ver / acceder a los repositorios ya sea a través de la interfaz web hg o mediante el sistema de archivos.
  • Configurar la autenticación de Active Directory para usuarios de Mercurial, de modo que solo los usuarios autorizados puedan ver / acceder a los repositorios a los que tienen acceso.
  • Configuración de hgwebdir.cgi a través de hgweb.config para establecer la autorización de inserción para usuarios específicos en repositorios.
  • Ocultar hgwebdir.cgi usando la reescritura ISAPI de Helicon en la URL de su repositorio.
  • Personalizar el estilo / sensación de la interfaz de usuario web hg a su gusto.

http://www.endswithsaurus.com/2010/05/setting-up-and-configuring-mercurial-in.html

Espero que sea útil para las personas ...

BenAlabastro
fuente
4

Puedes hacerlo con Apache. Verifique cómo restringir el empuje en Apache en:

http://mercurial.selenic.com/wiki/PublishingRepositories#pushing

Consulte arriba en el mismo archivo sobre cómo configurar mercurial, sus permisos y todos los usuarios permitidos por Apache.

Después de configurar mercurial y Apache, puede usar mod_authnz_ldap para permitir solo el acceso a los usuarios de Active Directory:

http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html

No olvide consultar el párrafo sobre la configuración de Active Directory.

Eso debería ser suficiente para ti.

Mucha suerte,
João Miguel Neves

jneves
fuente
El uso de authnz_ldap transmite contraseñas sin cifrar entre el cliente y Apache. Estoy tratando de descubrir cómo evitar eso, pero no tengo mucha suerte.
LeBleu