2016-06-08 18 views
1

Wir haben gerade ein Upgrade auf SonarQube 5.6 in einer Testumgebung durchgeführt. Das aktuelle Sonar 5.2 funktioniert in der Produktion mit LDAP-Authentifizierung.SonarQube 5.6 Authentifizierung LDAP-Gruppe

Ich kann mich mit meinen AD-Anmeldeinformationen anmelden, aber ich habe keine Gruppenmitgliedschaft, wenn ich meine Berechtigungen über das lokale Administratorkonto überprüfe.

Zusätzlich zu meinem ursprünglichen LDAP-Account in Sonar, habe ich jetzt einen zweiten Account mit der Syntax [email protected] anstatt nur Benutzername. Mein Benutzername-Konto hat immer noch die ursprünglichen Gruppenmitgliedschaften wie erwartet, aber das neu erstellte [email protected] nicht.

Wenn ich versuche, Gruppen in Sonar manuell zuzuweisen, werden sie bei der nächsten Anmeldung gelöscht, was ich glaube glaube.

Ich habe Debug-Protokoll aktiviert und dies zeigt, dass es tatsächlich noch die memberOf-Gruppen aus Active Directory findet, aber sie nicht mit meinem Konto verknüpft. Die Gruppen existieren noch in Sonar.

2016.06.08 11:20:55 DEBUG web[o.s.p.l.w.WindowsUsersProvider] Requesting details for user: nico 
2016.06.08 11:20:55 DEBUG web[o.s.p.l.w.WindowsAuthenticationHelper] Getting details for user: nico 
2016.06.08 11:20:55 DEBUG web[o.s.p.l.w.AdConnectionHelper] Getting active directory bind string for domain: Domain 
2016.06.08 11:20:55 DEBUG web[o.s.p.l.w.AdConnectionHelper] Active directory bind string for the domain Domain: LDAP://Domain/DC=domain,DC=com 
2016.06.08 11:20:56 DEBUG web[o.s.p.l.w.WindowsAuthenticationHelper] Details for user nico: UserDetails{name=Nico (nico), [email protected], [email protected]} 
2016.06.08 11:20:56 DEBUG web[o.s.p.l.w.WindowsAuthenticationHelper] Authenticating user: nico 
2016.06.08 11:21:03 DEBUG web[o.s.p.l.w.WindowsAuthenticationHelper] Getting groups for user: Domain\nico 
2016.06.08 11:21:03 DEBUG web[o.s.p.l.w.WindowsAuthenticationHelper] Groups for the user Domain\nico : [Sonar [email protected], Sonar [email protected]] 
2016.06.08 11:21:03 DEBUG web[o.s.s.u.NewUserNotifier] User created: [email protected] Notifying NewUserHandler handlers... 

Was ich an dem Protokoll bemerken ist, dass die verwendete username-Eigenschaft nicht konsistent aussieht. An einem Punkt heißt es "Authentifizieren Benutzer: Nico" und in der anderen "Gruppen für Domain \ Nico" und am Ende "Erstellte Benutzer [email protected]" 3 verschiedene Benutzernamen verwendet werden.

Ist das etwas, das ich kontrollieren kann/sollte? oder würde dies ein Problem mit SonarQube sein.

Wir freuen uns auf Ihr Feedback.

Nico

Das ist mein LDAP-Konfiguration

# LDAP configuration 
# General Configuration 
sonar.security.realm: LDAP 
sonar.security.savePassword: true 
sonar.authenticator.createUsers: true 
sonar.security.localUsers: admin,sonar-build 
ldap.url: ldap://ipadress:389 
ldap.bindDn: CN=SonarUser,OU=Service Accounts,DC=domain,DC=com 
ldap.bindPassword: {aes}xxx 

# User Configuration 
ldap.user.baseDn: DC=domain,DC=com 
ldap.user.request: (&(objectClass=user)(sAMAccountName={login})) 
ldap.user.realNameAttribute: cn 
ldap.user.emailAttribute: mail 

# Group Configuration 
ldap.group.baseDn: DC=domain,DC=com 
ldap.group.request: (&(objectClass=group)(memberUid={uid})) 

Antwort

0

Ich hatte ein ähnliches Problem und wurde durch die Schaffung einer Gruppe in Sonarqube gelöst, die eine Gruppe der WindowsAuthenticationHelper entdeckt entspricht. In Ihrem Fall bedeutet das, dass Sie eine SonarQube-Gruppe mit dem Namen Sonar [email protected] oder Sonar [email protected] benötigen.

Wenn Sie sich erneut anmelden, wird der Benutzer automatisch zu dieser Gruppe hinzugefügt.

+0

Hm, dachte ich, habe ich versucht, dass und konnte nicht, ich den vollständigen Namen aus der LOG-Datei nun kopiert und das scheint zu funktionieren, so dass ich ändern, nur die Namen der Gruppen und das sollte es mir tun Hoffnung. – Nico

+0

Das Umbenennen der Gruppen ist nicht gut genug, deshalb ist mein erster Test fehlgeschlagen. Das Erstellen einer neuen Gruppe mit dem @ Domain-Namen funktioniert. Der Nachteil davon ist, dass ich alle Gruppenzuweisungen für die neuen Gruppen erneut anwenden muss. – Nico

0

Eine neue Active Directory-Plugin zur Verfügung, die Sie ein anstelle des LDAP verwenden können. Hinweis ab diesem Beitrag ist es immer noch ein Release Candidate (RC). Diese Version wird nicht im Update Center angezeigt.

https://github.com/SonarQubeCommunity/sonar-activedirectory/

Das Plugin steht zum Download auf der Registerkarte Versionen verfügbar.

Wes

+0

"Dieses Plugin funktioniert nur unter Windows OS" (von github readme) –