`operator rekey` — 언실 키 재생성하기

operator rekey — 언실 키 재생성하기

vault operator rekey은 새 언실 키(unseal key) 집합을 생성하는 명령어예요. 선택적으로 루트 키를 재구성하기 위한 총 키 공유 수나 필수 임계값을 변경할 수 있어요. 이 작업은 무중단(zero downtime)이지만, Vault가 언실되어 있고 기존 언실 키의 쿼럼이 제공되어야 해요.

언실 키를 명령어 인자로 명령줄에 직접 제공할 수 있어요. 키를 "-"로 지정하면 명령어가 표준 입력에서 읽어요. TTY를 사용할 수 있으면 텍스트를 프롬프트로 입력받아요.

출처: 문서

본문

예시 (Examples)

rekey를 초기화해요:

$ vault operator rekey \
    -init \
    -key-shares=15 \
    -key-threshold=9

Vault 클러스터에 Auto Unseal을 사용할 때 rekey를 초기화해요:

$ vault operator rekey \
    -target=recovery \
    -init \
    -key-shares=15 \
    -key-threshold=9

rekey를 초기화하고 검증 과정을 활성화해요:

$ vault operator rekey \
    -init \
    -key-shares=15 \
    -key-threshold=9 \
    -verify

Rekey하고 결과 언실 키를 PGP로 암호화해요:

$ vault operator rekey \
    -init \
    -key-shares=3 \
    -key-threshold=2 \
    -pgp-keys="keybase:hashicorp,keybase:jefferai,keybase:sethvargo"

Auto Unseal vault를 rekey하고 결과 회복 키를 PGP로 암호화해요:

$ vault operator rekey \
    -target=recovery \
    -init \
    -pgp-keys=keybase:grahamhashicorp
    -key-shares=1
    -key-threshold=1

암호화된 PGP 키를 Vault의 코어에 저장해요:

$ vault operator rekey \
    -init \
    -pgp-keys="..." \
    -backup

백업된 언실 키를 검색해요:

$ vault operator rekey -backup-retrieve

백업된 언실 키를 삭제해요:

$ vault operator rekey -backup-delete

검증 논스(verification nonce)를 사용해 rekey의 검증을 수행해요:

$ vault operator rekey -verify -nonce="..."

사용법 (Usage)

모든 명령어에 기본으로 포함된 표준 플래그 외에 다음 플래그들을 추가로 사용할 수 있어요.

출력 옵션 (Output options)

  • -format (string: "table") — 출력 형식을 지정해요. 유효한 값은 "table", "json", "yaml"이에요. VAULT_FORMAT 환경 변수로도 지정할 수 있어요.

커맨드 옵션 (Command options)

  • -cancel (bool: false) — rekey 진행을 리셋해요. 제출된 언실 키나 설정을 모두 버려요. 기본값은 false예요.
  • -init (bool: false) — rekey 작업을 초기화해요. 진행 중인 rekey 작업이 없을 때만 가능해요. -key-shares-key-threshold 플래그로 새 키 공유 수와 키 임계값을 지정해요.
  • -key-shares (int: 5) — 생성된 마스터 키를 나눌 키 공유 수. 생성할 "언실 키"의 수예요. -n으로도 별칭 사용 가능해요.
  • -key-threshold (int: 3) — 루트 키를 재구성하는 데 필요한 키 공유 수. -key-shares보다 작거나 같아야 해요. -t로도 별칭 사용 가능해요.
  • -nonce (string: "") — 초기화 시 제공한 논스(nonce) 값. 각 언실 키마다 같은 논스 값을 제공해야 해요.
  • -pgp-keys (string: "...") — 공개 PGP 키를 담은 디스크 파일 경로의 쉼표 구분 목록 또는 keybase:<username> 형식의 Keybase 사용자 이름 쉼표 구분 목록. 제공하면 생성된 언실 키들이 이 목록에 지정된 순서대로 암호화되고 base64 인코딩돼요.
  • -status (bool: false) — 언실 키를 제공하지 않고 현재 시도 상태를 출력해요. 기본값은 false예요.
  • -target (string: "barrier") — rekey의 대상. "recovery"는 HSM 지원이 활성화되거나 Auto Unseal을 사용할 때만 적용돼요.
  • -verify (bool: false) — -init 단계에서 rekey의 검증 과정이 활성화되었음을 나타내요. -nonce 옵션과 함께, 주어진 논스가 검증 과정용임을 나타내요.

백업 옵션 (Backup options)

  • -backup (bool: false) — 현재 PGP 암호화된 언실 키의 백업을 Vault의 코어에 저장해요. 암호화된 값은 실패 시 복구하거나 성공 후 폐기할 수 있어요. 자세한 내용은 -backup-delete-backup-retrieve 옵션 참고. 이 옵션은 기존 언실 키가 PGP 암호화되었을 때만 적용돼요.
  • -backup-delete (bool: false) — 저장된 백업 언실 키를 모두 삭제해요.
  • -backup-retrieve (bool: false) — 백업된 언실 키를 검색해요. 이 옵션은 PGP 키가 제공되었고 백업이 삭제되지 않았을 때만 사용할 수 있어요.

더 알아보기 (Learn more)

  • vault operator init — 서버 초기화
  • vault operator rotate — 암호화 키 회전
  • Seal/Unseal 문서