피드로 돌아가기
GitOps vs GitHub Actions: Security-First in Production
Dev.toDev.to
DevOps

CI/CD 분리를 통한 Cluster 자격 증명 노출 제로화 및 GitOps 기반 보안 강화

GitOps vs GitHub Actions: Security-First in Production

Max2026년 4월 11일5intermediate

Context

GitHub Actions 기반의 Imperative 배포 방식에서 Secret 오설정으로 인한 AWS Key 노출 사고 발생. CI 도구가 Production Cluster에 직접 접근하는 Push 모델의 구조적 보안 취약점 확인.

Technical Solution

  • CI(GitHub Actions)와 CD(ArgoCD)의 명확한 책임 분리를 통한 Hybrid 아키텍처 설계
  • Cluster 내부 Agent가 Git 상태를 Pull 하는 GitOps 모델 도입으로 외부 CI 시스템의 Cluster 자격 증명 제거
  • ArgoCD의 selfHeal 및 Drift Detection 기능을 통한 클러스터 상태의 일관성 강제 유지
  • External Secrets Operator 연동을 통해 Git 저장소 내 민감 정보 저장 배제 및 보안 계층 분리
  • CI 단계에서 Trivy 기반의 이미지 스캔과 OPA/Gatekeeper를 통한 Cluster 내 정책 강제 적용
  • GitHub Actions는 이미지 빌드 및 GitOps 저장소의 Tag 업데이트만 수행하는 제한적 역할 부여

1. CI 도구에서 kubectl apply 직접 실행 금지 및 GitOps 저장소 업데이트 방식으로 전환

2. GitOps 저장소에 대한 strict Branch Protection 및 필수 Reviewer 설정 적용

3. OIDC Federation 도입으로 고정 Secret 사용 최소화 및 임시 자격 증명 체계 구축

4. Trivy 등 스캐너의 exit-code: 1 설정을 통한 Critical 취약점 발견 시 배포 자동 차단

원문 읽기