Skip to content

OpenBao 요구사항

  • FractalOps 및 연동 스택 시크릿의 단일 저장/회전 지점
  • scope 기반 저장(plugins, connectors/<id>, runtime)
  • env->openbao sync operation 제공
  • 참조 포맷 ref:<scope>:<key> 해석
  • 회전 대상 키마다 <KEY>__ROTATION_ENVELOPE 메타데이터 저장
  • 회전 envelope에는 발급 주체, 담당 agent, subject, active/next/previous generation, 소비자 목록, 재주입 방식, 검증 상태, 폐기 단계가 포함되어야 함
  • OpenBao의 secret value는 현재 active generation의 material일 뿐이다.
  • EOS/agent 회전은 raw value를 직접 소유하지 않고 rotation envelope를 소유한다.
  • envelope의 fingerprint만 active secret과 맞춰 검증하고, raw secret은 envelope에 기록하지 않는다.
  • staged dual key 회전은 write_next_generation -> refresh_consumers -> verify_consumers -> promote_active_generation -> revoke_previous_generation 순서로 닫힌 루프를 가져야 한다.
  • secret_delivery.contracts[].requires_rotation_envelope: true인 connector는 audit에서 envelope 누락, fingerprint mismatch, owner/consumer 누락을 실패로 처리한다.
  • root token 직접 사용 금지(운영 계정/정책 분리)
  • unseal 절차는 운영 런북으로 관리
  • 소비자는 ref:<scope>:<key> 또는 broker lease로만 접근하고, envelope를 통해 reload와 검증 상태를 보고해야 한다.
  • OpenBao에서 키 갱신 후 connector 동작 재검증
  • 평문 env에만 있는 민감값 제거
  • 회전 audit에서 raw secret 단독 저장이 없는지 확인
  • envelope가 raw secret을 포함하지 않는지 확인
  • previous generation 폐기와 소비자 재검증 상태가 남는지 확인