KV 시크릿 엔진 개요
KV 시크릿 엔진 개요
KV(KV Version) 시크릿 엔진은 Vault의 네이티브 키-값 저장소로, 간단한 구성 형식을 사용해 구성된 물리적 저장소 안에 임의의 시크릿을 저장해요.
- KV v1: 시크릿은 평면(flat) 구조로 저장되는 키-값 쌍이에요.
- KV v2: 시크릿은 경로(path)를 사용해 평면 또는 중첩(nested) 구조로 저장되는 키-값 쌍이에요.
KV는 데이터를 동적으로 생성하거나 다른 시스템에서 참조하지 않고 직접 저장할 수 있어서 범용 시크릿 엔진(generic secrets engine) 으로 알려져 있어요. KV 시크릿은 다음에 사용할 수 있어요.
- Vault를 사용한 안내된 시크릿 관리 설정이 필요한 애플리케이션
- 인프라를 구축하는 동안 빠르고 단순한 시크릿 저장이 필요한 애플리케이션
- 코드에서 Vault로 시크릿을 쓰고 계층 구조로 더 복잡한 데이터를 저장하려는 개발자
출처: 문서
본문
KV 시크릿 엔진 버전(KV secrets engine versions)
Vault 1.9부터 새 KV 마운트의 기본은 KV v2예요. 새 KV 엔진을 마운트하면 기본적으로 KV v2가 됩니다.
Vault 1.9 이상에서 현재 기본 마운트 버전을 확인하려면 다음을 실행해요.
$ vault secrets list -detailed | grep "^kv "
자세한 내용은 Secrets engine mount options(-path, -description 등 지원 옵션 목록)를 참고하세요.
KV v1 vs KV v2 비교(Comparison: KV v1 vs KV v2)
| KV v1 | KV v2 | |
|---|---|---|
| 범위(Scope) | K-V 쌍을 평면으로 저장. | 키-값 쌍을 평면 또는 중첩 경로로 저장. |
| 작업 예시(Operation example) | kv/ 마운트: vault secrets enable -version=1 -path=kv kv; 쓰기: vault kv put kv/hello foo=world; 읽기: vault kv get kv/hello |
secret/ 마운트: vault secrets enable -version=2 -path=secret kv; 쓰기: vault kv put secret/hello foo=world; 읽기: vault kv get secret/hello |
| 작업(Operations) | KV v1 API에 GET/PUT/DELETE/LIST. | KV v2 API 위에 GET/POST/DELETE와 LIST. |
| 키 삭제(Deleting a key) | 키 경로로 키 삭제: vault kv delete kv/hello |
키 경로로 키 삭제: vault kv delete secret/hello; 그리고 소프트/하드 삭제 옵션. |
| 버전 관리(Versioning) | 없음. 최신 버전만. | 모든 버전 저장; 롤백, 버전 기록 읽기, 복원 기능. CAS와 delete/undelete 옵션 지원. |
더 알아보기 (Learn more)
- KV v1 시크릿 엔진에 대해: secrets/kv/kv-v1
- KV v2 시크릿 엔진에 대해: secrets/kv/kv-v2
- KV Store API 페이지에서 시크릿 엔진 작업과 저장 데이터 형식을 확인해 보세요.