GitLab Just-in-Time provisioning mode
The Just-in-Time (JIT) provisioning is the default provisioning mode. User accounts are created in SonarQube Server when GitLab users log in for the first time. With this mode, you can use the group synchronization and user access restriction features described below.
Group synchronization
Groups are used in SonarQube Server to manage user permissions.
With the group synchronization:
- The synchronization occurs each time a user logs in to SonarQube Server with their GitLab credentials.
- If a matching group is found in SonarQube Server, the GitLab account's memberships in that group are synchronized in SonarQube Server. The groups match if the SonarQube Server group name matches the GitLab group URL. For example, the SonarQube Server group
my-gitlab-group/sub-group
matches the GitLab group whose URL ishttps://gitlab.com/my-gitlab-group/sub-group
. (The name check is case-sensitive; The default built-insonar-users
group is excluded from the synchronization.) - Manually added group memberships of JIT-provisioned users are reset in SonarQube Server at synchronization time.
User access restriction (Allowed groups)
You can block the signup of new users with SonarQube. This may be useful if you want to manage user provisioning through an API.
Starting from the Developer Edition, you can restrict access to SonarQube Server by defining Allowed groups. An Allowed group is a GitLab root group (a group with no parent): only members of the Allowed group and all its subgroups can authenticate to SonarQube Server.
If group synchronization is enabled, only Allowed groups and subgroups are taken into account during synchronization.
Related pages
Was this page helpful?