Ustawianie Mercurial z uwierzytelnianiem i autoryzacją Active Directory

19

Oceniam możliwości przeniesienia mojej organizacji do Mercurial, jednak natknęłam się na dwa podstawowe wymagania, do których nie mogę znaleźć odpowiednich wskazówek.

Jak skonfigurować centralne repozytorium Mercurial w celu uwierzytelniania użytkowników za pomocą centralnej usługi Active Directory i zezwalania im na wypychanie lub pobieranie tylko wtedy, gdy mają oni odpowiednie poświadczenia?

Jak skonfigurować repozytorium projektu Mercurial, aby zezwalać tylko użytkownikom związanym z określoną grupą na wypychanie / pobieranie kodu źródłowego? Potrzebujemy tego, aby uzyskać autoryzację na projekt.

Na jakich serwerach HTTP (IIS lub Apache itp.) Obsługiwane są dwa powyższe wymagania?

Przepraszam, jeśli pytam o coś oczywistego lub jeśli brakuje mi czegoś fundamentalnego w tym, jak działa uwierzytelnianie i autoryzacja.

Martin Geisler
źródło
Duplikat: serverfault.com/questions/83718/…
Martin Geisler,

Odpowiedzi:

6

Zrobiłem czteroczęściowy post na blogu dotyczący konfiguracji Mercurial na IIS z uwierzytelnianiem Active Directory i używając hgwebdir.cgi do autoryzacji wypychanej. Obejmuje cały proces:

  • Konfigurowanie interfejsu internetowego hg Mercurial w IIS.
  • Konfigurowanie uwierzytelniania IIS dla Mercurial w taki sposób, aby tylko użytkownicy autoryzowani przez Active Directory (tj. Grupy bezpieczeństwa / użytkownicy) mogli przeglądać repozytoria / uzyskiwać do nich dostęp za pośrednictwem interfejsu internetowego hg lub systemu plików.
  • Konfigurowanie uwierzytelniania Active Directory dla użytkowników Mercurial, aby tylko autoryzowani użytkownicy mogli zobaczyć / uzyskać dostęp do repozytoriów, do których mają dostęp.
  • Konfigurowanie hgwebdir.cgi za pośrednictwem hgweb.config w celu ustawienia autoryzacji wypychanej dla określonych użytkowników w repozytoriach.
  • Ukrywanie hgwebdir.cgi za pomocą Helicon's ISAPI Rewrite w adresie URL twojego repozytorium.
  • Dostosowanie stylu / interfejsu internetowego interfejsu użytkownika hg do własnych upodobań.

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

Mam nadzieję, że przyda się ludziom ...

BenAlabaster
źródło
4

Możesz to zrobić za pomocą Apache. Sprawdź, jak ograniczyć wypychanie Apache na:

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

Patrz wyżej na ten sam plik, jak skonfigurować mercurial, jego uprawnienia i wszystkich użytkowników dozwolonych przez Apache.

Po skonfigurowaniu mercurial i Apache możesz użyć mod_authnz_ldap, aby zezwolić na dostęp tylko użytkownikom Active Directory:

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

Nie zapomnij sprawdzić akapitu dotyczącego konfiguracji usługi Active Directory.

To powinno ci wystarczyć.

Powodzenia,
João Miguel Neves

jneves
źródło
Korzystanie z authnz_ldap przesyła hasła niezaszyfrowane między klientem a Apache. Próbuję dowiedzieć się, jak tego uniknąć, ale nie mam dużo szczęścia.
LeBleu,