GitLab Integration & Permissions
👥 Roles
Admin
- Admins have the highest level of access on the platform. They can manage authorized maintainers, configure policies, and have full control over settings.
- Who is Admin:
- If your R2Devops instance is connected to an entire GitLab self-managed instance: any GitLab instance Admin.
- If your R2Devops instance is connected to a GitLab group: any user at least Maintainer in the root group.
Maintainer
- Maintainers can manage projects, configure settings and policies, and run analysis if an organization token is set. They have significant control but cannot manage authorized maintainers.
- Who is Maintainer: any user (starting from
Guest
level) from a group manually added in theSettings > Authorization
page.
Member
- Members can view filtered analyses based on their rights on GitLab projects.
- Who is Member:
- If your R2Devops instance is connected to an entire GitLab self-managed instance: any user logged into the GitLab instance.
- If your R2Devops instance is connected to a GitLab group: any user between Guest and Developer (included) in the root group.
No one
- This role has no permissions and cannot perform any actions on the platform.
- Who is No one: any user not in the previously described roles.
🔒 Permissions
Permission | Admin | Maintainer | Member | No one |
---|---|---|---|---|
Read policies compliance | ✅ | ✅ | ✅ | ❌ |
Read projects compliance | ✅ | ✅ | 🟡 | ❌ |
Read issues | ✅ | ✅ | 🟡 | ❌ |
Read inventory | ✅ | ✅ | 🟡 | ❌ |
Read settings | ✅ | ✅ | 🟡 | ❌ |
Edit policies | ✅ | ✅ | ❌ | ❌ |
Edit issues | ✅ | ✅ | ❌ | ❌ |
Edit settings | ✅ | ✅ | ❌ | ❌ |
Run new analysis | ✅ | ✅ | ❌ | ❌ |
Edit authorized maintainers settings | ✅ | ❌ | ❌ | ❌ |
🟡 : access filtered on projects and groups that users can read on GitLab
🔑 GitLab Token Configuration
R2Devops uses GitLab tokens to communicate with your GitLab instance:
- To run analysis, it uses the Access Token added in
Settings > Organization > Analysis Token
- To run all other queries, it uses the OIDC Token of the currently logged-in user
To create the Access Token:
- The token should be a Personal Access Token, ideally linked to a Service Account (not a human)
- If your R2Devops instance is connected to an entire GitLab self-managed instance
- If Admin Mode is NOT enabled on your instance
- Option 1: the token owner must be Admin and the token scope must be
api
- Option 2: the token owner must be Maintainer of all root groups and the token scope must be
api
- Option 1: the token owner must be Admin and the token scope must be
- If Admin Mode is enabled on your instance
- Option 1: the token owner must be Admin and the token scope must be
api
andadmin_mode
- Option 2: the token owner must be Maintainer of all root groups and the token scope must be
api
- Option 1: the token owner must be Admin and the token scope must be
- If Admin Mode is NOT enabled on your instance
- If your R2Devops instance is connected to a GitLab group
- The token owner must be Maintainer of the root group and the token scope must be
api
- The token owner must be Maintainer of the root group and the token scope must be