본문 바로가기
system_fundamentals/security_cryptography

Vault

by 죄니안죄니 2026. 5. 20.
반응형
Vault
VaultVault
 
 

HashiCorp Vault 는 한 줄로 말하면:

"비밀번호·API 키·JWT Secret 같은 민감정보를
중앙에서 안전하게 관리하는 시스템"
 

이다.

실무에서는 거의:

Secret 전용 금고
 

처럼 생각하면 된다.


왜 Vault가 필요하냐?

예전에는:

application.yml
.env
환경변수
 

같은 곳에 Secret 저장했다.

 

문제

운영 규모 커지면:

  • Secret 수백 개
  • 서버 수십~수백 대
  • Rotation 필요
  • 접근권한 관리 필요

해진다.

 

예시 문제

DB 비밀번호 바꾸려는데
서버 50대 수정해야 함
 

또는

누가 Secret 봤는지 추적 불가
 

 

그래서 Vault 등장

핵심 아이디어:

Secret을 중앙 서버에서 관리
 

 

기본 구조

Application
↓
Vault
↓
DB/API/Cert
 

 

즉 앱은

Vault에서 Secret 가져와 사용
 

한다.


Vault 핵심 기능

1. Secret 저장

예:

DB Password
JWT Secret
OAuth Secret
 

암호화 저장.

2. Access Control

누가 어떤 Secret 볼 수 있는지 제어.

3. Audit Log

누가 언제 Secret 조회했는가
 

기록.

4. Rotation

Secret 자동 교체.

5. Dynamic Secret

엄청 중요한 기능.

 

Dynamic Secret이 뭐냐?

Vault가:

실시간으로 임시 계정 생성
 

한다.

예시

앱이 Vault 요청:

DB 접속 계정 주세요
 

Vault가 생성

user_abc123
expire=30m
 
30분 후 자동 삭제.

 

왜 엄청 좋냐?

유출돼도:

짧은 시간만 사용 가능
 

하다.


Static Secret vs Dynamic Secret

방식 특징
Static 고정 비밀번호
Dynamic 임시 자동 생성

Vault가 유명한 이유

단순 저장소가 아니라:

Secret Lifecycle 전체 관리
 

하기 때문.


실제 동작 흐름

STEP 1 — App 인증

앱이 Vault에:

"나 누구다"
 

인증.

인증 방법

방식
Token 개발
Kubernetes Auth K8s
AWS IAM Cloud
AppRole 서버앱

 

STEP 2 — Vault 권한 확인

정책(policy) 검사.

예:

order-service는
db/order만 접근 가능
 

 

STEP 3 — Secret 반환

앱이 받아 사용.


Vault 내부 구조

Storage Backend

Vault 데이터 저장소.

예:

  • Consul
  • Raft
  • DynamoDB

Seal/Unseal

엄청 중요.

Vault는 시작 시:

암호화 상태(sealed)
 

다.


Unseal 필요

관리자 키 일부 모아서 해제.


왜 이렇게 하냐?

운영자가:

서버 파일만 탈취해도
Secret 못 읽게
 

하기 위해.


Shamir Secret Sharing 사용

키를 조각내 관리.

예:

5개 중 3개 모이면 해제
 

Kubernetes에서 엄청 많이 씀

예:

  • DB Password
  • TLS Key
  • API Key

등 중앙 관리.


Vault Agent도 많이 사용

앱 대신 Secret 자동 갱신.


Spring Boot 연동

실무에서 많이 사용.

예:

  • Spring Cloud Vault

설정 예시

 
spring:
  cloud:
    vault:
      uri: http://vault:8200
 

앱 코드에서는

 
@Value("${db.password}")
 

처럼 사용 가능.


Vault vs 환경변수

항목 환경변수 Vault
중앙관리 X O
Rotation 어려움 쉬움
Audit 거의 없음 O
Dynamic Secret X O
권한관리 제한적 강력

단점도 있음

운영 복잡

Vault 자체가:

고가용성
백업
Unseal
정책
 

관리 필요.

 

장애 시 영향 큼

Vault 죽으면:

Secret 조회 실패
 

가능.

 

그래서 보통 HA 구성

  • Active/Standby
  • Raft Cluster

사용.


실무 추천


규모 추천
소규모 env/.env
중간 Cloud Secret Manager
대규모 Vault

현재 트렌드

클라우드 네이티브 환경에서는:

  • AWS Secrets Manager
  • GCP Secret Manager

도 엄청 많이 사용.


핵심 한 줄

Vault는:

비밀번호·API 키·인증서 같은 Secret을
중앙에서 암호화 저장하고,
접근제어·감사·자동교체·동적 발급까지 관리하는
엔터프라이즈급 Secret 관리 시스템
 

이다.

반응형

'system_fundamentals > security_cryptography' 카테고리의 다른 글

Zero Trust  (0) 2026.05.20
환경변수 보안  (0) 2026.05.20
Secret 관리  (0) 2026.05.20
Clickjacking  (0) 2026.05.19
SSRF  (0) 2026.05.19

댓글