Vault란 무엇인가
Vault란 무엇인가 (What is Vault?)
애플리케이션은 자격증명·암호화 키·인증서 같은 **시크릿(secret)**을 써서 동작해요. 그런데 이걸 코드에 하드코딩하거나 환경별로 흩어두면 유출 위험이 커져요. Vault는 시크릿을 중앙에서 관리하고, 잘 감사되는 접근 통제를 제공하는 도구예요.
출처: https://developer.hashicorp.com/vault/docs/what-is-vault
시크릿이란 민감하고 개별적인 정보 조각이에요. 자격증명(certifications), 암호화 키, 인증 인증서 등 애플리케이션이 안정적으로 실행되기 위해 필요한 정보를 말해요. Vault로 할 수 있는 일은 다양해요.
- 정적 시크릿(static secrets) 관리
- 인증서 관리
- 아이덴티티·인증 관리
- 서드파티 시크릿 관리(플러그인으로)
- 민감 데이터 관리
- 규제 컴플라이언스 지원
Vault는 데이터를 저장 시(at rest) 암호화하고, 요청 접근을 구성 가능한 인증·인가 방식으로 막아요. 동작 흐름은 이래요. (1) 클라이언트가 수동 토큰, LDAP 같은 프로토콜, 또는 Azure·AWS 같은 서드파티 제공자로 인증하고, (2) Vault가 클라이언트 요청을 내부 엔터티와 보안 정책에 연결하는 액세스 토큰을 만들고, (3) 클라이언트가 Vault에 마운트된 리소스 경로를 기준으로 시크릿·암호화 작업을 하고, (4) Vault가 정책에 따라 승인 여부를 판단해요. 그리고 모든 활동은 인증·인가 성공 여부와 무관하게 감사 로그에 남겨요.
Vault의 확장성은 플러그인에서 나와요. 인증 플러그인(클라이언트 접근 통제), 일반 시크릿 플러그인(민감 정보 생성·저장·관리·변환), 데이터베이스 시크릿 플러그인(동적 자격증명 관리) 같은 것들이 있어요. 저장소는 통합(integrated), 외부(외부 DB), 인메모리(개발용) 세 종류를 지원하며, 대부분 배포에선 통합 저장소를 권장해요 — HA와 엔터프라이즈 복제 기능을 서드파티 의존 없이 지원하거든요. 시크릿 관리 요구가 단순하다면 Vault보다 관리형인 HCP Vault Dedicated가 더 적합할 수 있어요.
더 알아보기
- Vault 작동 원리: How Vault works
- 내부 설계·아키텍처: Internals