-
Notifications
You must be signed in to change notification settings - Fork 0
srs nonfunctional
JJong-03 edited this page Jun 17, 2026
·
4 revisions
문서버전: v1.7 기준일: 2026-05-20
시스템의 품질 속성(보안성·가용성·제약사항 등)에 대한 요구사항이다.
문서버전과 수정 이력은 기능 요구사항의 수정 이력을 공유한다 (현재 v1.7).
| ID | 요구사항 명 | Risk Twin 기반 실현 내용 | 구현/검증 도구 |
|---|---|---|---|
| NFR-SEC-01 | 사용자 인증 | Cognito Hosted UI OIDC PKCE 흐름, Self sign-up 비활성화, 관리자 생성 사용자만 허용. MFA(TOTP)는 운영 보안 정책에 맞춰 적용 | AWS Cognito, TOTP |
| NFR-SEC-02 | 사용자 인가 | Cognito JWT를 앱 레벨에서 검증하고 사용자-공장 권한 모델에 따라 API 응답 범위를 필터링 | FastAPI, RDS, ElastiCache Redis |
| NFR-SEC-03 | 최소 권한 IAM | Dashboard API와 데이터 처리 컴포넌트는 필요한 데이터와 메타데이터에 한정된 최소 권한만 보유 | AWS IAM Task Role |
| NFR-SEC-04 | 권한 격리(통제 plane 차단) | Dashboard Web/API는 Spoke K3s API, EKS admin API, ArgoCD admin API, Tailscale 관리망에 직접 접근 불가 | IAM, SG, VPC 분리 |
| NFR-SEC-05 | 데이터 암호화 | 저장 데이터와 전송 구간은 AWS 관리형 암호화 기능과 HTTPS/TLS를 사용해 보호 | S3/RDS/DDB 암호화, ACM/TLS |
| NFR-SEC-06 | 비밀정보 관리 | DB 비밀번호·Redis AUTH token·Cognito client secret·private key·MFA OTP는 코드·문서·LLM 프롬프트에 기록 금지. Runtime은 Secrets Manager 참조 | AWS Secrets Manager |
| NFR-SEC-07 | 원본 데이터 추적성 | 공장 원본 데이터를 S3 raw에 보존해 장애 분석·재처리·보고서 근거로 활용할 수 있어야 함 | S3 Versioning |
| NFR-SEC-08 | 네트워크 보안 | 데이터 저장소와 캐시 계층은 허용된 애플리케이션 보안그룹에서만 접근 가능해야 하며 전송 구간 암호화를 적용 | AWS Security Group |
| NFR-SEC-09 | LLM 프롬프트 안전 | LLM 프롬프트에 Secret/token/private key/MFA OTP/계정 세부정보를 포함하지 않고, 호출 권한은 최소 범위로 제한 | Lambda 정책, IAM 분리 |
가용성·복구 정량 목표는 데모·MVP 기준이다. 월간 가용성은 99% 이상(NFR-AVL-01), 데이터 복구 시점 목표는 RPO ≤ 5분(NFR-AVL-03)이다. 복구 시간(RTO)은 운영 Spoke의 다중 노드 failover와 클라우드 진입점의 IaC 재배포를 기준으로 하며(NFR-AVL-02), 정식 RTO/RPO 기반 DR 정의는 후속 범위다(로드맵).
| ID | 요구사항 명 | Risk Twin 기반 실현 내용 | 구현/검증 도구 |
|---|---|---|---|
| NFR-AVL-01 | 사용자 진입점 가용성 | CloudFront, ALB, ECS Service 상태를 모니터링한다. 데모·MVP 기준 월간 가용성 99% 이상을 목표로 한다. | CloudFront, ALB, ECS Service |
| NFR-AVL-02 | Spoke Failover / RTO | 운영형 Spoke를 다중 노드 K3s로 구성해 단일 노드 장애 시 대체 노드에서 서비스가 계속 실행되고 회복 후 Failback. 클라우드 진입점은 IaC 재배포로 복구하며, 정량 RTO는 후속 DR 정의 대상 | K3s, ArgoCD |
| NFR-AVL-03 | 데이터 백업/복구 (RPO) | S3 raw·processed·reports는 Versioning + Lifecycle 대상으로 관리하고, RDS는 자동 백업 및 시점 복구(PITR) 기능을 적용하여 최대 5분 이내 시점으로 데이터를 복구(RPO ≤ 5분)할 수 있도록 구성 | S3 Versioning, RDS Backup |
구현 상세: Failover & 복구 · 데이터 생명주기
| ID | 요구사항 명 | Risk Twin 기반 실현 내용 | 구현/검증 도구 |
|---|---|---|---|
| NFR-CON-01 | 클라우드 제약 | AWS 단일 클라우드만 사용하며 멀티 클라우드는 본 사업 범위 외 | 사업 합의 |
| NFR-CON-02 | 지역(Region) 제한 | 기본 운영 리전은 ap-south-1. CloudFront/ACM은 us-east-1 예외. 허용되지 않은 리전 접근은 IAM 정책으로 차단 | AWS IAM 정책 |
| NFR-CON-03 | 명명 규칙 | 공통 AEGIS 명명 규칙을 따르되, Data/Dashboard VPC는 KJW-AEGIS-Data-* / kjw-aegis-data-* 계열처럼 영역별 prefix 규칙을 적용 |
Terraform 변수, Tag 정책 |
| NFR-CON-04 | 워크스트림 분리 | 본 사업 범위는 1번 Data/Dashboard VPC(워크스트림 B). 워크스트림 A(Control/Management) 자산은 명시적 지시 없이는 수정·삭제 금지. 합류 지점(IoT Core Rule, S3, ECR, DynamoDB, GitHub) 변경은 ADR로 남김 | ADR 문서 |
| NFR-CON-05 | LLM 모델 정책 | 일간 보고서는 발주처 계정에서 사용 가능한 Bedrock 기반 모델을 우선 사용하고, 대체 모델 사용 시 ADR로 근거 남김 | Bedrock, ADR |
| NFR-CON-06 | 데이터 보관 위치 | 별도 합의가 없으면 수집·처리 데이터는 프로젝트 AWS 계정 내 관리형 저장소에 보관 | AWS Account 경계 |
| NFR-CON-07 | 운영 접근 통제 | 운영자는 사전 승인된 계정과 역할을 통해서만 관리 기능에 접근해야 하며, 사용자 Dashboard는 운영 제어 기능을 제공하지 않음 | IAM, RBAC |
| NFR-CON-08 | 개인정보 최소화 | 사용자 식별 정보는 권한 검증과 화면 표시 목적에 필요한 최소 범위로 저장 | RDS 스키마 |
| NFR-CON-09 | 사업 외 범위 | OT 물리 인프라 구축, 생산설비 제어, 사내 DR 수립, 외부 IdP federation 본격 도입은 본 사업 범위 외 | 사업 합의 |
| NFR-CON-10 | Risk Twin 도메인 범위 | Risk Twin은 현재 수집 가능한 센서·AI·인프라 상태 데이터로 산출 가능한 Environmental + Infrastructure 도메인으로 한정. 제조 생산성·품질·설비 제어 지표는 본 사업 범위 외 | IoT 데이터 스키마 |
- 시스템 아키텍처
- 제어 & 데이터 플레인
- Dashboard VPC 설계
- 하드웨어 배치
- Hub EKS 네임스페이스
- Tailscale Mesh VPN
- 데이터 생명주기
- 데이터 조회 모델
- 실시간 갱신 구조
- IoT 데이터 계약
- Reporting Pipeline
- 로컬 스토리지
- 클라우드 스토리지
- Edge Agent
- Edge AI 탐지
- Factory-A Log Adapter
- Dummy Sensor
- Edge IoT Publisher
- Lambda Data Processor
- Risk Normalizer
- Risk Score Engine
- Pipeline Status Aggregator
- Graph Aggregator 5m
- Cloud Infra Collector
- Daily Report Generator
- Risk Alert Dispatcher
- Image Snapshot Pipeline
- Dashboard Backend
- Dashboard Web
- AI 채팅 어시스턴트