GitLab Secrets Manager로 CI/CD 시크릿 유출 막기
5
AI 요약

이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.

이 게시물은 GitLab CI/CD에서 시크릿 유출을 막기 위한 방법으로 Secrets Manager를 소개합니다.

마스킹 변수의 한계

  • Mask variable은 원본 값과 정확히 일치하는 문자열만 가려서 base64 등으로 변형하면 로그에 그대로 노출됨
  • CI/CD 변수는 기본적으로 모든 job에 주입되어 파이프라인 접근 권한이 있으면 값 열람 가능

시크릿 유출 원인과 방치 시 위험

  • 유출 지점은 코드/설정파일, CI/CD 변수, 로그, 상시·고아 크리덴셜
  • 방치 시 침해 확산, 감사 추적 실패, 규제 증빙 부담 증가

GitLab Secrets Manager의 동작 방식

  • OpenBao 기반으로 시크릿을 GitLab 내 암호화 저장하고 job이 요청할 때만 신원 증명 후 수령
  • 명시적으로 요청한 job에만 주어지며 실행 후 폐기되어 범위와 미잔존을 줄임

도입 시 유의 사항

  • 로그 마스킹은 변수와 같은 한계가 있어 변형 우회 가능하므로 ‘가림’이 아니라 ‘범위 한정/폐기/감사’가 핵심
  • 단기(Keyless) 자격이 필요하면 OIDC로 보완, 범위 밖 인프라 접근은 별도 도구 필요, 비활성화 시 영구 삭제 고려

연관 게시글