2016-06-08 1 views
1

테스트 환경에서 SonarQube 5.6으로 업그레이드를 수행했습니다. 현재 Sonar 5.2는 LDAP 인증을 사용하는 제품에서 잘 작동합니다.SonarQube 5.6 LDAP 그룹 인증

내 AD 자격증 명으로 로그인 할 수 있지만 로컬 관리자 계정을 통해 권한을 확인할 때 그룹 구성원이 없습니다.

또한 Sonar의 원래 LDAP 계정 외에도 사용자 이름 대신 구문이 [email protected] 인 두 번째 계정이 있습니다. 내 사용자 이름 계정에는 여전히 원래 그룹 구성원 자격이 있지만 예상대로 만든 [email protected]은 새로 만들지 않습니다.

수중 음파 탐지기에 그룹을 수동으로 할당하려고하면 다음 로그인시에 그룹이 삭제됩니다.

로그를 디버깅 할 수있게되어 실제로 활성 디렉토리에서 memberOf 그룹을 찾을 수 있지만이를 내 계정에 연결하지는 않습니다. 그룹은 여전히 ​​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... 

로그에 대해 유의할 점은 사용 된 username 속성이 일관성이없는 것입니다. 한 번에 "Authenticating user : nico"라고하고 다른 "Domain \ Nico 그룹 얻기"와 "Created user [email protected]" 사용자 이름이 다릅니다.

내가 제어 할 수있는 것이 있습니까? 또는 SonarQube와 관련된 문제 일 수 있습니다.

귀하의 의견을 기다리십시오.

니코

이 내 LDAP 구성

# 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})) 

답변

0

나는 비슷한 문제를 가지고 있었고 WindowsAuthenticationHelper에 의해 발견 그룹과 일치 SonarQube에서 그룹을 만들어 해결 받고 있습니다.

이 경우 Sonar [email protected] 또는 Sonar [email protected]이라는 SonarQube 그룹이 필요하다는 의미입니다.

다시 로그인하면 사용자가이 그룹에 자동으로 추가됩니다.

+0

흠, 난 그 시도 생각하고, 내가 지금 LOG 파일에서 전체 이름을 복사하는 데 실패하고 그 작동하는 것 같다, 그래서 난 그냥 그룹의 이름을 변경하고 그 그것을 내가 어떻게해야 기대. – Nico

+0

그룹의 이름을 바꾸는 것만으로는 충분하지 않습니다. 왜 내 초기 테스트가 실패 했나요? @Domain 이름으로 새 그룹을 만들면 작동합니다. 단점은 모든 그룹 할당을 새 그룹에 다시 적용해야한다는 것입니다. – Nico

0

새로운 Active Directory의 플러그인을 사용하면 LDAP 하나 대신 사용할 수있는 사용할 수 있습니다. 이 게시물에 대해서는 여전히 RC (Release Candidate)입니다. 이 버전은 업데이트 센터에 표시되지 않습니다.

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

플러그인은 릴리스 탭에서 다운로드 할 수 있습니다.

웨스

+0

"이 플러그인은 Windows OS에서만 작동합니다"(github readme) –