파이프라인 보안

비밀 관리

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

  • 비밀번호
  • SSH 키
  • 액세스 토큰
  • 조직에 해로운 노출이 될 수 있는 기타 자격 증명 유형

비밀 저장

비밀 관리 제공 업체

가장 민감하고 엄격한 정책을 적용해야 하는 비밀은 비밀 관리자에 저장되어야 합니다. 비밀 관리자 솔루션을 사용할 때, 비밀은 GitLab 인스턴스 외부에 저장됩니다. 이 공간에는 HashiCorp의 Vault, Azure Key Vault, Google Cloud Secret Manager를 포함한 여러 제공 업체가 있습니다.

특정 외부 비밀 관리 제공 업체에 대한 GitLab 네이티브 통합을 사용하여 필요할 때 CI/CD 파이프라인에서 해당 비밀을 검색할 수 있습니다.

CI/CD 변수

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

  • GitLab 프로젝트, 그룹 또는 인스턴스 설정에 저장됩니다. 설정에 액세스 권한이 있는 사용자는 변수에 액세스할 수 있습니다.
  • 재정의될 수 있어서 사용된 값이 무엇인지 알아내기 힘듭니다.
  • 우연한 파이프라인 구성 오류로 노출될 수 있습니다.

변수에 저장하기에 적합한 정보는 민감하지 않은 이용이 가능한 데이터여야 합니다(비민감).

민감한 데이터는 비밀 관리 솔루션에 저장되어야 합니다. CI/CD 변수에 저장하고자 하는 낮은 민감성 데이터가 있는 경우, 항상 다음 사항을 준수해야 합니다: