CI/CD 파이프라인에서 시크릿을 안전하게 보관하는 것은 유출, 서비스 중단, 컴플라이언스 문제를 방지하는 데 매우 중요합니다. 효과적인 관리 방법은 다음과 같습니다:
- 환경 변수 사용 및 보안 Vault 시크릿을 안전하게 저장하세요.
- 액세스 권한 제한 필요한 권한만 부여하고 정기적으로 secret을 교체하세요.
- secret 스캐닝 자동화 다음과 같은 도구를 사용하여
git-secrets또는truffleHog유출을 조기에 방지하세요. - CI/CD 도구 활용 같은 GitHub 작업, GitLab CI, 또는 Jenkins를 내장된 secret 관리 기능을 위해.
- 모니터링 및 감사 상세한 logs로 secret 사용 현황을 확인하세요.
일반적인 CI/CD Secrets
- API 키
- 데이터베이스 인증 정보
- 암호화 키
- 인증 토큰
- SSL 인증서
주요 Secret 관리 플랫폼
| 플랫폼 | 기능 | 추천 대상 |
|---|---|---|
| HashiCorp Vault | 동적 시크릿, 암호화, 액세스 제어 | 대규모 운영 환경 |
| AWS Secrets Manager | AWS 통합 및 자동 로테이션 | AWS 중심의 설정 |
| Azure Key Vault | 인증서 관리 및 키 로테이션 | Microsoft 환경 |
이러한 관행을 준수하고 적절한 도구를 사용하면 CI/CD 파이프라인을 보호하고 보안 워크플로우를 유지할 수 있습니다.
시크릿 보안 가이드라인
Code에서 Secret을 안전하게 보호하세요
- 사용 환경 변수 민감한 정보를 관리하려면
- Secret을 다음의 보안 Vault에 저장하세요.
- CI/CD pipeline을 Vault에 연결하여 빌드 과정에서 인증 정보를 주입하세요.
액세스 제한 및 모니터링
각 사용자나 서비스에는 최소한의 권한만 부여하고 권한 설정을 주기적으로 검토하세요.
또한, 정기적으로 secret을 로테이션하고 다음을 유지해야 합니다. 감사 로그(audit log) 잠재적인 보안 침해를 추적하고 식별하기 위해서입니다.
통합 방법: GitLab CI 포함 HashiCorp Vault 를 사용하여 ... 가져오기
시크릿 관리 도구
보안 가이드라인이 마련되었다면, 이제 secret 관리에 특화된 도구를 도입할 차례입니다.
비밀 정보 저장 플랫폼
다음 도구들을 사용하여 모든 secret을 중앙 집중화하고 모니터링하세요:
| 플랫폼 | 기능 | 추천 대상 |
|---|---|---|
| HashiCorp Vault | Dynamic secrets, 암호화 서비스, ID 기반 액세스 | 대규모 운영 환경 |
| AWS Secrets Manager | 원활한 AWS 통합, 자동 로테이션, 세밀한 권한 제어 | AWS 중심의 설정 |
| Azure Key Vault | HSM, 인증서 관리, 키 로테이션 | Microsoft 클라우드 환경 |
스토리지 플랫폼에서 시크릿을 안전하게 보관했다면, 이제 CI/CD 도구에서 제공하는 시크릿 관리 기능을 활용해 보세요.
CI/CD 시크릿 관리
많은 CI/CD 도구들이 다음과 같은 내장 시크릿 관리 기능을 제공합니다:
- GitHub 작업: 리포지토리와 조직 레벨 모두에서 암호화된 시크릿을 제공합니다. 시크릿은 로그에서 자동으로 마스킹되며, 권한이 있는 워크플로우만 접근할 수 있습니다.
- GitLab CI: 보호된 변수와 그룹 레벨 시크릿을 제공하여, 격리 상태를 유지하면서도 프로젝트 간에 안전하게 시크릿을 공유할 수 있습니다.
- Jenkins를: 자격 증명 플러그인과 연동되며 외부 시크릿 저장소를 지원합니다. 로그에서 시크릿이 마스킹되도록 하려면 플러그인이 필요합니다.
Capgo 보안 기능

Capgo는 표준 CI/CD secret 관리 기능을 확장하여 Capacitor 앱의 Live Update 보안을 강화합니다. 종단간 암호화(E2EE)를 사용하여 권한이 있는 사용자만 민감한 데이터를 복호화할 수 있도록 보장합니다. [1].
Capgo는 GitHub Actions, GitLab CI, Jenkins와 같은 도구와 원활하게 통합됩니다. 또한 채널 기반 배포와 역할 기반 액세스 제어(RBAC)를 지원하여 Apple 및 Android 플랫폼의 업데이트 요구 사항을 모두 충족합니다.
버전 관리 시스템 내의 Secrets
자격 증명이 하드코딩되어 유출되지 않도록 리포지토리를 보호하세요. 보안 Vault 저장소부터 시작하여, code 내의 민감한 정보 유출을 차단할 추가 안전장치를 마련할 수 있습니다.
보안을 강화하는 방법은 다음과 같습니다:
- 다음과 같은 도구를 활용하세요: git-secrets 또는 pre-commit 프레임워크를 사용하여 커밋이 이루어지기 전에 문제를 잡아내세요.
- 정기적인 스캔을 실행하세요 다음과 같은 도구를 사용하여 truffleHog 또는 GitGuardian 유출된 비밀 정보가 있는지 감지하기 위해.
- CI/CD 체크 자동화 비밀 정보가 발견되면 빌드를 중단하고 플래그를 표시합니다.
다음 글에서는 노출된 비밀 정보를 효과적으로 처리하는 방법을 다룹니다.
요약
본 가이드에서는 vault storage, 자동 스캔, CI/CD 도구 통합 및 리포지토리 보호에 대해 살펴보았습니다. Capgo는 종단간 암호화와 원활한 CI/CD 통합을 통해 보안과 빠른 배포를 동시에 실현합니다.[1].
안전한 비밀 정보 관리를 위한 핵심 포인트:
- vault storage 사용: 저장 및 전송 시 모두 암호화를 제공하는 플랫폼을 활용하세요.
- 보안 체크 자동화: 스캐닝 도구를 도입하여 secret 노출을 조기에 식별하세요.
- 활동 추적 및 모니터링: secret 접근 및 수정에 대한 상세한 audit logs를 유지하세요.
- 사고 대응 준비: secret 노출 시 대응 프로세스를 구축하고, 필요 시 변경 사항을 롤백할 수 있도록 준비하세요.
효율적인 secret 관리는 보안을 단순한 장애물이 아닌, 지속적 배포를 지원하는 시스템으로 변화시킵니다.
Managing Secrets in CI/CD Pipelines 다음 글 보기
사용 중이라면 CI/CD Pipeline에서 Secret 관리하기 보안 및 컴플라이언스 계획을 세우려면, 다음 항목과 연결하세요: 암호화 암호화 구현 상세 정보: 컴플라이언스 컴플라이언스 구현 상세 정보: Capgo 보안 스캐너 Capgo Security Scanner 제품 워크플로우: Capgo 보안 Capgo Security 제품 워크플로우 및 Capgo 신뢰 센터 Capgo Trust Center 제품 워크플로우: