인증서 / Cloud Sync 인증 정책 (확정 결정)¶
MVP에서 일반적인 API Keys 메뉴는 존재하지 않는다. MTS/HTS가 벤더 클라우드를 호출하지 않으므로 MTS/HTS별 벤더 API Key가 필요 없다. 유일한 벤더-증권사 간 인증은 Sync 채널의 mTLS다.
인증서 발급 플로우 (CSR 방식):
- 증권사가 On-Prem 환경에서 키쌍 생성 — 개인키는 증권사 환경 밖으로 나가지 않는다 (고객 데이터 비반출 원칙과 동일한 서사).
- 증권사가 CSR 제출.
- 벤더 Private CA가 서명하여 클라이언트 인증서 발급, 테넌트에 바인딩.
- Sync Agent는 해당 인증서로 Tenant Sync API에 mTLS 연결.
- Tenant Sync API는 매 요청마다 인증서-테넌트 바인딩을 인가 검증한다 — A테넌트 인증서로 B테넌트의 cursor/번들에 접근할 수 없다. RLS 폐기 후 클라우드 측 테넌트 격리는 이 지점에서 강제된다. 단일 계층(앱 계층) 방어인 점은 인지된 트레이드오프다: 클라우드에 잔존하는 테넌트 스코프 데이터(outbox 전달 레코드, 동기화 상태)는 전부 비개인화 데이터라 격리 실패 시 피해 반경이 동기화 메타데이터에 한정되므로, DB 계층 격리(RLS) 유지 비용 대비 효익이 낮다고 판단했다. 방어 심화가 필요해지면 테넌트 스코프 테이블에 경량 tenant_id 스코핑(쿼리 강제 조건)을 재도입하는 것을 로드맵 옵션으로 남긴다.
관리 경계:
- Super Admin은 인증서 원문이나 키를 관리하지 않는다. Super Admin이 보는 것은 테넌트 연결 상태·동기화 결과까지다.
- Tenant Console → Settings → Cloud Sync 메뉴에서 관리: 연결 상태, 마지막 동기화 시각, 최근 동기화 결과, 인증서 fingerprint, 인증서 만료일, 인증서 교체(신규 CSR → 재발급, grace period 동안 신구 병행).