feat(itsm): 추가 기능 7개 + API 명세서 완성
[고객 셀프서비스 포털] - routers/customer_portal.py: SR접수/추적/AI FAQ자가해결/카탈로그/만족도/통계 POST /api/portal/faq/suggest — KB+Ollama 기반 SR 접수 전 자가해결 유도 [그룹웨어 전자결재 연동] - routers/groupware.py: 카카오워크/네이버웍스/한컴/Custom 웹훅 POST /api/groupware/send-approval → 결재 발송 POST /api/groupware/callback → 승인/반려 콜백 → SR 상태 자동 갱신 [SIEM 보안 이벤트 연동] - routers/siem.py: Elasticsearch/Splunk HEC/OpenSearch POST /api/siem/alert/receive → SIEM 경보 → 인시던트 자동 생성 [네트워크 토폴로지 시각화] - routers/topology.py: CMDB CI 의존관계 D3.js 인터랙티브 그래프 GET /api/topology/page — 드래그/줌/헬스오버레이 뷰어 [포트폴리오 + 리소스/인력 관리] - routers/portfolio.py: 다중 프로젝트 포트폴리오 대시보드 + 인원 배치(M/M) + 역량 매핑 [Zero Trust + Kubernetes + ERP] - routers/infra_ext.py: - Zero Trust 세션 재검증 (위험점수 70 이상 → 강제 재인증) - K8s pods/services/nodes API 연동 - ERP 예산 동기화 [API 명세서] - manual/16_API_명세서.md: 전체 588개 라우트 도메인별 정리 [버그 수정] - customer_portal.py: ServiceCatalog→ServiceItem, KBDocument.content→solution/symptoms - customer_portal.py: catalog is_active→status="ACTIVE" Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
1e7cdd87ee
commit
1541a8f8e5
724
16_API_명세서.md
Normal file
724
16_API_명세서.md
Normal file
@ -0,0 +1,724 @@
|
||||
# GUARDiA ITSM — 전체 기능 목록 및 API 명세서
|
||||
|
||||
> **버전:** 2.0.0 | **총 라우트:** 588개 | **기준일:** 2026-05-30
|
||||
> **Base URL:** `http://localhost:8001`
|
||||
> **인증:** JWT Bearer Token (`POST /api/auth/login` → `access_token`)
|
||||
|
||||
---
|
||||
|
||||
## 목차
|
||||
|
||||
| 번호 | 도메인 | 엔드포인트 수 |
|
||||
|------|--------|-------------|
|
||||
| 1 | [인증 / 사용자 관리](#1-인증--사용자-관리) | 16 |
|
||||
| 2 | [SR 서비스 요청](#2-sr-서비스-요청) | 9 |
|
||||
| 3 | [승인 워크플로우](#3-승인-워크플로우) | 6 |
|
||||
| 4 | [대시보드](#4-대시보드) | 3 |
|
||||
| 5 | [CMDB / 인프라](#5-cmdb--인프라) | 17 |
|
||||
| 6 | [PMS (프로젝트 관리)](#6-pms-프로젝트-관리) | 91 |
|
||||
| 7 | [인시던트 / 장애](#7-인시던트--장애) | 11 |
|
||||
| 8 | [문제 관리 (Problem)](#8-문제-관리) | 13 |
|
||||
| 9 | [변경 관리 (CAB)](#9-변경-관리-cab) | 18 |
|
||||
| 10 | [보안](#10-보안) | 38 |
|
||||
| 11 | [AI / 자동화](#11-ai--자동화) | 48 |
|
||||
| 12 | [모니터링](#12-모니터링) | 25 |
|
||||
| 13 | [운영 관리](#13-운영-관리) | 47 |
|
||||
| 14 | [통합 연동](#14-통합-연동) | 34 |
|
||||
| 15 | [준수성 / 품질](#15-준수성--품질) | 18 |
|
||||
| 16 | [고객 포털](#16-고객-포털) | 9 |
|
||||
| 17 | [포트폴리오 / 리소스](#17-포트폴리오--리소스) | 8 |
|
||||
| 18 | [인프라 확장](#18-인프라-확장) | 7 |
|
||||
| 19 | [메신저 봇](#19-메신저-봇) | 2 |
|
||||
| 20 | [라이선스](#20-라이선스) | 6 |
|
||||
|
||||
---
|
||||
|
||||
## 1. 인증 / 사용자 관리
|
||||
|
||||
| Method | Endpoint | 설명 | 인증 |
|
||||
|--------|----------|------|------|
|
||||
| POST | `/api/auth/login` | 로그인 (JWT 발급) | ❌ |
|
||||
| POST | `/api/auth/login/mfa` | MFA 2단계 인증 | ❌ |
|
||||
| POST | `/api/auth/logout` | 로그아웃 | ✅ |
|
||||
| GET | `/api/auth/me` | 내 정보 조회 | ✅ |
|
||||
| POST | `/api/auth/change-password` | 비밀번호 변경 | ✅ |
|
||||
| GET | `/api/auth/users` | 사용자 목록 | ADMIN |
|
||||
| GET | `/api/auth/mfa/status` | MFA 상태 조회 | ✅ |
|
||||
| POST | `/api/auth/mfa/setup` | MFA 등록 시작 | ✅ |
|
||||
| POST | `/api/auth/mfa/enable` | MFA 활성화 | ✅ |
|
||||
| POST | `/api/auth/mfa/disable` | MFA 비활성화 | ✅ |
|
||||
| POST | `/api/auth/admin/users/{id}/mfa-reset` | MFA 초기화 | ADMIN |
|
||||
| POST | `/api/auth/admin/users/{id}/unlock` | 계정 잠금 해제 | ADMIN |
|
||||
| GET | `/api/auth/admin/users/{id}/lock-status` | 잠금 상태 조회 | ADMIN |
|
||||
| GET | `/api/auth/oauth/providers` | OAuth 제공자 목록 | ❌ |
|
||||
| GET | `/api/auth/oauth/{provider}/start` | OAuth 로그인 시작 | ❌ |
|
||||
| GET | `/api/auth/oauth/{provider}/callback` | OAuth 콜백 | ❌ |
|
||||
|
||||
**OAuth 지원 플랫폼:** Google, GitHub, 카카오, 네이버, Keycloak(SSO)
|
||||
|
||||
---
|
||||
|
||||
## 2. SR 서비스 요청
|
||||
|
||||
| Method | Endpoint | 설명 | 인증 |
|
||||
|--------|----------|------|------|
|
||||
| GET | `/api/tasks` | SR 목록 (필터: status/type/priority/keyword) | ✅ |
|
||||
| POST | `/api/tasks` | SR 생성 (AI 자동 분류 + SLA 자동 설정) | ❌ |
|
||||
| GET | `/api/tasks/stats` | SR 통계 | ✅ |
|
||||
| GET | `/api/tasks/sla/violations` | SLA 위반 목록 | ✅ |
|
||||
| POST | `/api/tasks/bulk` | SR 대량 처리 (최대 100건) | ✅ |
|
||||
| GET | `/api/tasks/{sr_id}` | SR 상세 조회 | ✅ |
|
||||
| PATCH| `/api/tasks/{sr_id}/status` | SR 상태 변경 | ✅ |
|
||||
| GET | `/api/tasks/{sr_id}/sla` | SLA 현황 조회 | ✅ |
|
||||
| GET | `/api/tasks/{sr_id}/ai-suggestion` | AI 분류 결과 조회 | ✅ |
|
||||
|
||||
**상태 전이:** RECEIVED → PARSED → PENDING_APPROVAL → APPROVED → IN_PROGRESS → PENDING_PM_VALIDATION → COMPLETED
|
||||
|
||||
**Bulk action:** `STATUS_CHANGE | ASSIGN | CLOSE | PRIORITY_CHANGE`
|
||||
|
||||
---
|
||||
|
||||
## 3. 승인 워크플로우
|
||||
|
||||
| Method | Endpoint | 설명 | 인증 |
|
||||
|--------|----------|------|------|
|
||||
| GET | `/api/approvals/{sr_id}` | SR 승인 목록 | ✅ |
|
||||
| POST | `/api/approvals/{sr_id}` | 승인/반려 처리 | PM/ADMIN |
|
||||
| GET | `/api/approvals/pending/overdue` | 기한 초과 승인 목록 | PM/ADMIN |
|
||||
| POST | `/api/approvals/{id}/delegate` | 결재 위임 | ✅ |
|
||||
| POST | `/api/approvals/{id}/sign` | 전자서명 | ✅ |
|
||||
| POST | `/api/approvals/{id}/extend-deadline` | 마감 연장 | PM/ADMIN |
|
||||
|
||||
---
|
||||
|
||||
## 4. 대시보드
|
||||
|
||||
| Method | Endpoint | 설명 | 인증 |
|
||||
|--------|----------|------|------|
|
||||
| GET | `/api/dashboard/me` | 역할별 개인화 대시보드 | ✅ |
|
||||
| GET | `/api/dashboard/stats/trend` | 7일 SR 추이 | ✅ |
|
||||
| GET | `/api/dashboard/events` | SSE 실시간 이벤트 스트림 | ✅ |
|
||||
|
||||
**역할별 응답:**
|
||||
- ADMIN: 전체 현황 + 엔지니어 워크로드 + 승인 대기
|
||||
- PM: 승인 큐 + 기관 현황
|
||||
- ENGINEER: 내 담당 SR + 이달 통계
|
||||
- CUSTOMER: 내 기관 SR + 만족도
|
||||
|
||||
---
|
||||
|
||||
## 5. CMDB / 인프라
|
||||
|
||||
### CI (Configuration Item)
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| GET | `/api/cmdb/ci` | CI 목록 |
|
||||
| POST | `/api/cmdb/ci` | CI 등록 |
|
||||
| GET | `/api/cmdb/ci/stats` | CI 통계 |
|
||||
| POST | `/api/cmdb/ci/import-servers` | 서버 일괄 CI 변환 |
|
||||
| GET | `/api/cmdb/ci/{ci_id}` | CI 상세 |
|
||||
| PATCH | `/api/cmdb/ci/{ci_id}` | CI 수정 |
|
||||
| DELETE | `/api/cmdb/ci/{ci_id}` | CI 삭제 |
|
||||
| GET | `/api/cmdb/ci/{ci_id}/relations` | CI 의존관계 |
|
||||
| GET | `/api/cmdb/ci/{ci_id}/history` | CI 변경 이력 |
|
||||
| POST | `/api/cmdb/ci/relations` | CI 관계 등록 |
|
||||
| DELETE | `/api/cmdb/ci/relations/{id}` | CI 관계 삭제 |
|
||||
|
||||
### 서버 / 기관
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| GET | `/api/cmdb/servers` | 서버 목록 |
|
||||
| POST | `/api/cmdb/servers` | 서버 등록 |
|
||||
| GET | `/api/cmdb/servers/{id}` | 서버 상세 |
|
||||
| PATCH | `/api/cmdb/servers/{id}` | 서버 수정 |
|
||||
| GET | `/api/cmdb/institutions` | 기관 목록 |
|
||||
| GET | `/api/cmdb/institutions/{code}/servers` | 기관별 서버 |
|
||||
|
||||
---
|
||||
|
||||
## 6. PMS (프로젝트 관리)
|
||||
|
||||
### 프로젝트
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| GET | `/api/si/projects` | 프로젝트 목록 |
|
||||
| POST | `/api/si/projects` | 프로젝트 생성 |
|
||||
| GET | `/api/si/projects/{id}` | 프로젝트 상세 |
|
||||
| PATCH | `/api/si/projects/{id}` | 프로젝트 수정 |
|
||||
| DELETE | `/api/si/projects/{id}` | 프로젝트 삭제 |
|
||||
| PATCH | `/api/si/projects/{id}/phase` | 단계 전환 |
|
||||
| GET | `/api/si/projects/{id}/summary` | 진척 요약 |
|
||||
| GET | `/api/si/projects/{id}/rtm` | RTM (요구사항↔WBS↔TC) |
|
||||
| GET | `/api/si/projects/{id}/checklist` | 단계별 체크리스트 |
|
||||
| PATCH | `/api/si/projects/{id}/checklist/{cid}` | 체크리스트 완료 |
|
||||
| POST | `/api/si/projects/{id}/convert-to-sm` | SM 전환 |
|
||||
|
||||
### WBS
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| GET | `/api/si/projects/{id}/wbs` | WBS 목록 |
|
||||
| POST | `/api/si/projects/{id}/wbs` | WBS 항목 등록 |
|
||||
| POST | `/api/si/projects/{id}/wbs/bulk` | WBS 일괄 등록 |
|
||||
| GET | `/api/si/projects/{id}/wbs/gantt` | Gantt 차트 데이터 |
|
||||
| GET | `/api/si/projects/{id}/wbs/{item_id}` | WBS 상세 |
|
||||
| PATCH | `/api/si/projects/{id}/wbs/{item_id}` | WBS 수정 |
|
||||
| PATCH | `/api/si/projects/{id}/wbs/{item_id}/progress` | 진척률 갱신 |
|
||||
| DELETE | `/api/si/projects/{id}/wbs/{item_id}` | WBS 삭제 |
|
||||
|
||||
### 산출물 (Deliverables)
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| GET | `/api/si/projects/{id}/deliverables` | 산출물 목록 |
|
||||
| POST | `/api/si/projects/{id}/deliverables` | 산출물 등록 |
|
||||
| GET | `/api/si/projects/{id}/deliverables/summary` | 제출 현황 요약 |
|
||||
| GET | `/api/si/projects/{id}/deliverables/{did}` | 산출물 상세 |
|
||||
| PATCH | `/api/si/projects/{id}/deliverables/{did}` | 산출물 수정 |
|
||||
| DELETE | `/api/si/projects/{id}/deliverables/{did}` | 산출물 삭제 |
|
||||
| POST | `/api/si/projects/{id}/deliverables/{did}/submit` | 제출 처리 |
|
||||
| POST | `/api/si/projects/{id}/deliverables/{did}/review` | 검토 결과 등록 |
|
||||
|
||||
### 보고서
|
||||
|
||||
| Method | Endpoint | 설명 | 형식 |
|
||||
|--------|----------|------|------|
|
||||
| GET | `/api/si/projects/{id}/report/daily` | 일일 보고서 | `?format=excel\|html\|pdf\|docx\|pptx` |
|
||||
| GET | `/api/si/projects/{id}/report/weekly` | 주간 보고서 | 동일 |
|
||||
| GET | `/api/si/projects/{id}/report/monthly` | 월간 보고서 | 동일 |
|
||||
| GET | `/api/si/projects/{id}/report/status` | 현황 JSON | — |
|
||||
| POST | `/api/si/projects/{id}/report/send` | 메신저 자동 발송 | — |
|
||||
|
||||
### 이슈 / 위험 / 마일스톤 / 요구사항 / 변경요청 / 테스트
|
||||
|
||||
각 도메인별 CRUD + 상태 전환 엔드포인트 (약 50개)
|
||||
|
||||
---
|
||||
|
||||
## 7. 인시던트 / 장애
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| GET | `/api/incidents` | 장애 목록 |
|
||||
| POST | `/api/incidents` | 장애 등록 |
|
||||
| GET | `/api/incidents/stats` | 통계 |
|
||||
| GET | `/api/incidents/{id}` | 장애 상세 |
|
||||
| PATCH | `/api/incidents/{id}` | 장애 수정 |
|
||||
| PATCH | `/api/incidents/{id}/status` | 상태 변경 |
|
||||
| POST | `/api/incidents/{id}/close` | 종료 (RCA 포함) |
|
||||
| POST | `/api/incidents/{id}/auto-rca` | **AI 자동 RCA 분석** |
|
||||
| POST | `/api/incidents/{id}/link-sr` | SR 연결 |
|
||||
| DELETE | `/api/incidents/{id}/link-sr/{sr_id}` | SR 연결 해제 |
|
||||
| GET | `/api/incidents/{id}/srs` | 연결된 SR 목록 |
|
||||
|
||||
---
|
||||
|
||||
## 8. 문제 관리
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| GET | `/api/problem/` | 문제 목록 |
|
||||
| POST | `/api/problem/` | 문제 등록 |
|
||||
| GET | `/api/problem/known-errors` | Known Error DB |
|
||||
| GET | `/api/problem/stats` | 통계 |
|
||||
| GET | `/api/problem/{id}` | 문제 상세 |
|
||||
| PATCH | `/api/problem/{id}` | 문제 수정 |
|
||||
| POST | `/api/problem/{id}/auto-rca` | **AI 자동 RCA** |
|
||||
| POST | `/api/problem/{id}/rca` | RCA 직접 기록 |
|
||||
| POST | `/api/problem/{id}/workaround` | 임시 해결 등록 |
|
||||
| POST | `/api/problem/{id}/resolve` | 해결 처리 |
|
||||
| POST | `/api/problem/{id}/close` | 종결 |
|
||||
| POST | `/api/problem/{id}/notes` | 활동 노트 추가 |
|
||||
| GET | `/api/problem/{id}/notes` | 활동 노트 목록 |
|
||||
|
||||
---
|
||||
|
||||
## 9. 변경 관리 (CAB)
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| GET/POST | `/api/change/rfc` | RFC 목록/등록 |
|
||||
| GET | `/api/change/rfc/{id}` | RFC 상세 |
|
||||
| PATCH | `/api/change/rfc/{id}` | RFC 수정 |
|
||||
| POST | `/api/change/rfc/{id}/submit` | 제출 |
|
||||
| POST | `/api/change/rfc/{id}/vote` | CAB 투표 |
|
||||
| POST | `/api/change/rfc/{id}/decide` | 결정 |
|
||||
| POST | `/api/change/rfc/{id}/schedule` | 일정 확정 |
|
||||
| POST | `/api/change/rfc/{id}/start` | 구현 시작 |
|
||||
| POST | `/api/change/rfc/{id}/complete` | 완료 |
|
||||
| POST | `/api/change/rfc/{id}/fail` | 실패 처리 |
|
||||
| GET | `/api/change/rfc/{id}/votes` | 투표 결과 |
|
||||
| GET/POST | `/api/change/freeze` | 동결 기간 관리 |
|
||||
| GET | `/api/change/freeze/check` | 동결 여부 확인 |
|
||||
| DELETE | `/api/change/freeze/{id}` | 동결 삭제 |
|
||||
| GET | `/api/change/calendar` | 변경 캘린더 |
|
||||
| GET | `/api/change/stats` | 통계 |
|
||||
|
||||
---
|
||||
|
||||
## 10. 보안
|
||||
|
||||
### 취약점 스캔 (D-4)
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| POST | `/api/vuln/scan` | 서버 취약점 스캔 |
|
||||
| GET | `/api/vuln/scans` | 스캔 이력 |
|
||||
| GET | `/api/vuln/scans/{id}` | 스캔 결과 |
|
||||
| POST | `/api/vuln/quick-check` | 빠른 점검 |
|
||||
| GET | `/api/vuln/cve/{cve_id}` | CVE 상세 |
|
||||
| POST | `/api/vuln/cvss` | CVSS 점수 계산 |
|
||||
| GET | `/api/vuln/stats` | 통계 |
|
||||
| GET | `/api/vuln/policies` | 스캔 정책 |
|
||||
| GET | `/api/vuln/patches` | 패치 이력 |
|
||||
| POST | `/api/vuln/scans/{id}/patch` | 패치 완료 등록 |
|
||||
| GET | `/api/vuln/patch-stats` | 패치 현황 통계 |
|
||||
| GET | `/api/vuln/overdue-patches` | 미패치 목록 |
|
||||
|
||||
### PAM 특권 접근 관리 (D-3)
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| POST | `/api/pam/sessions` | PAM 세션 발급 |
|
||||
| GET | `/api/pam/sessions` | 세션 목록 |
|
||||
| POST | `/api/pam/sessions/{id}/checkout` | 세션 체크아웃 |
|
||||
| POST | `/api/pam/sessions/{id}/checkin` | 세션 반납 |
|
||||
| POST | `/api/pam/sessions/{id}/approve` | 승인 |
|
||||
| POST | `/api/pam/sessions/{id}/reject` | 거부 |
|
||||
| POST | `/api/pam/sessions/{id}/execute` | 명령 실행 |
|
||||
| POST | `/api/pam/sessions/{id}/terminate` | 강제 종료 |
|
||||
| GET | `/api/pam/sessions/{id}/commands` | 명령 이력 |
|
||||
| GET | `/api/pam/policies` | 접근 정책 |
|
||||
| GET | `/api/pam/stats` | 통계 |
|
||||
|
||||
### 감사 로그 (D-5, 불변 해시체인)
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| GET | `/api/audit` | 감사 로그 목록 |
|
||||
| GET | `/api/audit/{id}` | 로그 상세 |
|
||||
| POST | `/api/audit/record` | 수동 로그 기록 |
|
||||
| GET | `/api/audit/stats` | 통계 |
|
||||
| GET | `/api/audit/verify` | 해시체인 검증 |
|
||||
| GET | `/api/audit/verify/{from}/{to}` | 구간 검증 |
|
||||
| GET | `/api/audit/export` | 감사 로그 내보내기 |
|
||||
| GET | `/api/audit/entity/{type}/{id}` | 엔티티별 로그 |
|
||||
|
||||
### LDAP/AD 연동 (D-1)
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| POST | `/api/ldap/authenticate` | LDAP 인증 |
|
||||
| GET | `/api/ldap/config` | 설정 조회 |
|
||||
| PUT | `/api/ldap/config` | 설정 변경 |
|
||||
| POST | `/api/ldap/test` | 연결 테스트 |
|
||||
| POST | `/api/ldap/sync/{username}` | 사용자 동기화 |
|
||||
| GET | `/api/ldap/users` | LDAP 사용자 목록 |
|
||||
| GET/PUT | `/api/ldap/group-map` | 그룹↔역할 매핑 |
|
||||
| GET | `/api/ldap/status` | 연결 상태 |
|
||||
|
||||
---
|
||||
|
||||
## 11. AI / 자동화
|
||||
|
||||
### AI 에이전트 시스템
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| GET/POST | `/api/agents` | 에이전트 목록/등록 |
|
||||
| GET | `/api/agents/stats` | 통계 |
|
||||
| POST | `/api/agents/{id}/heartbeat` | 하트비트 |
|
||||
| GET/POST | `/api/agents/{id}/tasks` | 에이전트 태스크 |
|
||||
| POST | `/api/agents/{id}/pause/resume` | 일시정지/재개 |
|
||||
| POST | `/api/agents/finetune/start` | 파인튜닝 시작 |
|
||||
| GET | `/api/agents/llm/health` | Ollama 상태 |
|
||||
|
||||
### 이상 탐지 (B-1)
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| POST | `/api/anomaly/detect` | 이상 탐지 실행 |
|
||||
| GET | `/api/anomaly/summary` | 탐지 요약 |
|
||||
| GET | `/api/anomaly/events` | 이벤트 목록 |
|
||||
| PATCH | `/api/anomaly/events/{id}/acknowledge` | 인지 처리 |
|
||||
| PATCH | `/api/anomaly/events/{id}/resolve` | 해결 처리 |
|
||||
| GET/POST | `/api/anomaly/rules` | 규칙 관리 |
|
||||
| POST | `/api/anomaly/metrics` | 메트릭 수집 |
|
||||
| POST | `/api/anomaly/simulate` | 시뮬레이션 |
|
||||
|
||||
### 예측 유지보수 (B-6)
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| POST | `/api/predictive/analyze/{source}` | 예측 분석 |
|
||||
| GET | `/api/predictive/health/{source}` | 건강도 조회 |
|
||||
| GET | `/api/predictive/lifecycle` | 수명 예측 |
|
||||
| POST | `/api/predictive/batch` | 일괄 분석 |
|
||||
| GET/PUT | `/api/predictive/thresholds` | 임계값 관리 |
|
||||
|
||||
### 챗봇 (B-2)
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| POST | `/api/chatbot/message` | 메시지 전송 |
|
||||
| GET | `/api/chatbot/sessions` | 세션 목록 |
|
||||
| DELETE | `/api/chatbot/sessions/{key}` | 세션 삭제 |
|
||||
| GET | `/api/chatbot/history/{key}` | 대화 이력 |
|
||||
|
||||
### 코드 리뷰 (B-3)
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| POST | `/api/code-review` | 심층 리뷰 |
|
||||
| POST | `/api/code-review/quick-scan` | 빠른 스캔 |
|
||||
| GET | `/api/code-review/{id}` | 리뷰 결과 |
|
||||
| GET | `/api/code-review/{id}/findings` | 발견 항목 |
|
||||
|
||||
### KB 자동 업데이트 (B-4) / 오케스트레이션 (B-5)
|
||||
|
||||
다수의 에이전트 협업 및 KB 관리 엔드포인트 (약 15개)
|
||||
|
||||
### 학습 루프 (Self-Improving)
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| POST | `/api/learning/detect-recurrence` | 재발 패턴 탐지 |
|
||||
| GET | `/api/learning/patterns` | 학습 패턴 |
|
||||
| GET | `/api/learning/lessons` | 교훈 목록 |
|
||||
| GET | `/api/learning/stats` | 학습 통계 |
|
||||
| POST | `/api/learning/mine` | 패턴 마이닝 |
|
||||
|
||||
---
|
||||
|
||||
## 12. 모니터링
|
||||
|
||||
### Scouter APM
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| GET | `/api/scouter/status` | 연결 상태 + 현황 |
|
||||
| GET | `/api/scouter/servers` | 모니터링 서버 목록 |
|
||||
| GET | `/api/scouter/servers/{hash}/metrics` | 실시간 메트릭 |
|
||||
| GET | `/api/scouter/servers/{hash}/services` | 활성 서비스 |
|
||||
| GET | `/api/scouter/servers/{hash}/xlog` | X-Log (트랜잭션) |
|
||||
| GET | `/api/scouter/alerts` | 경보 목록 |
|
||||
| POST | `/api/scouter/agent/deploy` | 에이전트 SSH 배포 |
|
||||
|
||||
### SSL 인증서 관리
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| GET | `/api/ssl/summary` | 만료 현황 요약 |
|
||||
| GET | `/api/ssl/expiring` | 만료 임박 목록 |
|
||||
| POST | `/api/ssl/check/{id}` | 인증서 점검 |
|
||||
| POST | `/api/ssl/renew/{id}` | 갱신 요청 |
|
||||
| GET | `/api/ssl/history/{id}` | 이력 조회 |
|
||||
|
||||
### 네트워크 토폴로지
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| GET | `/api/topology/graph` | 전체 CI 그래프 (D3.js) |
|
||||
| GET | `/api/topology/graph/{ci_id}` | 서브그래프 |
|
||||
| GET | `/api/topology/health` | 헬스 오버레이 |
|
||||
| GET | `/api/topology/page` | 인터랙티브 뷰어 HTML |
|
||||
|
||||
### 메트릭 / Grafana
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| GET | `/api/metrics/prometheus` | Prometheus 형식 |
|
||||
| GET | `/api/metrics/summary` | 메트릭 요약 |
|
||||
| GET | `/api/metrics/health` | 헬스체크 |
|
||||
| POST | `/api/metrics/query` | 메트릭 조회 |
|
||||
|
||||
---
|
||||
|
||||
## 13. 운영 관리
|
||||
|
||||
### 배포 파이프라인 (Vibe)
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| GET/POST | `/api/vibe` | 세션 목록/생성 |
|
||||
| POST | `/api/vibe/{id}/build` | 빌드 트리거 |
|
||||
| POST | `/api/vibe/{id}/deploy` | 배포 트리거 |
|
||||
| POST | `/api/vibe/{id}/impact-analysis` | **배포 영향 분석** |
|
||||
| POST | `/api/vibe/{id}/request-approval` | 승인 요청 |
|
||||
| GET | `/api/vibe/{id}/build/stream` | 빌드 로그 SSE |
|
||||
|
||||
### 배치 작업
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| GET/POST | `/api/batch/jobs` | 배치 목록/등록 |
|
||||
| POST | `/api/batch/jobs/{id}/enable` | 활성화 |
|
||||
| POST | `/api/batch/jobs/{id}/run` | 즉시 실행 |
|
||||
| GET | `/api/batch/runs/{id}/stream` | 실행 로그 SSE |
|
||||
|
||||
### On-Call 관리
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| GET | `/api/oncall/on-duty` | 현재 당직자 |
|
||||
| GET | `/api/oncall/today` | 오늘 당직 |
|
||||
| POST | `/api/oncall/escalate` | 에스컬레이션 |
|
||||
| POST | `/api/oncall/rotate/trigger` | 수동 로테이션 |
|
||||
|
||||
### 작업 타임테이블
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| GET | `/api/timetable` | 작업 목록 |
|
||||
| POST | `/api/timetable` | 작업 등록 |
|
||||
| GET | `/api/timetable/stats` | 통계 |
|
||||
| GET | `/api/timetable/export/excel` | Excel 다운로드 |
|
||||
|
||||
### PM (예방 점검)
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| GET/POST | `/api/pm/schedules` | PM 스케줄 관리 |
|
||||
| POST | `/api/pm/schedules/{id}/trigger` | 수동 실행 |
|
||||
| GET | `/api/pm/results/{id}` | 점검 결과 |
|
||||
| GET | `/api/pm/results/{id}/report` | 점검 보고서 |
|
||||
|
||||
---
|
||||
|
||||
## 14. 통합 연동
|
||||
|
||||
### 외부 API 게이트웨이
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| GET/POST | `/api/gateway/integrations` | 연동 목록/등록 |
|
||||
| POST | `/api/gateway/integrations/{id}/test` | 연동 테스트 |
|
||||
| POST | `/api/gateway/webhook/{key}` | 웹훅 수신 |
|
||||
| POST | `/api/gateway/send/{id}` | 아웃바운드 발송 |
|
||||
|
||||
### Jira/Confluence 연동 (G-9)
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| POST | `/api/gateway/jira/sync/{sr_id}` | SR → Jira 이슈 |
|
||||
| GET | `/api/gateway/jira/status/{key}` | Jira 상태 조회 |
|
||||
| GET | `/api/gateway/jira/projects` | Jira 프로젝트 목록 |
|
||||
| POST | `/api/gateway/confluence/publish` | KB → Confluence |
|
||||
|
||||
### 그룹웨어 전자결재
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| POST | `/api/groupware/send-approval` | 결재 요청 발송 |
|
||||
| POST | `/api/groupware/callback` | 승인/반려 콜백 |
|
||||
| GET | `/api/groupware/approvals` | 결재 이력 |
|
||||
| GET | `/api/groupware/config` | 연동 설정 현황 |
|
||||
|
||||
**지원 플랫폼:** 카카오워크, 네이버웍스, 한컴오피스, 사용자 정의 웹훅
|
||||
|
||||
### SIEM 보안 이벤트
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| POST | `/api/siem/events` | 이벤트 전송 |
|
||||
| POST | `/api/siem/events/batch` | 일괄 전송 |
|
||||
| POST | `/api/siem/alert/receive` | SIEM 경보 수신 (역방향) |
|
||||
| GET | `/api/siem/events` | 이벤트 조회 |
|
||||
| GET | `/api/siem/stats` | 연동 통계 |
|
||||
|
||||
**지원 플랫폼:** Elasticsearch, Splunk HEC, OpenSearch
|
||||
|
||||
### 메신저 봇
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| POST | `/api/messenger/webhook` | 이벤트 수신 |
|
||||
| POST | `/api/messenger/bot/command` | 봇 명령어 처리 |
|
||||
|
||||
**슬래시 명령어:**
|
||||
|
||||
| 명령어 | 기능 |
|
||||
|--------|------|
|
||||
| `/sr <제목>` | SR 빠른 접수 |
|
||||
| `/status` | 시스템 현황 |
|
||||
| `/license` | 라이선스 상태 |
|
||||
| `/bulk <action> <SR-IDs>` | SR 대량 처리 |
|
||||
| `/pms <코드>` | 프로젝트 현황 |
|
||||
| `/report <코드> [daily\|weekly\|monthly]` | 보고서 발송 |
|
||||
| `/deliverables <코드>` | 산출물 현황 |
|
||||
| `/issues <코드>` | 미결 이슈 |
|
||||
| `/scan` | 보안 점검 |
|
||||
| `/checklist` | 공공기관 체크리스트 |
|
||||
| `/perf [url]` | 성능 테스트 |
|
||||
| `!vibe`, `!build`, `!deploy` | 배포 제어 |
|
||||
| `!sm`, `!health`, `!log` | SM 원격 제어 |
|
||||
|
||||
---
|
||||
|
||||
## 15. 준수성 / 품질
|
||||
|
||||
### 시큐어코딩 / 웹접근성 / 개인정보보호
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| POST | `/api/compliance/scan` | 전체 프로젝트 스캔 |
|
||||
| GET | `/api/compliance/results` | 최근 결과 조회 |
|
||||
| GET | `/api/compliance/rules` | 점검 규칙 목록 |
|
||||
| POST | `/api/compliance/scan/file` | 단건 파일 점검 |
|
||||
| GET | `/api/compliance/report/html` | HTML 보고서 |
|
||||
| GET | `/api/compliance/report/excel` | Excel 보고서 |
|
||||
|
||||
**점검 규칙:** SC-8개 (시큐어코딩) + WA-7개 (웹접근성) + PI-6개 (개인정보)
|
||||
|
||||
### 성능 테스트 (JMeter)
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| POST | `/api/perf/upload/jtl` | JTL 파일 업로드 분석 |
|
||||
| POST | `/api/perf/run` | 내장 부하 테스트 |
|
||||
| GET | `/api/perf/results` | 결과 목록 |
|
||||
| GET | `/api/perf/results/{id}` | 결과 상세 |
|
||||
| GET | `/api/perf/results/{id}/html` | HTML 보고서 |
|
||||
| GET | `/api/perf/results/{id}/excel` | Excel 보고서 |
|
||||
|
||||
**측정 지표:** TPS, 평균/P50/P90/P95/P99 응답시간, 에러율
|
||||
|
||||
### 공공기관 체크리스트
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| GET | `/api/public/checklist` | 19개 항목 목록 |
|
||||
| POST | `/api/public/checklist/{id}/check` | 항목 완료 처리 |
|
||||
| GET | `/api/public/status` | 이행 현황 요약 |
|
||||
| GET | `/api/public/report/html` | HTML 보고서 |
|
||||
|
||||
**법적 근거:** 행안부 정보화사업 관리지침, 개인정보보호법, 장애인차별금지법
|
||||
|
||||
---
|
||||
|
||||
## 16. 고객 포털
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| POST | `/api/portal/sr` | SR 접수 (AI 자동분류) |
|
||||
| GET | `/api/portal/sr` | 내 SR 목록 |
|
||||
| GET | `/api/portal/sr/{sr_id}` | SR 상세 + 타임라인 |
|
||||
| POST | `/api/portal/sr/{sr_id}/rate` | 처리 만족도 평가 |
|
||||
| POST | `/api/portal/faq/suggest` | **AI 자가해결 추천** |
|
||||
| GET | `/api/portal/catalog` | 서비스 카탈로그 |
|
||||
| GET | `/api/portal/announcements` | 공지사항 |
|
||||
| GET | `/api/portal/stats` | 내 기관 통계 |
|
||||
|
||||
---
|
||||
|
||||
## 17. 포트폴리오 / 리소스
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| GET | `/api/portfolio/dashboard` | 전체 프로젝트 포트폴리오 |
|
||||
| GET | `/api/portfolio/kpi` | 집계 KPI |
|
||||
| GET | `/api/portfolio/projects/{id}/resources` | 인원 배치 현황 |
|
||||
| POST | `/api/portfolio/projects/{id}/resources` | 인원 배치 등록 |
|
||||
| GET | `/api/portfolio/resources/availability` | 가용 인력 조회 |
|
||||
| GET | `/api/portfolio/resources/{user}/skills` | 역량 조회 |
|
||||
| POST | `/api/portfolio/resources/{user}/skills` | 역량 등록 |
|
||||
|
||||
---
|
||||
|
||||
## 18. 인프라 확장
|
||||
|
||||
### Zero Trust 지속 인증
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| POST | `/api/infra/zero-trust/verify` | 세션 재검증 |
|
||||
| GET | `/api/infra/zero-trust/sessions` | 활성 세션 목록 |
|
||||
|
||||
### Kubernetes 모니터링
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| GET | `/api/infra/k8s/pods` | 파드 목록/상태 |
|
||||
| GET | `/api/infra/k8s/services` | 서비스 목록 |
|
||||
| GET | `/api/infra/k8s/nodes` | 노드 리소스 |
|
||||
|
||||
### ERP 예산 연동
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| GET | `/api/infra/erp/budget/{code}` | 예산 조회 + 동기화 |
|
||||
| GET | `/api/infra/erp/status` | 연동 설정 현황 |
|
||||
|
||||
---
|
||||
|
||||
## 19. 메신저 봇 (상세)
|
||||
|
||||
```
|
||||
POST /api/messenger/webhook
|
||||
Body: MessengerEvent { event, room, sr_id, title, ... }
|
||||
응답: { ok: true }
|
||||
|
||||
POST /api/messenger/bot/command
|
||||
Body: BotCommand { room, user, command }
|
||||
응답: BotReply { room, text }
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 20. 라이선스
|
||||
|
||||
| Method | Endpoint | 설명 |
|
||||
|--------|----------|------|
|
||||
| GET | `/api/license/status` | 라이선스 상태 |
|
||||
| POST | `/api/license/trial` | 7일 무료 체험 시작 |
|
||||
| POST | `/api/license/activate` | 라이선스 키 등록 |
|
||||
| POST | `/api/license/verify` | 키 검증 (등록 없음) |
|
||||
| DELETE | `/api/license/` | 비활성화 |
|
||||
| GET | `/api/license/history` | 등록 이력 |
|
||||
|
||||
**에디션:** TRIAL (7일) / COMMUNITY (무료) / STANDARD / ENTERPRISE
|
||||
|
||||
---
|
||||
|
||||
## 공통 규칙
|
||||
|
||||
### 인증
|
||||
|
||||
```http
|
||||
Authorization: Bearer {access_token}
|
||||
```
|
||||
|
||||
### 응답 코드
|
||||
|
||||
| 코드 | 의미 |
|
||||
|------|------|
|
||||
| 200 | 성공 |
|
||||
| 201 | 생성 성공 |
|
||||
| 204 | 삭제 성공 |
|
||||
| 400 | 잘못된 요청 |
|
||||
| 401 | 인증 필요 |
|
||||
| 403 | 권한 없음 |
|
||||
| 404 | 리소스 없음 |
|
||||
| 409 | 충돌 (중복) |
|
||||
| 422 | 유효성 검증 실패 |
|
||||
| 500 | 서버 오류 |
|
||||
| 503 | 외부 서비스 불가 (Ollama/SIEM/K8s 미설정) |
|
||||
|
||||
### 보안 정책
|
||||
|
||||
- 서버 자격증명 (IP, SSH 비밀번호) API 응답에서 완전 제외
|
||||
- 스택트레이스 미노출 — SR ID + 요약 메시지만 반환
|
||||
- AES-256-GCM 암호화 저장 (os_pw_enc)
|
||||
- root SSH 직접 접속 금지 — opsagent 계정 전용
|
||||
- 모든 LLM 추론: localhost:11434 (Ollama) 전용, 외부 API 절대 금지
|
||||
|
||||
### Copyright
|
||||
|
||||
```
|
||||
Copyright © 2026 GUARDiA All Rights Reserved.
|
||||
X-Powered-By: GUARDiA ITSM 2.0
|
||||
X-Copyright: Copyright 2026 GUARDiA All Rights Reserved
|
||||
```
|
||||
Loading…
Reference in New Issue
Block a user