
파편화된 민감 정보를 플랫폼으로 중앙화하여 보안과 개발 생산성을 동시에 잡은 DevOps의 여정
프로젝트 규모가 커질수록 감당하기 힘든 민감 정보 관리 문제를 해결하기 위해 여기어때 DevOps팀이 직접 구축한 'Secrethub' 플랫폼의 탄생 배경을 다룹니다. 단순히 저장 위치를 옮기는 것을 넘어, 시크릿을 '직접 관리하는 값'에서 '안전하게 주입되는 자원'으로 재정의한 과정을 보여줍니다. 특히 외부 솔루션의 한계를 넘기 위해 자체 Java 라이브러리를 개발한 의사결정 포인트가 핵심입니다.
마이크로서비스 아키텍처(MSA) 환경에서 수많은 시크릿 관리와 권한 통제에 어려움을 겪는 DevOps 엔지니어나 보안 담당자에게 추천합니다. 특히 기존 인프라 환경이 복잡하여 기성 솔루션 도입 시 계정 연동이나 환경별 설정이 고민인 팀에게 훌륭한 레퍼런스가 될 것입니다.
서비스와 프로젝트가 증가함에 따라 DB 비밀번호 및 API Key 등 민감 정보가 각 프로젝트에 파편화되어 관리되는 문제가 발생했습니다. 이로 인해 누가 어떤 정보에 접근했는지에 대한 감사 추적이 어려워졌고, 입퇴사자 발생 시 권한 관리의 복잡도가 증가하며 개발자들의 인지 부담이 가중되었습니다.
중앙 집중형 민감 정보 관리 플랫폼인 'Secrethub'를 구축하고, 기존 사내 계정 체계와 연동하여 인증 및 권한 관리를 일원화했습니다. 또한 특정 프레임워크나 버전에 의존하지 않도록 순수 Java 기반의 'Secrethub Loader' 라이브러리를 개발하여 EKS, EC2, 로컬 등 다양한 실행 환경에서 일관되게 시크릿을 주입할 수 있는 구조를 마련했습니다.
민감 정보 관리의 주체가 개별 프로젝트에서 중앙 플랫폼으로 전환되어 보안 정책 기반의 통합 관리가 가능해졌습니다. 개발자는 더 이상 실제 시크릿 값을 인지하거나 직접 관리할 필요 없이 개발에만 집중할 수 있게 되었으며, 모든 접근 및 변경 이력에 대한 투명한 감사 체계를 확보했습니다.
Trade-off
본문에 구체적으로 명시되지는 않았으나, 상용 솔루션(AWS Secrets Manager, HashiCorp Vault 등)을 도입하는 대신 자체 플랫폼을 구축함에 따라 초기 개발 리소스 투입과 지속적인 유지보수 책임이 내부 팀에 부여되는 트레이드오프가 존재합니다. 또한 자체 라이브러리인 Secrethub Loader의 버전 관리 및 전사 프로젝트 적용을 위한 기술 지원 비용이 발생할 수 있습니다.
데이터베이스 접속 정보, API 키, 인증 토큰 등 노출 시 보안 위협이 되는 민감 정보를 안전하게 저장하고 통제하는 프로세스입니다.
여러 서비스와 팀에 흩어진 인증 정보(Credential)를 한곳에 모아 통합된 권한 정책을 적용하고 관리하는 방식입니다.
다양한 런타임 환경에서 중앙 저장소의 시크릿을 안전하게 불러오기 위해 여기어때에서 자체 개발한 라이브러리입니다.




