키/값 데이터 소프트 삭제(Soft delete)

키/값 데이터 소프트 삭제(Soft delete)

소프트 삭제를 사용해 시크릿 경로의 데이터를 사용 불가로 표시하면서도 복구 가능한 상태로 남겨 둬요. 메타데이터의 destroyed 필드가 false인 한 소프트 삭제를 되돌릴 수 있어요.

전제 조건(Assumptions)

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

출처: 문서

본문

CLI

-versions 플래그와 함께 vault kv delete를 사용해 키/값 데이터의 하나 이상 버전을 소프트 삭제하고 메타데이터에 deletion_time을 설정해요.

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

예를 들어:

$ vault kv delete -mount shared -versions 1,4 dev/square-api
Success! Data deleted (if it existed) at: shared/data/dev/square-api

버전 1과 4의 deletion_time 메타데이터 필드에는 이제 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         4
custom_metadata         <nil>
delete_version_after    0s
max_versions            5
oldest_version          0
updated_time            2024-11-14T22:32:42.29534643Z

====== Version 1 ======
Key              Value
---              -----
created_time     2024-11-13T21:51:50.898782695Z
deletion_time    2024-11-15T00:45:04.057772212Z
destroyed        false

...

====== Version 4 ======
Key              Value
---              -----
created_time     2024-11-14T22:32:42.29534643Z
deletion_time    2024-11-15T00:45:04.057772712Z
destroyed        false

GUI

시크릿 경로에 대해 소프트 삭제를 수행할 수도 있어요. Vault GUI에서 해당 시크릿 경로의 Secret 탭을 열고, 삭제할 버전을 선택한 뒤 삭제 동작을 수행하면 됩니다.

API

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

더 알아보기 (Learn more)

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