Définition de Mercurial avec l'authentification et l'autorisation Active Directory


19

J'évalue les possibilités de déplacer mon organisation vers Mercurial, mais je bute sur deux exigences de base auxquelles je ne trouve pas de pointeurs appropriés.

Comment configurer le référentiel central de Mercurial pour authentifier les utilisateurs avec Active Directory central et leur permettre uniquement de pousser ou de tirer s'ils ont les bonnes informations d'identification?

Comment configurer un référentiel de projet Mercurial pour autoriser uniquement les utilisateurs appartenant à un groupe spécifique à pousser / extraire le code source? Nous en avons besoin pour avoir une autorisation par projet.

Sur quels serveurs HTTP (IIS ou Apache, etc.) les deux exigences ci-dessus sont-elles prises en charge?

Toutes mes excuses si je demande quelque chose d'évident ou si je manque quelque chose de fondamental sur le fonctionnement de l'authentification et de l'autorisation.


Réponses:


6

J'ai rédigé un article de blog en quatre parties sur la configuration de Mercurial sur IIS avec l'authentification Active Directory et l'utilisation de hgwebdir.cgi pour l'autorisation push. Il couvre tout le processus de:

  • Configuration de l'interface Web hg de Mercurial sur IIS.
  • Configuration de l'authentification IIS pour Mercurial afin que seuls les utilisateurs autorisés par le répertoire actif (c'est-à-dire les groupes de sécurité / utilisateurs) puissent afficher / accéder aux référentiels via l'interface Web hg ou via le système de fichiers.
  • Configuration de l'authentification Active Directory pour les utilisateurs Mercurial, afin que seuls les utilisateurs autorisés puissent voir / accéder aux référentiels auxquels ils ont accès.
  • Configuration de hgwebdir.cgi via hgweb.config pour définir l'autorisation push pour les utilisateurs spécifiés vers les référentiels.
  • Masquage de hgwebdir.cgi à l'aide de la réécriture ISAPI d'Helicon dans l'URL de votre référentiel.
  • Personnalisation du style et de la convivialité de l'interface utilisateur Web hg à votre goût.

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

J'espère que c'est utile aux gens ...


4

Vous pouvez le faire avec Apache. Vérifiez comment restreindre le push dans Apache à:

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

Regardez ci-dessus sur le même fichier sur la façon de configurer mercurial, ses autorisations et tous les utilisateurs autorisés par Apache.

Après avoir configuré mercurial et Apache, vous pouvez utiliser mod_authnz_ldap pour n'autoriser l'accès qu'aux utilisateurs Active Directory:

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

N'oubliez pas de vérifier le paragraphe sur la configuration d'Active Directory.

Cela devrait vous suffire.

Bonne chance,
João Miguel Neves


L'utilisation de authnz_ldap transmet des mots de passe non chiffrés entre le client et Apache. J'essaie de savoir comment éviter cela, mais je n'ai pas beaucoup de chance.
LeBleu
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.