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 페이지에서 시크릿 엔진 작업과 저장 데이터 형식을 확인해 보세요.