Skip to content
- 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 폐기와 소비자 재검증 상태가 남는지 확인