`kv metadata` — 버전·메타데이터 관리하기
kv metadata — 버전·메타데이터 관리하기
참고: 이 명령어는 KV 버전 2 시크릿 엔진 전용이며, 버전 1에서는 사용할 수 없어요.
vault kv metadata는 지정한 경로의 버전 시크릿(KV 버전 2 시크릿 엔진)에 대한 메타데이터와 버전을 다루기 위한 하위 명령어들을 가진 명령어예요.
출처: 문서
본문
사용법 (Usage)
Usage: vault kv metadata <subcommand> [options] [args]
# ...
Subcommands:
delete Deletes all versions and metadata for a key in the KV store
get Retrieves key metadata from the KV store
put Sets or updates key settings in the KV store
kv metadata delete
vault kv metadata delete는 지정한 키의 모든 버전과 메타데이터를 삭제해요.
예시
"creds" 키의 모든 버전과 메타데이터를 삭제해요:
$ vault kv metadata delete -mount=secret creds
Success! Data deleted (if it existed) at: secret/metadata/creds
kv metadata get
vault kv metadata get은 주어진 키 이름의 버전 시크릿 메타데이터를 조회해요. 그 이름의 키가 없으면 오류를 반환해요.
예시
"creds" 키의 메타데이터를 조회해요:
$ vault kv metadata get -mount=secret creds
=== Metadata Path ===
secret/metadata/creds
========== Metadata ==========
Key Value
--- -----
cas_required false
created_time 2019-06-28T15:53:30.395814Z
current_version 5
delete_version_after 0s
max_versions 0
oldest_version 0
updated_time 2019-06-28T16:01:47.40064Z
====== Version 1 ======
Key Value
--- -----
created_time 2019-06-28T15:53:30.395814Z
deletion_time n/a
destroyed false
====== Version 2 ======
Key Value
--- -----
created_time 2019-06-28T16:01:36.676912Z
deletion_time n/a
destroyed false
...
kv metadata put
vault kv metadata put은 KV v2 시크릿 엔진에 빈 키를 만들거나, 지정한 키의 키 설정(key configuration)을 업데이트할 때 사용해요.
예시
"creds" 키에 데이터 없이 KV v2 키를 만들어요:
$ vault kv metadata put -mount=secret creds
Success! Data written to: secret/metadata/creds
"creds" 키에 대해 유지할 최대 버전 수를 설정해요:
$ vault kv metadata put -mount=secret -max-versions=5 creds
Success! Data written to: secret/metadata/creds
참고: 설정하지 않으면 백엔드가 구성한 최대 버전을 사용해요. 키가 구성된 허용 버전 수를 초과하면 가장 오래된 버전이 영구 삭제돼요.
"creds" 키에 Check-and-Set을 요구하게 해요:
$ vault kv metadata put -mount=secret -cas-required creds
참고: check-and-set을 요구하면, 모든 쓰기 요청에
cas파라미터를 설정해야 해요. 그렇지 않으면 백엔드 구성을 사용해요.
"creds" 키에 대해 버전이 삭제되기 전까지의 시간을 설정해요:
$ vault kv metadata put -mount=secret -delete-version-after="3h25m19s" creds
참고: 설정하지 않으면 백엔드가 구성한 Delete-Version-After를 사용해요. 백엔드의 값보다 큰 기간으로 설정하면 백엔드의 Delete-Version-After 설정을 사용해요. Delete-Version-After 설정 변경은 새 버전에만 적용돼요.
출력 옵션 (Output options)
-format(string: "table") — 출력 형식을 지정해요. 유효한 값은"table","json","yaml"이에요.VAULT_FORMAT환경 변수로도 지정할 수 있어요.
하위 명령어 옵션 (Subcommand options)
-cas-required(bool: false) —true면 모든 쓰기 요청에cas파라미터를 설정해야 해요.false면 백엔드 구성을 사용해요. 기본값은false예요.-max-versions(int: 0) — 키별로 유지할 버전 수를 지정해요. 설정하지 않으면 백엔드가 구성한 최대 버전을 사용해요. 키가 구성된 허용 버전 수를 초과하면 가장 오래된 버전이 영구 삭제돼요.-delete-version-after(string: "0s") — 이 키에 작성되는 모든 새 버전의deletion_time을 지정하기 위해 기간(duration) 값으로 설정해요. 설정하지 않으면 백엔드의delete_version_after를 사용해요. 값이 백엔드의delete_version_after보다 크면 백엔드의 값을 사용해요. 기간 형식 문자열을 받아요.-custom-metadata(string: "") —custom_metadata필드에 대한 키-값 쌍을 지정해요. 여러 메타데이터를 추가하려면 이 옵션을 여러 번 지정할 수 있어요.-mount(string: "") — KV 백엔드가 마운트된 경로를 지정해요. 이 값이 있으면 그 다음 인자는 시크릿 경로로 해석돼요. 이 플래그가 없으면 그 다음 인자는 마운트 경로와 시크릿 경로가 합쳐진 것으로 해석되며, KV v2 시크릿에는/data/가 자동으로 삽입돼요.
더 알아보기 (Learn more)
vault kv get— 데이터 조회vault kv put— 데이터 작성vault kv rollback— 이전 버전으로 롤백