
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로 보완, 범위 밖 인프라 접근은 별도 도구 필요, 비활성화 시 영구 삭제 고려
