2015-09-17 8 views
11

Ich bin dabei, eine vorhandene GitLab-Installation so zu ändern, dass SAML anstelle von LDAP zur Authentifizierung verwendet wird.Konfigurieren von GitLab zur Verwendung von SAML OmniAuth mit einem Active Directory-IDP

Zu diesem Zeitpunkt können sich Benutzer erfolgreich über die Schaltfläche "Mit Saml anmelden" in der Webanwendung anmelden. Mir ist jedoch unklar, was ein Unterschied zwischen den LDAP- und SAML-Ansätzen zu sein scheint: Benutzer mit Konten, die über eine LDAP-Anmeldung erstellt wurden, können dann mit ihren LDAP-Benutzernamen auf Git-Repositories zugreifen (z. B. mit Klon, Push, ...) und Kennwörter, aber Benutzer mit Konten, die über eine SAML-Anmeldung erstellt wurden, können dies nicht tun.

Durch Experimente habe ich festgestellt, dass Benutzer auf die Git-Repositories zugreifen können, wenn sie die GitLab-Benutzeroberfläche verwenden, um ein separates GitLab-Kontopasswort für das Konto festzulegen, das während der ersten SAML-Interaktion erstellt wurde. Ich wurde in diese Richtung durch eine GitLab-Nachricht hingewiesen, die nach dem Erstellen eines Projekts unter einem der neuen Benutzerkonten angezeigt wurde: "Sie können Projektcode nicht über HTTPS ziehen oder schieben, bis Sie ein Kennwort für Ihr Konto festgelegt haben".

Es scheint möglich, dass diese separate Passwortkonfiguration nur notwendig ist, weil ich die SAML-Integration irgendwie falsch konfiguriert habe. Meine Frage ist also, ob es falsch ist zu erwarten, dass der Authentifizierungszugriff auf die von GitLab gehosteten Git Repositories unabhängig davon funktionieren würde, ob SAML oder LDAP verwendet wird? Wenn nicht, kennt jemand relevante SAML-Konfigurationseinstellungen, die ich überprüfen sollte?

Falls es von Interesse ist: Ich habe eine ähnliche Frage an die GitLab Google Gruppe geschrieben, aber ich habe dort noch keine Antworten erhalten.

Antwort

1

Dies ist eine alte Frage, aber ich reagiere trotzdem in der Hoffnung, es hilft jemand anderem, der auf diese Frage stolpert.

Ein wichtiger Unterschied zwischen LDAP und SAML ist, dass SAML eine webbasierte Single-Sign-On-Technologie ist. Ein Teil des SAML-Anmeldeprozesses findet direkt zwischen dem Client des Benutzers (Browser) und dem SAML-Server statt, und dann überprüft GitLab diese Informationen im Backend. Im Gegensatz dazu kann GitLab, wenn das LDAP-Passwort eines Benutzers angegeben wird, eine direkte Verbindung zum LDAP-Server herstellen und die Identität überprüfen.

Viele GitLab-Benutzer verwenden eine Kombination aus LDAP und SAML. SAML bietet nahtloses Single-Sign-On für die Web-Seite, während LDAP Git über HTTPS Passwörter akzeptiert und auch die Tür zu erweiterten Funktionen wie LDAP Group Sync in der Enterprise Edition öffnet.

Verwandte Themen