Ho un set di repository Subversion privati su un box di Windows Server 2003 a cui gli sviluppatori accedono tramite SVNServe tramite il protocollo svn: //. Attualmente stiamo usando i file authz e passwd per ciascun repository per controllare l'accesso, tuttavia con il numero crescente di repository e sviluppatori sto prendendo in considerazione il passaggio all'utilizzo delle loro credenziali da ActiveDirectory. Eseguiamo in un negozio tutto Microsoft e utilizziamo IIS anziché Apache su tutti i nostri server Web, quindi preferirei continuare a utilizzare SVNServe se possibile.
Oltre a essere possibile, sono anche preoccupato di come migrare i nostri repository in modo che la cronologia degli utenti esistenti sia mappata agli account ActiveDirectory corretti. Tieni presente anche che non sono l'amministratore di rete e non ho una terribile familiarità con ActiveDirectory, quindi probabilmente dovrò consultare altre persone per ottenere le modifiche apportate in ActiveDirectory, se necessario.
Quali sono le mie opzioni?
AGGIORNAMENTO 1: Dalla documentazione SVN risulta che utilizzando SASL dovrei essere in grado di autenticare SVNServe tramite ActiveDirectory. Per chiarire, la risposta che sto cercando è come configurare SVNServe (se possibile) per utilizzare ActiveDirectory per l'autenticazione e quindi come modificare un repository esistente per rimappare gli utenti svn esistenti ai loro account di accesso al dominio ActiveDirectory.
AGGIORNAMENTO 2: Sembra che il supporto SASL in SVNServe funzioni al di fuori di un modello di plug-in e la documentazione mostra solo come esempio. Guardando la Cyrus SASL Library sembra che siano supportati numerosi "meccanismi" di autenticazione, ma non sono sicuro di quale debba essere utilizzato per il supporto di ActiveDirectory né posso trovare alcuna documentazione su tali argomenti.
AGGIORNAMENTO 3: Ok, sembra che per comunicare con ActiveDirectory sto cercando di usare saslauthd invece di sasldb per la proprietà auxprop_plugin . Sfortunatamente sembra che secondo alcuni post (forse obsoleti e imprecisi) saslauthd non si basi su Windows e tali sforzi sono considerati un lavoro in corso .
AGGIORNAMENTO 4: L'ultimo post che ho trovato su questo argomento fa sembrare che i binari corretti () siano disponibili attraverso la libreria Kerberos del MIT ma sembra che l'autore di questo post su Nabble.com abbia ancora problemi a far funzionare le cose .
AGGIORNAMENTO 5: Sembra dalle discussioni di TortoiseSVN e anche questo post su svn.haxx.seche anche se sono disponibili e configurati sul server Windows saslgssapi.dll o qualsiasi binario necessario, i client avranno bisogno della stessa personalizzazione per funzionare con questi repository. Se questo è vero, saremo in grado di ottenere il supporto ActiveDirectory da un client Windows solo se vengono apportate modifiche in questi client come TortoiseSVN e Build CollabNet dei file binari del client per supportare tali schemi di autenticazione. Anche se questo è ciò che suggeriscono questi post, ciò è contraddittorio rispetto a quanto inizialmente ipotizzato da altre letture in quanto la compatibilità con SASL non dovrebbe richiedere modifiche sul client, ma solo che il server sia configurato per gestire il meccanismo di autenticazione. Dopo aver letto un po 'più attentamente nel documento su Cyrus SASL in Subversionla sezione 5 afferma "I client 1.5+ con supporto Cyrus SASL saranno in grado di autenticarsi con i server 1.5+ con SASL abilitato, a condizione che almeno uno dei meccanismi supportati dal server sia supportato dal client." Quindi chiaramente il supporto GSSAPI (che ho capito è necessario per Active Directory) deve essere disponibile all'interno del client e del server.
Devo dire che sto imparando troppo sull'interno di come Subversion gestisce l'autenticazione di quanto avessi mai voluto. E sfortunatamente stavo semplicemente cercando una risposta per sapere se posso avere il supporto per l'autenticazione di Active Directory quando uso SVNServe su un server Windows e accedo a questo da client Windows. Secondo la documentazione ufficiale sembra che ciò sia possibile, tuttavia si può vedere che la configurazione non è banale se non addirittura impossibile.
AGGIORNAMENTO: 6: Poiché lo sviluppo su Subversion 1.7 si sta concludendo, qualcuno potrebbe aggiungere qualcosa sul fatto che Subversion 1.7 migliorerà sulla situazione in cui SVNServe eseguirà l'autenticazione utilizzando Active Directory?