키/값 데이터 소프트 삭제(Soft delete)
키/값 데이터 소프트 삭제(Soft delete)
소프트 삭제를 사용해 시크릿 경로의 데이터를 사용 불가로 표시하면서도 복구 가능한 상태로 남겨 둬요. 메타데이터의 destroyed 필드가 false인 한 소프트 삭제를 되돌릴 수 있어요.
전제 조건(Assumptions)
kvv2 플러그인을 설정했어요.- 인증 토큰에
kvv2 플러그인에 대한create와update권한이 있어요.
출처: 문서
본문
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 엔드포인트를 확인해 보세요.