`operator import` — 외부 시스템에서 시크릿 가져오기

operator import — 외부 시스템에서 시크릿 가져오기

적절한 Vault Enterprise 라이선스가 필요해요.

알파(Alpha) 기능

알파 기능은 활발히 개발 중이거나 개발 초기에 기술 시연 데모로 제공되는 기능이며, 변경될 수 있어요. Vault 프로덕션 배포에서 알파 기능을 사용하는 것을 강력히 권장하지 않아요.

operator import 명령어는 외부 시스템의 시크릿을 Vault로 가져와요. 같은 스토리지 경로에 같은 이름의 시크릿은 가져올 때 덮어써져요.

가져오기는 오래 걸리는 프로세스일 수 있어요

원하는 만큼 많은 소스에서 읽는 가져오기 계획(plan)을 작성할 수 있어요. 각 소스에서 마이그레이션되는 데이터 양은 적용된 필터와 사용 가능한 데이터셋에 따라 달라져요. 각 소스에서 읽고, 필터를 적용하고, Vault에 데이터를 저장하는 데 걸리는 시간을 염두에 두세요.

출처: 문서

본문

예시 (Examples)

새 가져오기 계획을 생성하기 위해 구성 파일 import.hcl을 읽어요:

$ vault operator import -config import.hcl plan

출력:

-----------
Import plan
-----------
The following namespaces are missing:
* ns-1/
 
The following mounts are missing:
* ns-1/mount-1
 
Secrets to be imported to the destination "my-dest-1":
* secret-1
* secret-2

구성 (Configuration)

operator import 명령어는 소스, 대상, 매핑 규칙을 지정하는 전용 구성 파일을 사용해요. 이러한 유형과 일반적인 시크릿 가져오기에 대해 더 알아보려면 Secrets Import 문서를 참고하세요.

source_gcp {
  name             = "my-src-1"
  credentials_file = "/path/to/service-account-key.json"
}

source_aws {
  name                = "my-src-2"
  credentials_profile = "my-profile-name"
}

source_azure {
  name                = "my-src-3"
  # Use default credentials from doing an az login
}

destination_vault {
  name      = "my-dest-1"
  address   = "http://127.0.0.1:8200/"
  namespace = "ns-1"
  mount     = "mount-1"
}

mapping {
  name        = "my-map-1"
  source      = "my-src-1"
  destination = "my-dest-1"
}

mapping {
  name        = "my-map-2"
  source      = "my-src-2"
  destination = "my-dest-1"
}

mapping {
  name        = "my-map-3"
  source      = "my-src-3"
  destination = "my-dest-1"
}

사용법 (Usage)

인자 (Arguments)

  • plan — 구성 파일을 기반으로 가져올 시크릿을 운영자가 미리 볼 수 있게 하는 읽기 전용 작업을 실행해요.
  • apply — 소스에서 지정된 시크릿을 읽어 Vault에 쓰는 가져오기 작업을 실행해요. apply는 먼저 plan을 실행한 다음, 실제 가져오기를 수행하기 전에 사용자에게 결과를 승인할지 묻어요.

플래그 (Flags)

operator import 명령어는 다음 플래그를 받아요:

  • -config (string: "import.hcl") — 가져오기 구성 HCL 파일 경로. 기본 경로는 import.hcl이에요.
  • -auto-approve (bool: false) — apply 명령의 모든 사용자 입력 프롬프트에 자동으로 "yes"로 응답해요.
  • -auto-create (bool: false) — apply 명령 실행 시 누락된 네임스페이스와 KVv2 마운트를 자동으로 생성해요.
  • -log-level (string: "info") — 로그 상세 수준. 지원 값(상세가 많은 순서): trace, debug, info, warn, error. VAULT_LOG_LEVEL 환경 변수로도 설정할 수 있어요.

더 알아보기 (Learn more)

  • Secrets Import 문서
  • vault operator migrate — 스토리지 마이그레이션
  • Vault Enterprise 문서