키/값 데이터 영구 삭제(Destroy)

키/값 데이터 영구 삭제(Destroy)

표준 vault kv delete 명령은 소프트 삭제를 수행해요. CLI나 GUI를 사용해 데이터를 영구 삭제(destroy)하면 Vault가 기반 데이터를 제거하고 destroyed 메타데이터 필드를 true로 설정해요.

전제 조건(Assumptions)

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

출처: 문서

본문

CLI

-versions 플래그와 함께 vault kv destroy를 사용해 키/값 데이터의 하나 이상 버전을 영구 삭제해요.

$ vault kv destroy              \
   -mount <mount_path>          \
   -versions <target_versions>  \
   <secret_path>

예를 들어:

$ vault kv destroy -mount shared -versions 2,3 dev/square-api
Success! Data written to: shared/destroy/dev/square-api

이제 버전 2와 3의 destroyed 메타데이터 필드는 true예요.

$ 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         4
custom_metadata         <nil>
delete_version_after    0s
max_versions            5
oldest_version          0
updated_time            2024-11-14T22:32:42.29534643Z

...

====== Version 2 ======
Key              Value
---              -----
created_time     2024-11-13T21:52:10.326204209Z
deletion_time    n/a
destroyed        true

====== Version 3 ======
Key              Value
---              -----
created_time     2024-11-13T21:58:32.128442898Z
deletion_time    n/a
destroyed        true

GUI

Vault GUI에서 해당 시크릿 경로의 Secret 탭을 열고, 영구 삭제할 버전을 선택한 뒤 destroy 동작을 수행할 수도 있어요.

API

/{plugin_mount_path}/destroy/{secret_path}POST 호출을 보내 데이터 버전을 영구 삭제할 수 있어요. versions 요청 파라미터에 대상 버전을 콤마로 구분해 지정해요.

더 알아보기 (Learn more)

  • kv v2 플러그인 설정 방법을 살펴보세요.
  • 소프트 삭제(delete)와 소프트 삭제 복원(undelete) 방법을 확인해 보세요.
  • KV v2 플러그인 API 문서에서 destroy 엔드포인트를 확인해 보세요.