Compliance features

  • Tier: Free, Premium, Ultimate
  • Offering: GitLab Self-Managed

GitLab compliance features ensure your GitLab instance meets common compliance standards, and are available at various pricing tiers. For more information about compliance management, see the compliance management solutions page.

The security features in GitLab may also help you meet relevant compliance standards.

For more information on all GitLab compliance features to ensure your GitLab group meets common compliance standards, see Compliance features.

Compliant workflow automation

It is important for compliance teams to be confident that their controls and requirements are set up correctly, but also that they stay set up correctly. One way of doing this is manually checking settings periodically, but this is error prone and time consuming. A better approach is to use single-source-of-truth settings and automation to ensure that whatever a compliance team has configured, stays configured and working correctly. These features can help you automate compliance:

FeatureInstancesGroupsProjectsDescription
Merge request approval policy approval settingscheck-circle Yescheck-circle Yescheck-circle YesEnforce a merge request approval policy enforcing multiple approvers and override various project settings in all enforced groups or projects across your GitLab instance or group.

Audit management

An important part of any compliance program is being able to go back and understand what happened, when it happened, and who was responsible. You can use this in audit situations as well as for understanding the root cause of issues when they occur.

It is helpful to have both low-level, raw lists of audit data as well as high-level, summary lists of audit data. Between these two, compliance teams can quickly identify if problems exist and then drill down into the specifics of those issues. These features can help provide visibility into GitLab and audit what is happening:

FeatureInstancesGroupsProjectsDescription
Audit eventscheck-circle Yescheck-circle Yescheck-circle YesTo maintain the integrity of your code, audit events give administrators the ability to view any modifications made in the GitLab server in an advanced audit events system, so you can control, analyze, and track every change.
Audit reportscheck-circle Yescheck-circle Yescheck-circle YesCreate and access reports based on the audit events that have occurred. Use pre-built GitLab reports or the API to build your own.
Audit event streamingcheck-circle Yescheck-circle Yescheck-circle YesStream GitLab audit events to a HTTP endpoint or third party service, such as AWS S3 or GCP Logging.
Auditor userscheck-circle Yesdotted-circle Nodotted-circle NoAuditor users are users who are given read-only access to all projects, groups, and other resources on the GitLab instance.

Policy management

Organizations have unique policy requirements, either due to organizational standards or mandates from regulatory bodies. The following features help you define rules and policies to adhere to workflow requirements, separation of duties, and secure supply chain best practices:

FeatureInstancesGroupsProjectsDescription
Credentials inventorycheck-circle Yesdotted-circle Nodotted-circle NoKeep track of the credentials used by all of the users in a GitLab instance.
Granular user roles
and flexible permissions
check-circle Yescheck-circle Yescheck-circle YesManage access and permissions with five different user roles and settings for external users. Set permissions according to people’s role, rather than either read or write access to a repository. Don’t share the source code with people that only need access to the issue tracker.
Merge request approvalscheck-circle Yescheck-circle Yescheck-circle YesConfigure approvals required for merge requests.
Push rulescheck-circle Yescheck-circle Yescheck-circle YesControl pushes to your repositories.
Security policiescheck-circle Yescheck-circle Yescheck-circle YesConfigure customizable policies that require merge request approval based on policy rules, or enforce security scanners to execute in project pipelines for compliance requirements. Policies can be enforced granularly against specific projects, or all projects in a group or subgroup.

Other compliance features

These features can also help with compliance requirements:

FeatureInstancesGroupsProjectsDescription
Email all users of a project,
group, or entire server
check-circle Yesdotted-circle Nodotted-circle NoEmail groups of users based on project or group membership, or email everyone using the GitLab instance. These emails are great for scheduled maintenance or upgrades.
Enforce ToS acceptancecheck-circle Yesdotted-circle Nodotted-circle NoEnforce your users accepting new terms of service by blocking GitLab traffic.
Generate reports on permission
levels of users
check-circle Yesdotted-circle Nodotted-circle NoGenerate a report listing all users’ access permissions for groups and projects in the instance.
LDAP group synccheck-circle Yesdotted-circle Nodotted-circle NoAutomatically synchronize groups and manage SSH keys, permissions, and authentication, so you can focus on building your product, not configuring your tools.
LDAP group sync filterscheck-circle Yesdotted-circle Nodotted-circle NoGives more flexibility to synchronize with LDAP based on filters, meaning you can leverage LDAP attributes to map GitLab permissions.
Linux package installations support
log forwarding
check-circle Yesdotted-circle Nodotted-circle NoForward your logs to a central system.
Restrict SSH Keyscheck-circle Yesdotted-circle Nodotted-circle NoControl the technology and key length of SSH keys used to access GitLab.