I work for a company in wich we have a typical java ci-cd environment (jenkins, nexus, sonar, gitlab...).

We are authenticating against an ldap so I can manage user and roles pretty easily giving user membership of groups. In gitlab users have "Regular" access level and some groups have "Admin" level. With this schema everyone can see the projects they belong to and the internal projects (shared with any logged in user).

We never needed to provide access for any external users but recently we added a consultant to the staff and I don't want him to see our internal projects, so how can I share with him a project without also leaking all of our internal stuff?


Looking at the official gitlab documentation on permissions there is a chapter about being able to mark users as external users. That sounds like what you're looking for.

In cases where it is desired that a user has access only to some internal or private projects, there is the option of creating External Users. This feature may be useful when for example a contractor is working on a given project and should only have access to that project.

External users can only access projects to which they are explicitly granted access, thus hiding all other internal or private ones from them. Access can be granted by adding the user as member to the project or group.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.