Skip to content

Allow protecting container repositories against writes

Problem to solve

The following permissions are available to all developers of a project:

  • Update a container registry
  • Remove a container registry image
  • Publish to Conan repository, Maven repository, or NPM registry

There is currently no way to limit this.

The following features are already available to protect the release process:

Using these features one can protect every aspect of the release process, except the actual result (container or package). This means any developer of the project can:

  • Delete a container or package that was created by a protected release process.
  • Overwrite a container or package that was created by a protected release process.

Intended users

  • Devon (DevOps Engineer) will restrict the access to container registries and package repositories as part of implementing a secure CI/CD approach.
  • Sam (Security Analyst) will validate that the access to container registries and package repositories was restricted to verify that the CI/CD approach was implemented securely.

Proposal

Add configuration options for restricting all actions except read (create, update and delete) on container registries similar to the existing Protected Branches, Protected Tags and Protected Environments.

The configuration options can be put under Project Settings -> General -> Visibility, project features, permissions ->

  • Container registry
  • Packages

A control can be put next to the checkbox. Similar to the other controls in this section.

Out of Scope

This issue is about protected repositories, not protected tags. Support for tag immutability is being tracked at container-registry#82 (closed).

Permissions and Security

This change would align the ability to configure permission settings for container registries and package repositories with the existing approach to protected assets.

What does success look like, and how can we measure that?

Container registries and package repositories can be properly protected.

What is the type of buyer?

Either Starter/Bronze or Premium/Silver:

This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.

Edited by 🤖 GitLab Bot 🤖