oto/agent-roadmap/phase/control-plane-product-surface/milestones/control-plane-security-audit-surface.md

4.8 KiB

Milestone: Control Plane 운영 보안·감사 표면

위치

목표

Control Plane write action 표면 위에 운영 권한, 확인 가능한 감사 흔적, 보안 경계를 붙일 다음 구현 단위를 정의한다. 완료 후 사용자는 인증/권한과 감사 로그의 source of truth, UI 노출 범위, Core 계약 변경 필요 여부를 구현 계획으로 전환할 수 있어야 한다.

상태

[진행중]

승격 조건

  • 충족: SDD가 [승인됨]이고 D01-D03 사용자 결정이 user_review_0.log로 해결되어 최소 인증/권한, 감사 source of truth, UI 노출/마스킹 기준이 구현 계획으로 전환 가능한 범위로 고정되었다.

구현 잠금

  • 상태: 해제
  • SDD: 필요
  • SDD 문서: SDD.md
  • SDD 사유: 인증/권한, 감사 로그, write action 책임 경계는 API/schema/UI 상태와 사용자 승인 gate에 영향을 주므로 구현 전에 source of truth와 상태 전이를 고정해야 한다.
  • 잠금 해제 조건:
    • SDD 상태가 [승인됨]이고 SDD 잠금이 해제되어 있다.
    • SDD USER_REVIEW.md가 없거나 승인/해결되었다.
    • Acceptance Scenario가 Milestone 기능 Task와 연결되어 있다.
    • Evidence Map이 plan의 Spec Targets와 완료 시 Spec Completion으로 검증 가능하게 연결되어 있다.
  • 결정 필요: 없음

범위

  • services/core write endpoint 주변의 인증/권한 hook 또는 audit source of truth 필요 여부를 정의한다.
  • apps/clientpackages/flutter/oto_console에서 운영 action 결과와 감사/권한 상태를 표현할 UI 범위를 정의한다.
  • 기존 Control Plane 제품 표면 흐름을 기준으로 하며, production-grade identity provider 연동은 기본 구현 범위로 확정하지 않는다.
  • 최소 인증 모델은 production identity provider 없이 operator/admin 단일 역할과 표시 가능한 token reference를 기준으로 한다.
  • 감사 범위는 Control Plane write action의 actor, action, target, outcome, timestamp, optional reason metadata로 한정한다.

기능

Epic: [security-audit] 운영 보안·감사 경계 정의

write action 이후 필요한 운영 보안과 감사 capability를 SDD 기준으로 구현하고 검증한다.

  • [security-sdd] 인증/권한, 감사 source of truth, 민감 정보 마스킹, 실패/거부 UX, 검증 evidence를 SDD로 고정한다. 검증: SDD.md 상태가 [승인됨]이고 SDD 잠금이 해제이며 user_review_0.log가 남아 있다.
  • [auth-scope] Core write endpoint와 Flutter action surface에 operator/admin 단일 역할 및 표시 가능한 token reference 기준의 허용/거부, disabled/error 상태를 구현한다. 검증: Core handler/route 테스트 또는 adapter/widget 테스트로 권한 허용/거부와 UI 상태를 확인한다.
  • [audit-scope] Control Plane write action의 actor, action, target, outcome, timestamp, optional reason 감사 metadata와 UI 노출/마스킹 경계를 구현한다. 검증: audit event field, in-memory/event surface boundary, UI masking/widget 테스트 또는 민감 문자열 미노출 검색으로 확인한다.

완료 리뷰

  • 상태: 없음
  • 요청일: 없음
  • 완료 근거: 없음
  • 검토 항목: 없음
  • 리뷰 코멘트: 없음

범위 제외

  • production identity provider, 장기 secret rotation, 조직/테넌트 모델 완성은 이 Milestone에서 바로 구현하지 않는다.
  • durable audit storage를 구현 범위로 확정하지 않는다. 필요하면 별도 Milestone 또는 SDD 결정으로 분리한다.
  • 기존 runner production job 운영 정책 전체를 완성하지 않는다.

작업 컨텍스트

  • 관련 경로: services/core/internal/httpserver/**, apps/client/**, packages/flutter/oto_console/**
  • 표준선(선택): 기존 Core route와 Flutter action surface를 source of truth 후보로 먼저 검토하고, API/schema 확장이 필요할 때만 별도 계약 변경으로 분리한다.
  • 선행 작업: Control Plane 운영 액션 표면
  • 후속 작업: 운영 대시보드 고도화, durable persistence UI
  • 확인 필요: 없음. 후속 구현 계획은 SDD Evidence MapSpec TargetsSpec Completion으로 연결한다.
  • 작업현황 동기화(2026-06-22): SDD gate는 승인/해제되어 security-sdd가 완료되었고, auth-scopeaudit-scope 구현 Task는 남아 있어 Milestone 상태를 [진행중]으로 맞췄다.