Mam zestaw prywatnych repozytoriów Subversion na komputerze z systemem Windows Server 2003, do którego programiści uzyskują dostęp za pośrednictwem SVNServe za pośrednictwem protokołu svn: //. Obecnie używamy plików authz i passwd dla każdego repozytorium do kontrolowania dostępu, jednak wraz z rosnącą liczbą repozytoriów i programistów rozważam przejście na używanie ich poświadczeń z ActiveDirectory. Działamy w sklepie Microsoft i używamy IIS zamiast Apache na wszystkich naszych serwerach internetowych, więc wolę nadal używać SVNServe, jeśli to możliwe.
Oprócz tego jestem również zaniepokojony tym, jak migrować nasze repozytoria, aby historia istniejących użytkowników była mapowana na prawidłowe konta ActiveDirectory. Pamiętaj również, że nie jestem administratorem sieci i nie znam się dobrze z ActiveDirectory, więc prawdopodobnie będę musiał przejść przez inne osoby, aby w razie potrzeby wprowadzić zmiany w ActiveDirectory.
Jakie są moje opcje?
AKTUALIZACJA 1: Z dokumentacji SVN wynika, że korzystając z SASL powinienem mieć możliwość uwierzytelnienia SVNServe za pomocą ActiveDirectory. Aby wyjaśnić, odpowiedź, której szukam, brzmi: jak skonfigurować SVNServe (jeśli to możliwe) do używania ActiveDirectory do uwierzytelniania, a następnie jak zmodyfikować istniejące repozytorium, aby ponownie przypisać istniejących użytkowników svn do ich kont logowania do domeny ActiveDirectory.
AKTUALIZACJA 2: Wygląda na to, że obsługa SASL w SVNServe działa na podstawie modelu wtyczki, a dokumentacja pokazuje tylko jako przykład. Patrząc na bibliotekę Cyrus SASL wygląda na to, że obsługiwanych jest wiele „mechanizmów” uwierzytelniania, ale nie jestem pewien, który z nich będzie używany do obsługi ActiveDirectory, ani nie mogę znaleźć żadnej dokumentacji dotyczącej takich kwestii.
AKTUALIZACJA 3: Ok, wygląda na to, że do komunikacji z ActiveDirectory chcę użyć saslauthd zamiast sasldb dla właściwości auxprop_plugin . Niestety wydaje się, że według niektórych postów (być może przestarzałych i niedokładnych) saslauthd nie opiera się na systemie Windows i takie starania są uważane za prace w toku .
AKTUALIZACJA 4: Ostatni post, który znalazłem na ten temat, brzmi tak, jakby odpowiednie pliki binarne () były dostępne za pośrednictwem biblioteki Kerberos MIT, ale wygląda na to, że autor tego postu na Nabble.com nadal ma problemy z działaniem .
AKTUALIZACJA 5: Wygląda jak z dyskusji TortoiseSVN, a także z tego postu na svn.haxx.seże nawet jeśli saslgssapi.dll lub inne niezbędne pliki binarne są dostępne i skonfigurowane na serwerze Windows, klienci również będą potrzebować tego samego dostosowania w celu pracy z tymi repozytoriami. Jeśli to prawda, będziemy mogli uzyskać wsparcie ActiveDirectory z klienta Windows tylko wtedy, gdy zostaną wprowadzone zmiany w tych klientach, takich jak TortoiseSVN i kompilacja plików binarnych klienta CollabNet w celu obsługi takich schematów uwierzytelniania. Chociaż takie są sugestie tych postów, jest to sprzeczne z tym, co pierwotnie zakładałem na podstawie innych odczytów, że zgodność z SASL nie powinna wymagać żadnych zmian na kliencie, a jedynie skonfigurowanie serwera do obsługi mechanizmu uwierzytelniania. Po dokładniejszym przeczytaniu dokumentu o Cyrus SASL w Subversionsekcja 5 stwierdza: „Klienci 1.5+ z obsługą Cyrus SASL będą mogli uwierzytelniać się na serwerach 1.5+ z włączoną obsługą SASL, pod warunkiem, że klient obsługuje co najmniej jeden z mechanizmów obsługiwanych przez serwer”. Tak więc obsługa GSSAPI (która, jak rozumiem, jest wymagana dla Active Directory), musi być dostępna na kliencie i serwerze.
Muszę powiedzieć, że dowiaduję się o wiele za dużo o tym, jak Subversion obsługuje uwierzytelnianie, niż kiedykolwiek chciałem. I niestety po prostu szukałem odpowiedzi na pytanie, czy mogę mieć obsługę uwierzytelniania Active Directory podczas używania SVNServe na serwerze Windows i uzyskiwania dostępu do tego z klientów Windows. Według oficjalnej dokumentacji wydaje się, że jest to możliwe, jednak można zauważyć, że konfiguracja nie jest trywialna, jeśli w ogóle możliwa.
AKTUALIZACJA: 6: Ponieważ prace nad Subversion 1.7 się kończą, czy ktoś mógłby dodać coś o tym, czy Subversion 1.7 poprawi się po uzyskaniu uwierzytelnienia SVNServe przy użyciu Active Directory?