Hi all,
i’m new here, so pls be patient if i do something wrong.
ALM GitLab “Synchronize user groups” sets wrong group permissions to Sonar Users that are not inside any gitlab groups, for example users having only developer role directly inside gitlab projects.
-
versions used: SonarQube 8.5 CE
-
error observed: Wrong group permissions for Sonar Users not inside GitLab groups.
-
steps to reproduce
Assume we have GitLab ALM enabled with “Syncronize user groups” enabled too.
- create gitlab user (eg:
user1) - create gitlab group (eg:
groupA) - inside
groupAcreate new project (eg:groupA/projectA) - inside
groupAcreate new subgroup (eg:groupA/groupA1) - inside
groupA1create new project (eg:groupA/groupA1/projectA1) - inside
groupA1create new project (eg:groupA/groupA1/projectA2) - assign
developerrole touser1insideprojectA1only
Now you should have
groupA <- with no user1 permissions |- projectA <- with no user1 permissions |- groupA1 <- with no user1 permissions |- projectA1 <- with user1 developer role |- projectA2 <- with no user1 permissions- In SonarQube create group
groupAand groupgroupA/groupA1(as explained here) - sonar-scanner
projectAand assign project permission (browse sufficient) togroupA - sonar-scanner
projectA1and assign project permission (browse sufficient) togroupA/groupA1 - sonar-scanner
projectA2and assign project permission (browse sufficient) togroupA/groupA1
Now, when
user1loggin in SonarQube using GitLab auth, sonar will auto-assignuser1to bothgroupAandgroupA/groupA1even ifuser1does not belong to any group in GitLab.As a consequence,
user1will be able to see all scanned projects assigned in both groups:
projectA,projectA1andprojectA2. - create gitlab user (eg:
-
potential workaround
not found atm
I can imagine that sonar plugin will call gitlab /api/ to read where user1 can access or not, and maybe this is complex to resolve, but this issue could be a little security risk for some kind of organizations.
Thanks however for all help u can do, and excuse me if I haven’t been clear enough, i’m not native english speaker ![]()
Bye and thanks for SonarQube, it’s really awesome! ![]()
