Is it possible to limit or customize owners' permissions in Gilab? - gitlab

We have a self-managed Gitlab instance of Community Edition. For security reasons, we want to limit some permissions like adding/removing project members. But it seems once a user becomes Owner, he/she has all the permissions that an Owner should have.
Is it possible to disable some of the permissions? Does the Enterprise Edition have this feature?

Related

Missing options from Manage blade from Azure Enterprise Applications

enter image description hereTwo of Azure Enterprise applications were showing below options till yesterday night under Manage blade:
Properties, Owners, Users and Groups, Provisioning, Application Proxy and Self-Service.
But, today I am seeing only three options, rest are missing: Properties, Owners and Provisioning
In the absence of Users and Groups, the owner of the applications can't add users or groups to this application.
In spite of having global admin access I can't see those missing options, The owner of these two Enterprise Applications also can't see those missing options.
None, of the MS article, talks about this issue, can someone please help how to get those options back.
It looks fine on my side. If you did nothing and the buttons disappeared, you need to raise a support ticket on Azure portal by following this link.

Access rights for Azure DevOps Services pipeline

What are the best practices for accesses permission for programmers working in Azure DevOps? I would like the programmers to be able to use it, by for example having the possibility to create branches.
As far as I can understand by reading documents such as
https://learn.microsoft.com/en-us/azure/devops/organizations/security/set-git-tfvc-repository-permissions?view=azure-devops#git-repository
The only permission needed is a contributor? Is this correct or have I misunderstood the whole thing? The organization I’m working for have for example set the contributor to be a member of :
Build Administrators, Endpoint creators, Release Administrators
Creating users is different thing and assining rights is different thing. Your are looking for something named Policies.
Check for Branching policies in this case.
EDIT:
I was confused with the branching rights, however you can follow the Repository Permissions and Branch permissions to find how you can give permissions on your projects to users
You need to navigate to project settings and then to repositories. there you will find list of repositories and each repo can have certain rights assigned to it. some are inherited, some assigned. You can modify those to fit your likings.
this is the url: https://dev.azure.com/org_name/project_name/_settings/repositories
For more details, follow this link: https://learn.microsoft.com/en-us/azure/devops/organizations/security/set-git-tfvc-repository-permissions?view=azure-devops
thanks for you quick answer. Have digged into the documentation and repository permissions. I gave definitely som insight. My concern is that I want a predefined setting for managing the code repository on a team level, thus would no want to give project permission to the programmers. In my azure devops setup I have only on organization with hundreds of teams.
As I understand it, the permission for the repos are set at the project level. I would like to minimize the project level access since it gives to wide accesses in other cases and other teams. So my hope was that giving programmers contributor access would give the more or less all needed access for the repos out of the box. Such as:
1. Clone, fetch, contribute to pull requests, and explore the contents of a repository
2. Contribute to a repository, create branches, create tags, manage notes
Do not really understand why more access are needed. But could for example give the security control to the build admin role by granting the access to change permission. In this case the ones with build amdnin could adminitrate the security for its own team repos.
Any thoughs on this? Apologize if I have misunderstood you answer...

Gitlab permissions: Wiki only?

Is there a way to grant permission in Gitlab so that a person or role only has access to a Wiki? No issues, no source, etc.
Not quite.
See the GitLab permissions docs.
The lowest level you can assign is Guest, which can:
Create issues
Download and browse job artifacts.
View wiki pages
But guest cannot access source code.

Roll out Check-In Policies to Multiple Machines

I need to add some Check-In policies to a bunch of machines. When I go to Project Settings -> Source Control I can get into the options fine, but I know I have higher permissions than most, but when I try to add them on other developers machines I get an access denied message.
Is there a way that I can roll out check-in policies to all machines and have the client "install" the policy regardless of permissions? I don't want to grant people higher access and then have to take it away.
Also, with access to Source Control settings being denied would this still run the policy as expected?
Edit: I have read that TFS Power Tools has this ability. If people are part of the same team / group, how does it automatically download the files? Or does the developer have to do a Get Latest? Source: http://www.codewrecks.com/blog/index.php/2010/12/04/distributing-visual-studio-addin-for-the-team/
Decided to have a DLL in a single location and roll out the registry keys via a batch file.

What are the differences between gitlab team and gitlab group?

I'm using Gitlab 5.0 to manage my git repositories and I've never used github before Gitlab.
When I create a group, I see a new directory with this group name in /home/git/repositories.
But with team, no such thing is done.
Also, with group, I can create a project for the group and the assignments (for users of this group) is done automatically.
I can't see any other differences between group and team and I would like to understand that.
Thank you in advance and sorry for the bad English (I'm french),
GitLab 6.0 (August 2013, 22d)
See commit 3bc4845:
Feature: Replace teams with group membership
We introduce group membership in 6.0 as a replacement for teams.
The old combination of groups and teams was confusing for a lot of people.
And when the members of a team where changed, this wasn't reflected in the project permissions.
In GitLab 6.0 you will be able to add members to a group with a permission level for each member.
These group members will have access to the projects in that group.
Any changes to group members will immediately be reflected in the project permissions.
You can even have multiple owners for a group, greatly simplifying administration.
Why do references to Teams still exist in GitLab 7 then? e.g. "Filter by Team"
"Team" seems now (GitLab 6.x->7.x 2015) seems limited to a project (see for example features/project/team_management.feature, and app/models/project_team.rb or spec/models/project_team_spec.rb).
A project can be part of a group: see "Gitlab API for all projects under group".
"Group" references users, and can group multiple projects, (See features/groups.feature, app/models/group.rb, app/models/members/group_member.rb)
As a user, you are a first a member of a group, and have roles ('Reporter', 'Developer', ...) associated to a project (which makes you a member of that project, part of the "team" for that project).
No role, means "not a member of the team for a project".
See db/migrate/20140914145549_migrate_to_new_members_model.rb.
Answer for GitLab 5.x (before August 2013, 22d)
Group is for grouping projects, similar to a folder (git repositories)
Team is for grouping resources (people)
Those notions have been refined in GitLab 4.2.
That allows you to manage authorization in a more convenient way, given permissions to a group of projects in one operation, and/or given permission to a group of people, referenced by their team.
GitLab 5.x no longer used Gitolite, but before 5.0, teams and groups are coming from Gitolite, and its gitolite.conf configuration file.
This is where team and groups were declared and associated in order to grant permission access.
Even without gitolite, the idea persists: managing the authorization through association between teams (of people) and groups (of projects).

Resources