테스트 환경에서 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}))
흠, 난 그 시도 생각하고, 내가 지금 LOG 파일에서 전체 이름을 복사하는 데 실패하고 그 작동하는 것 같다, 그래서 난 그냥 그룹의 이름을 변경하고 그 그것을 내가 어떻게해야 기대. – Nico
그룹의 이름을 바꾸는 것만으로는 충분하지 않습니다. 왜 내 초기 테스트가 실패 했나요? @Domain 이름으로 새 그룹을 만들면 작동합니다. 단점은 모든 그룹 할당을 새 그룹에 다시 적용해야한다는 것입니다. – Nico