#DevOps

여기어때 Secret 플랫폼 구축기 Part 1: 왜 시크릿 저장소를 만들었는가

여기어때 Secret 플랫폼 구축기 Part 1: 왜 시크릿 저장소를 만들었는가
01

Summary

DB 암호가 코드에? 여기어때가 'Secrethub'로 시크릿 지옥을 탈출한 방법

파편화된 민감 정보를 플랫폼으로 중앙화하여 보안과 개발 생산성을 동시에 잡은 DevOps의 여정

프로젝트 규모가 커질수록 감당하기 힘든 민감 정보 관리 문제를 해결하기 위해 여기어때 DevOps팀이 직접 구축한 'Secrethub' 플랫폼의 탄생 배경을 다룹니다. 단순히 저장 위치를 옮기는 것을 넘어, 시크릿을 '직접 관리하는 값'에서 '안전하게 주입되는 자원'으로 재정의한 과정을 보여줍니다. 특히 외부 솔루션의 한계를 넘기 위해 자체 Java 라이브러리를 개발한 의사결정 포인트가 핵심입니다.

  • 01중앙 플랫폼 중심의 정책 기반 시크릿 관리 체계 구축
  • 02기존 사내 계정 체계와 연동하여 온보딩/오프보딩 운영 리소스 절감
  • 03순수 Java 기반 Loader 개발로 Spring Boot 버전 및 인프라 환경 제약 극복
  • 04개발자의 시크릿 인지 부담을 제거하여 비즈니스 로직 집중도 향상
  • 05누가, 언제, 어떤 정보에 접근했는지 완벽한 감사 로그 및 이력 추적 구현

RECOMMENDATION

마이크로서비스 아키텍처(MSA) 환경에서 수많은 시크릿 관리와 권한 통제에 어려움을 겪는 DevOps 엔지니어나 보안 담당자에게 추천합니다. 특히 기존 인프라 환경이 복잡하여 기성 솔루션 도입 시 계정 연동이나 환경별 설정이 고민인 팀에게 훌륭한 레퍼런스가 될 것입니다.

The Problem

서비스와 프로젝트가 증가함에 따라 DB 비밀번호 및 API Key 등 민감 정보가 각 프로젝트에 파편화되어 관리되는 문제가 발생했습니다. 이로 인해 누가 어떤 정보에 접근했는지에 대한 감사 추적이 어려워졌고, 입퇴사자 발생 시 권한 관리의 복잡도가 증가하며 개발자들의 인지 부담이 가중되었습니다.

The Solution

중앙 집중형 민감 정보 관리 플랫폼인 'Secrethub'를 구축하고, 기존 사내 계정 체계와 연동하여 인증 및 권한 관리를 일원화했습니다. 또한 특정 프레임워크나 버전에 의존하지 않도록 순수 Java 기반의 'Secrethub Loader' 라이브러리를 개발하여 EKS, EC2, 로컬 등 다양한 실행 환경에서 일관되게 시크릿을 주입할 수 있는 구조를 마련했습니다.

The Result

민감 정보 관리의 주체가 개별 프로젝트에서 중앙 플랫폼으로 전환되어 보안 정책 기반의 통합 관리가 가능해졌습니다. 개발자는 더 이상 실제 시크릿 값을 인지하거나 직접 관리할 필요 없이 개발에만 집중할 수 있게 되었으며, 모든 접근 및 변경 이력에 대한 투명한 감사 체계를 확보했습니다.

Trade-off

본문에 구체적으로 명시되지는 않았으나, 상용 솔루션(AWS Secrets Manager, HashiCorp Vault 등)을 도입하는 대신 자체 플랫폼을 구축함에 따라 초기 개발 리소스 투입과 지속적인 유지보수 책임이 내부 팀에 부여되는 트레이드오프가 존재합니다. 또한 자체 라이브러리인 Secrethub Loader의 버전 관리 및 전사 프로젝트 적용을 위한 기술 지원 비용이 발생할 수 있습니다.

03

Key Concepts

Concept · 01

Secret Management

데이터베이스 접속 정보, API 키, 인증 토큰 등 노출 시 보안 위협이 되는 민감 정보를 안전하게 저장하고 통제하는 프로세스입니다.

  • 코드나 설정 파일에서 민감 정보를 분리하여 중앙 플랫폼에서 관리함
  • 정책과 권한에 따라 승인된 사용자 및 서비스만 정보에 접근하도록 제한함
Concept · 02

Centralized Credential Management

여러 서비스와 팀에 흩어진 인증 정보(Credential)를 한곳에 모아 통합된 권한 정책을 적용하고 관리하는 방식입니다.

  • 신규 입사자나 퇴사자 발생 시 각 프로젝트별로 권한을 조정할 필요 없이 중앙에서 제어
  • 접근 이력을 일원화하여 보안 감사 시 가시성 확보
Concept · 03

Secrethub Loader

다양한 런타임 환경에서 중앙 저장소의 시크릿을 안전하게 불러오기 위해 여기어때에서 자체 개발한 라이브러리입니다.

  • 특정 프레임워크 의존성을 제거한 순수 Java 기반으로 구현하여 호환성 극대화
  • EKS, EC2 등 서로 다른 인프라 환경에서도 일관된 시크릿 주입 인터페이스 제공