InfoGrab Docs

보호된 패키지

요약

기본적으로 Developer, Maintainer 또는 Owner 권한을 가진 사용자는 패키지를 생성, 편집 및 삭제할 수 있습니다. GitLab은 npm, PyPI, Maven 및 Conan 패키지에 대한 패키지 보호를 지원하지만 에픽 5574에서는 추가 기능 및 패키지 형식을 추가할 것을 제안합니다.

히스토리
  • GitLab 16.5에서 packages_protected_packages라는 플래그와 함께 도입됨. 기본적으로 비활성화됨. 이 기능은 실험입니다.
  • GitLab 17.1에서 보호 규칙 설정 Push protected up to access levelMinimum access level for push이름 변경됨.
  • GitLab 17.6에서 일반 제공. 기능 플래그 packages_protected_packages 제거.
  • GitLab 17.6에서 Conan 보호 패키지가 packages_protected_packages_conan이라는 플래그와 함께 도입됨. 기본적으로 비활성화됨. 이 기능은 실험입니다.
  • GitLab 17.9에서 Maven 보호 패키지가 packages_protected_packages_maven이라는 플래그와 함께 도입됨. 기본적으로 비활성화됨. 이 기능은 실험입니다.
  • GitLab 17.10에서 packages_protected_packages_delete라는 플래그와 함께 도입됨. 기본적으로 비활성화됨. 이 기능은 실험입니다.
  • GitLab 17.11에서 Maven 보호 패키지가 일반 제공됨. 기능 플래그 packages_protected_packages_maven 제거.
  • GitLab 17.11에서 Conan 보호 패키지가 일반 제공됨. 기능 플래그 packages_protected_packages_conan 제거.
  • GitLab 18.0에서 NuGet 보호 패키지가 packages_protected_packages_nuget이라는 플래그와 함께 도입됨. 기본적으로 비활성화됨. 이 기능은 실험입니다.
  • GitLab 18.1에서 보호된 Helm 차트가 packages_protected_packages_helm이라는 플래그와 함께 도입됨. 기본적으로 비활성화됨. 이 기능은 실험입니다.
  • GitLab 18.1에서 일반 보호 패키지가 packages_protected_packages_generic이라는 플래그와 함께 도입됨. 기본적으로 비활성화됨. 이 기능은 실험입니다.
  • GitLab 18.2에서 일반 보호 패키지가 일반 제공됨. 기능 플래그 packages_protected_packages_generic 제거.
  • GitLab 18.2에서 NuGet 보호 패키지가 일반 제공됨. 기능 플래그 packages_protected_packages_nuget 제거.
  • GitLab 18.3에서 Helm 보호 패키지가 일반 제공됨. 기능 플래그 packages_protected_packages_helm 제거.

기본적으로 Developer, Maintainer 또는 Owner 권한을 가진 사용자는 패키지를 생성, 편집 및 삭제할 수 있습니다. 패키지 보호 규칙을 추가하여 패키지 변경 가능한 사용자를 제한합니다.

GitLab은 npm, PyPI, Maven 및 Conan 패키지에 대한 패키지 보호를 지원하지만 에픽 5574에서는 추가 기능 및 패키지 형식을 추가할 것을 제안합니다.

패키지가 보호되면 기본 동작은 패키지에 대해 다음 제한을 적용합니다:

액션 최소 권한 또는 토큰
패키지 보호 Maintainer 또는 Owner 권한.
새 패키지 푸시 Minimum access level for push에 설정된 최소 권한 이상.
배포 토큰으로 새 패키지 푸시 유효한 배포 토큰. 단, 푸시된 패키지가 보호 규칙과 일치하지 않는 경우에만. 보호된 패키지는 배포 토큰으로 푸시할 수 없습니다.
패키지 삭제 Minimum access level for delete에 설정된 최소 권한 이상.

패키지 보호#

히스토리

사전 요구 사항:

  • Maintainer 또는 Owner 권한이 있어야 합니다.

패키지를 보호하려면:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Settings > Packages and registries를 선택합니다.
  3. Package registry를 확장합니다.
  4. Protected packages 아래에서 Add protection rule을 선택합니다.
  5. 필드를 완성합니다:
    • Name pattern은 보호하려는 패키지 이름 패턴입니다. 패턴에는 와일드카드(*)를 포함할 수 있습니다.
    • Package type은 보호할 패키지 유형입니다.
    • Minimum access level for push는 이름 패턴과 일치하는 패키지를 푸시하는 데 필요한 최소 권한입니다.
    • Minimum access level for delete는 이름 패턴과 일치하는 패키지를 삭제하는 데 필요한 최소 권한입니다.
  6. Protect를 선택합니다.

패키지 보호 규칙이 생성되고 설정에 표시됩니다.

여러 패키지 보호#

와일드카드를 사용하여 동일한 패키지 보호 규칙으로 여러 패키지를 보호할 수 있습니다. 예를 들어 CI/CD 파이프라인 중에 빌드된 모든 임시 패키지를 보호할 수 있습니다.

다음 표에는 여러 패키지와 일치하는 패키지 보호 규칙의 예시가 포함되어 있습니다:

와일드카드가 있는 패키지 이름 패턴 일치하는 패키지
@group/package-* @group/package-prod, @group/package-prod-sha123456789
@group/*package @group/package, @group/prod-package, @group/prod-sha123456789-package
@group/*package* @group/package, @group/prod-sha123456789-package-v1

동일한 패키지에 여러 보호 규칙을 적용할 수 있습니다. 패키지에 보호 규칙이 하나 이상 적용되면 패키지가 보호됩니다.

패키지 보호 규칙 삭제 및 패키지 보호 해제#

히스토리

사전 요구 사항:

  • Maintainer 또는 Owner 권한이 있어야 합니다.

패키지 보호를 해제하려면:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Settings > Packages and registries를 선택합니다.
  3. Package registry를 확장합니다.
  4. Protected packages 아래에서 삭제하려는 보호 규칙 옆의 Delete ([remove])를 선택합니다.
  5. 확인 대화 상자에서 Delete를 선택합니다.

패키지 보호 규칙이 삭제되고 설정에 표시되지 않습니다.

보호된 패키지

Tier: Free, Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기
요약

기본적으로 Developer, Maintainer 또는 Owner 권한을 가진 사용자는 패키지를 생성, 편집 및 삭제할 수 있습니다. GitLab은 npm, PyPI, Maven 및 Conan 패키지에 대한 패키지 보호를 지원하지만 에픽 5574에서는 추가 기능 및 패키지 형식을 추가할 것을 제안합니다.

히스토리
  • GitLab 16.5에서 packages_protected_packages라는 플래그와 함께 도입됨. 기본적으로 비활성화됨. 이 기능은 실험입니다.
  • GitLab 17.1에서 보호 규칙 설정 Push protected up to access levelMinimum access level for push이름 변경됨.
  • GitLab 17.6에서 일반 제공. 기능 플래그 packages_protected_packages 제거.
  • GitLab 17.6에서 Conan 보호 패키지가 packages_protected_packages_conan이라는 플래그와 함께 도입됨. 기본적으로 비활성화됨. 이 기능은 실험입니다.
  • GitLab 17.9에서 Maven 보호 패키지가 packages_protected_packages_maven이라는 플래그와 함께 도입됨. 기본적으로 비활성화됨. 이 기능은 실험입니다.
  • GitLab 17.10에서 packages_protected_packages_delete라는 플래그와 함께 도입됨. 기본적으로 비활성화됨. 이 기능은 실험입니다.
  • GitLab 17.11에서 Maven 보호 패키지가 일반 제공됨. 기능 플래그 packages_protected_packages_maven 제거.
  • GitLab 17.11에서 Conan 보호 패키지가 일반 제공됨. 기능 플래그 packages_protected_packages_conan 제거.
  • GitLab 18.0에서 NuGet 보호 패키지가 packages_protected_packages_nuget이라는 플래그와 함께 도입됨. 기본적으로 비활성화됨. 이 기능은 실험입니다.
  • GitLab 18.1에서 보호된 Helm 차트가 packages_protected_packages_helm이라는 플래그와 함께 도입됨. 기본적으로 비활성화됨. 이 기능은 실험입니다.
  • GitLab 18.1에서 일반 보호 패키지가 packages_protected_packages_generic이라는 플래그와 함께 도입됨. 기본적으로 비활성화됨. 이 기능은 실험입니다.
  • GitLab 18.2에서 일반 보호 패키지가 일반 제공됨. 기능 플래그 packages_protected_packages_generic 제거.
  • GitLab 18.2에서 NuGet 보호 패키지가 일반 제공됨. 기능 플래그 packages_protected_packages_nuget 제거.
  • GitLab 18.3에서 Helm 보호 패키지가 일반 제공됨. 기능 플래그 packages_protected_packages_helm 제거.

기본적으로 Developer, Maintainer 또는 Owner 권한을 가진 사용자는 패키지를 생성, 편집 및 삭제할 수 있습니다. 패키지 보호 규칙을 추가하여 패키지 변경 가능한 사용자를 제한합니다.

GitLab은 npm, PyPI, Maven 및 Conan 패키지에 대한 패키지 보호를 지원하지만 에픽 5574에서는 추가 기능 및 패키지 형식을 추가할 것을 제안합니다.

패키지가 보호되면 기본 동작은 패키지에 대해 다음 제한을 적용합니다:

액션 최소 권한 또는 토큰
패키지 보호 Maintainer 또는 Owner 권한.
새 패키지 푸시 Minimum access level for push에 설정된 최소 권한 이상.
배포 토큰으로 새 패키지 푸시 유효한 배포 토큰. 단, 푸시된 패키지가 보호 규칙과 일치하지 않는 경우에만. 보호된 패키지는 배포 토큰으로 푸시할 수 없습니다.
패키지 삭제 Minimum access level for delete에 설정된 최소 권한 이상.

패키지 보호#

히스토리

사전 요구 사항:

  • Maintainer 또는 Owner 권한이 있어야 합니다.

패키지를 보호하려면:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Settings > Packages and registries를 선택합니다.
  3. Package registry를 확장합니다.
  4. Protected packages 아래에서 Add protection rule을 선택합니다.
  5. 필드를 완성합니다:
    • Name pattern은 보호하려는 패키지 이름 패턴입니다. 패턴에는 와일드카드(*)를 포함할 수 있습니다.
    • Package type은 보호할 패키지 유형입니다.
    • Minimum access level for push는 이름 패턴과 일치하는 패키지를 푸시하는 데 필요한 최소 권한입니다.
    • Minimum access level for delete는 이름 패턴과 일치하는 패키지를 삭제하는 데 필요한 최소 권한입니다.
  6. Protect를 선택합니다.

패키지 보호 규칙이 생성되고 설정에 표시됩니다.

여러 패키지 보호#

와일드카드를 사용하여 동일한 패키지 보호 규칙으로 여러 패키지를 보호할 수 있습니다. 예를 들어 CI/CD 파이프라인 중에 빌드된 모든 임시 패키지를 보호할 수 있습니다.

다음 표에는 여러 패키지와 일치하는 패키지 보호 규칙의 예시가 포함되어 있습니다:

와일드카드가 있는 패키지 이름 패턴 일치하는 패키지
@group/package-* @group/package-prod, @group/package-prod-sha123456789
@group/*package @group/package, @group/prod-package, @group/prod-sha123456789-package
@group/*package* @group/package, @group/prod-sha123456789-package-v1

동일한 패키지에 여러 보호 규칙을 적용할 수 있습니다. 패키지에 보호 규칙이 하나 이상 적용되면 패키지가 보호됩니다.

패키지 보호 규칙 삭제 및 패키지 보호 해제#

히스토리

사전 요구 사항:

  • Maintainer 또는 Owner 권한이 있어야 합니다.

패키지 보호를 해제하려면:

  1. 상단 바에서 Search or go to를 선택하고 프로젝트를 찾습니다.
  2. 왼쪽 사이드바에서 Settings > Packages and registries를 선택합니다.
  3. Package registry를 확장합니다.
  4. Protected packages 아래에서 삭제하려는 보호 규칙 옆의 Delete ([remove])를 선택합니다.
  5. 확인 대화 상자에서 Delete를 선택합니다.

패키지 보호 규칙이 삭제되고 설정에 표시되지 않습니다.