키/값 v2에서 최대 데이터 버전 설정하기

키/값 v2에서 최대 데이터 버전 설정하기

kv v2 시크릿 경로의 활성 버전 수를 제한해서, Vault가 오래된 데이터 버전을 자동으로 영구 삭제(destroy)하도록 해요.

전제 조건(Assumptions)

  • kv v2 플러그인을 설정했어요.
  • 인증 토큰에 kv v2 플러그인에 대한 createupdate 권한이 있어요.

출처: 문서

본문

CLI

vault kv metadata put을 사용해 kv 마운트 경로에 허용되는 최대 버전 수를 변경해요.

$ vault kv metadata put          \
   -max-versions <max_versions>  \
   -mount <mount_path>           \
   <secret_path>

예를 들어:

$ vault kv metadata put \
   -max-versions 5      \
   -mount shared        \
   dev/square-api
Success! Data written to: shared/metadata/dev/square-api

이제 버전 수가 5를 초과하면 Vault가 데이터를 자동으로 삭제해요.

$ vault kv metadata get -mount shared dev/square-api
======== Metadata Path ========
shared/metadata/dev/square-api
========== Metadata ==========
Key                     Value
---                     -----
cas_required            false
created_time            2024-11-13T21:51:50.898782695Z
current_version         9
custom_metadata         <nil>
delete_version_after    0s
max_versions            5
oldest_version          5
updated_time            2024-11-15T03:10:26.749233814Z

max_versions 값을 5로 설정하면 버전 1~4가 자동으로 제거돼 oldest_version이 5가 되는 모습을 확인할 수 있어요.

GUI

Vault GUI에서 시크릿 경로의 Metadata 탭을 열고, Max versions 값을 설정해 저장하면 같은 동작을 수행할 수 있어요.

API

/{plugin_mount_path}/metadata/{secret_path}POST 호출을 보내 max_versions 필드를 설정할 수 있어요.

더 알아보기 (Learn more)

  • kv v2 플러그인 설정 방법을 살펴보세요.
  • KV v2 플러그인 API 문서에서 metadata 엔드포인트를 확인해 보세요.