Access management in Managed Service for GitLab
In this section, you will learn about:
- Resources you can assign a role for.
- What roles this service has.
- Roles required for specific actions.
To use the service, log in to the management console with your Yandex account, federated account, or local account.
Access management
Yandex Identity and Access Management checks all operations in Yandex Cloud. If an entity does not have required permissions, IAM returns an error.
To grant permissions for a resource, assign the relevant resource roles to an entity performing operations. You can assign roles to a Yandex account, service account, local user, federated user, user group, system group, or public group. For more information, see How access management works in Yandex Cloud.
To assign a role for a resource, a user should have the gitlab.admin role or one of the following roles for that resource:
adminresource-manager.adminorganization-manager.adminresource-manager.clouds.ownerorganization-manager.organizations.owner
Resources you can assign a role for
You can assign a role for an organization, cloud, or folder. Their nested resources will automatically inherit the roles.
Roles this service has
Service roles
gitlab.auditor
The gitlab.auditor role enables viewing info on the Managed Service for GitLab instances and quotas.
gitlab.viewer
The gitlab.viewer role enables viewing info on the Managed Service for GitLab instances and quotas.
This role includes the gitlab.auditor permissions.
gitlab.editor
The gitlab.editor role enables managing the Managed Service for GitLab instances and migrating them to other availability zones.
Users with this role can:
- View info on the Managed Service for GitLab instances, as well as create, modify, and delete such instances.
- Migrate instances to another availability zones.
- View info on the quotas for Managed Service for GitLab.
This role includes the gitlab.viewer permissions.
To create Managed Service for GitLab instances, you also need the vpc.user role.
gitlab.admin
The gitlab.admin role enables managing the Managed Service for GitLab instances and migrating them to other availability zones.
Users with this role can:
- View info on the Managed Service for GitLab instances, as well as create, modify, and delete such instances.
- Migrate instances to another availability zones.
- View info on the quotas for Managed Service for GitLab.
This role includes the gitlab.editor permissions.
To create Managed Service for GitLab instances, you also need the vpc.user role.
Primitive roles
Primitive roles allow users to perform actions in all Yandex Cloud services.
auditor
The auditor role grants a permission to read configuration and metadata of any Yandex Cloud resources without any access to data.
For instance, users with this role can:
- View info on a resource.
- View the resource metadata.
- View the list of operations with a resource.
auditor is the most secure role that does not grant any access to the service data. This role suits the users who need minimum access to the Yandex Cloud resources.
viewer
The viewer role grants the permissions to read the info on any Yandex Cloud resources.
This role includes the auditor permissions.
Unlike auditor, the viewer role provides access to service data in read mode.
editor
The editor role provides permissions to manage any Yandex Cloud resources, except for assigning roles to other users, transferring organization ownership, removing an organization, and deleting Key Management Service encryption keys.
For instance, users with this role can create, modify, and delete resources.
This role includes the viewer permissions.
admin
The admin role enables assigning any roles, except for resource-manager.clouds.owner and organization-manager.organizations.owner, and provides permissions to manage any Yandex Cloud resources (except for transferring organization ownership and removing an organization).
Prior to assigning the admin role for an organization, cloud, or billing account, make sure to check out the information on protecting privileged accounts.
This role includes the editor permissions.
Instead of primitive roles, we recommend using service roles with more granular access control, allowing you to implement the least privilege principle.
For more information about primitive roles, see the Yandex Cloud role reference.
What roles are required
To use the service, you need the gitlab.editor role or higher to the folder where the projects are being created. With the gitlab.viewer role, you can only view the list of the projects and the contents of uploaded files.
To create a Managed Service for GitLab instance, you need the vpc.user role and the gitlab.editor role or higher.
You can always assign a role with more permissions. For example, you can assign the gitlab.admin role instead of gitlab.editor.