Managing GitLab Just-in-Time provisioning mode
Once you’ve set up the GitLab authentication and provisioning with the Just-in-Time (JIT) provisioning mode (default mode), you can set or change the JIT provisioning mode options.
You need the global Administer System permission in SonarQube to perform this setup.
Setting up the group synchronization
With the JIT provisioning mode, you can enable group synchronization. The group synchronization requires that you manually create the user groups in SonarQube: see below.
If you enable the group synchronization, you cannot manage group memberships manually and existing manually added group memberships of JIT-provisioned users are reset in SonarQube during synchronization.
Enabling/disabling the group synchronization (Community Edition)
- Go to Administration > Configuration > General Settings > Authentication > GitLab.
- Select or unselect the Synchronize user groups option.
- Save.
Enabling/disabling the group synchronization (from the Developer Edition)
- Go to Administration > Configuration > General Settings > Authentication > GitLab.
- On the far right of App ID, select Edit.
- In the dialog, select or unselect the Synchronize user groups option.
- Save.
Creating the user groups in SonarQube
To allow group synchronization, you must create in SonarQube a group for each GitLab group and subgroup you want to synchronize: see Managing user groups.
You must name the SonarQube group according to the URL of the GitLab group or subgroup. Be aware that that name check is case-sensitive.
Examples:
- If the URL of the GitLab group is
https://gitlab.com/my-gitlab-group
, the name of the SonarQube group mus bemy-gitlab-group
. - If the URL of the GitLab group is
https://gitlab.com/my-gitlab-group/sub-group
, the name of the SonarQube group must bemy-gitlab-group/sub-group.
To set the group permissions at the system level, see Managing user permissions.
Setting the Allowed groups
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.
To set the Allowed groups:
- Go to Administration > Configuration > General Settings > Authentication > GitLab.
- In the Provisioning > Just-in-Time provisioning > Allowed groups, enter the root group slug as it appears in the GitLab URL. For instance, if the first Allowed group URL is
https://gitlab.com/my-root-group
, then entermy-root-group
. A new text box is added underneath. - Enter the second Allowed group slug, etc.
Blocking/Authorizing the sign-up of new users
You can block the signup of new users with SonarQube Server. This may be useful if you want to manage the user provisioning through an API.
To block or authorize the sign-up of new users with SonarQube:
Community Edition
- Go to Administration > Configuration > General Settings > Authentication > GitLab.
- Unselect or select the Allow new users to sign up option.
- Save.
From the Developer Edition
- Go to Administration > Configuration > General Settings > Authentication > GitLab.
- In the Provisioning > Just-in-Time provisioning section, unselect or select Allow users to sign up.
Related pages
Was this page helpful?