Files
portfolio-hub/docs/batches/bat-022_20260628_daemon-crud-self-service-credential-api/index.md
T

3.0 KiB

BAT-022 — daemon CRUD admin API + self-service 인증정보 관리 API

  • Batch ID: BAT-022
  • Profile: standard
  • Status: release-candidate
  • Discovery: dcy-011
  • Included REQ: REQ-052, REQ-053, REQ-054
  • Folder: docs/batches/bat-022_20260628_daemon-crud-self-service-credential-api/
  • Created: 2026-06-28

Summary

dcy-011(daemon admin CRUD + 사용자 self-service 브로커 인증정보 관리 API)을 portfolio-hub에 구현한다.

  • REQ-052: user-token + 소유 스코프 인증정보 set/rotate/delete + 메타데이터 GET (/v1/daemons/{daemon_id}/credential)
  • REQ-053: admin 데몬 생성·owner 할당·변경·(비)활성화 (/v1/admin/daemons)
  • REQ-054: 모든 관리 API 응답/로그에 app_key/app_secret 평문 미포함(보안 격리) + REQ-051 회귀 PASS

dcy-010 자산(BrokerCredential 모델, Fernet 암호화, upsert/delete 메서드) 재사용. CLI와 동일 repo 메서드 공유.

Included REQ

REQ 제목 Type 의존
REQ-052 사용자 소유 스코프 인증정보 관리 HTTP API Interface dcy-010 자산(BrokerCredential, Fernet)
REQ-053 admin 데몬 CRUD HTTP API Interface Daemon 모델, REQ-022(service token revoke)
REQ-054 인증정보 관리 보안 격리 Non-Functional REQ-052, REQ-053, REQ-051

DoR (진입 조건)

  • REQ-052/053/054 전건 Approved 상태 확인
  • dcy-011 confirmed Discovery 확인(OQ-1/OQ-2 Deferred → design 단계 해소)
  • 구현 대상 파일 존재 확인: app/repositories/postgres.py, app/domain/models.py, app/core/auth.py, app/core/encryption.py
  • dcy-010 자산 존재 확인: BrokerCredential PK (daemon_id, broker), upsert_broker_credential, list_broker_credentials, delete_broker_credential

DoD (완료 조건)

  • REQ-052 AC-1~10 테스트 통과 (17 케이스)
  • REQ-053 AC-1~12 테스트 통과 (15 케이스)
  • REQ-054 AC-1~7 테스트 통과 (12 케이스, caplog 비노출, 응답 secret 부재, REQ-051 회귀)
  • 기존 521 테스트 회귀 없음 (565 passed, 0 failures)
  • draft-batch-verification 문서에 AC별 evidence 기록

비가역 결재 게이트

  • DB 마이그레이션: 신규 DDL 없음. 기존 ensure_schema() + postgres.py 메서드 확장으로 처리 (비가역 없음).
  • HTTP API 계약 신설: trex-web dcy-009가 소비 예정. 이 batch는 계약 신설이므로 기존 소비자에 영향 없음(호환 깨짐 없음).

Notes

  • PR #19 머지 완료: mergeCommit 1b78c18 (2026-06-28)
  • QC: PASS-WITH-NOTES (opus, blocker 0)
  • confirm-req-implemented: REQ-052/053/054 → Implemented (2026-06-28)
  • Major 보안 #3(owner 재할당 credential leak) 원자화 수정(83e6dde) — 단일 트랜잭션+선삭제 방식, leak 방지 테스트 3종 포함. 실 DB 트랜잭션 롤백 통합검증은 배포 단계 항목으로 이월.
  • broker "kis" 고정(멀티 broker 확장은 후속 Discovery 대상).
  • 실 운영 배포 시 /v1/daemons/{daemon_id}/credential 및 /v1/admin/daemons 경로 trex-web dcy-009 연결 확인 필요.