파이프라인 보안

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

비밀 관리

비밀 관리는 개발자가 민감한 데이터를 안전한 환경에서 엄격한 액세스 제어와 함께 안전하게 저장하기 위해 사용하는 시스템입니다. 비밀은 기밀로 유지해야 하는 민감한 자격 증명입니다. 비밀의 예는 다음과 같습니다:

  • 비밀번호
  • SSH 키
  • 액세스 토큰
  • 노출될 경우 조직에 해로운 결과를 초래할 수 있는 기타 유형의 자격 증명

비밀 저장소

비밀 관리 제공자

가장 민감한 비밀과 가장 엄격한 정책에 의해 관리되는 비밀은 비밀 관리자에 저장해야 합니다. 비밀 관리자 솔루션을 사용할 때 비밀은 GitLab 인스턴스 외부에 저장됩니다. 이 분야에는 여러 제공자가 있으며, 그 중 일부는 HashiCorp의 Vault, Azure Key Vault, Google Cloud Secret Manager입니다.

필요할 때 CI/CD 파이프라인에서 이러한 비밀을 검색하려면 특정 외부 비밀 관리 제공자에 대해 GitLab 기본 통합을 사용할 수 있습니다.

CI/CD 변수

CI/CD 변수는 CI/CD 파이프라인에서 데이터를 저장하고 재사용하는 편리한 방법이지만, 변수는 비밀 관리 제공자보다 보안이 덜합니다. 변수 값은:

  • GitLab 프로젝트, 그룹 또는 인스턴스 설정에 저장됩니다. 설정에 접근할 수 있는 사용자는 변수를 사용할 수 있습니다.
  • 덮어쓸 수 있어 어떤 값이 사용되었는지 파악하기 어렵습니다.
  • 우발적인 파이프라인 잘못 구성으로 노출될 수 있습니다.

변수에 저장하기 적합한 정보는 노출되어도 위험이 없는 데이터(비민감)여야 합니다.

민감한 데이터는 비밀 관리 솔루션에 저장해야 합니다. CI/CD 변수에 저장하고자 하는 낮은 민감도 데이터를 항상 다음과 같이 처리해야 합니다: