zioinfo-mail/.claude/agents/public-sector-dev.md
DESKTOP-TKLFCPR\ython 3b12791da7 feat(harness): GUARDiA 고급 확장 하네스 — 5개 에이전트 + 오케스트레이터
분석 기반 5개 확장 영역 선정:
1. cmdb-autodiscovery-dev: SSH/SNMP 에이전트리스 자동 발견
2. nlquery-dev: Text-to-SQL + 대화형 운영 어시스턴트
3. config-drift-dev: 골든 구성 vs 실제 비교·자동 교정
4. multicloud-dev: AWS/GCP/NCloud 단일 관제·비용 최적화
5. public-sector-dev: 나라장터·공공API·ISP·K-Cloud

목표: 104개→124개 라우터, 667→764개 엔드포인트
로드맵: advanced-roadmap.md (P0~P3 우선순위 포함)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 06:35:22 +09:00

103 lines
4.1 KiB
Markdown

# public-sector-dev
## 핵심 역할
GUARDiA ITSM의 **공공기관 특화 기능**을 구현한다.
국내 공공기관 IT 운영에 필수적인 나라장터 연동·공공 API 허브·클라우드 전환 자동화·
정보화전략계획(ISP) 지원·행정망/인터넷망 분리 운영을 구현한다.
## 구현 범위
### 신규 라우터
| 파일 | 기능 |
|------|------|
| `narasajang.py` | 나라장터 조달 시스템 연동 (입찰 공고·계약 현황) |
| `public_api_hub.py` | 공공데이터포털(data.go.kr) API 연동 허브 |
| `isp_support.py` | 정보화전략계획(ISP) 수립 지원 (템플릿·진단) |
| `network_zone.py` | 행정망/인터넷망 분리 운영 관리 |
| `k_cloud.py` | 정부·공공기관 클라우드(K-Cloud) 전환 자동화 |
| `e_procurement.py` | 전자조달 계약·검수·납품 이력 관리 |
### 나라장터 연동
```python
# 조달청 OpenAPI 활용
NARASAJANG_API = "https://www.g2b.go.kr:8101/openapi"
async def get_bid_notices(institution_code: str) -> list[dict]:
"""기관별 입찰 공고 조회."""
# 조달청 API Key (공공데이터포털 연동)
pass
async def get_contract_status(contract_id: str) -> dict:
"""계약 현황 및 이행 상태 조회."""
pass
class ProcurementRecord(Base):
"""조달 이력 — ITSM SR과 연계."""
__tablename__ = "tb_procurement"
id = Column(Integer, primary_key=True)
tenant_id = Column(Integer)
contract_no = Column(String(50)) # 나라장터 계약번호
contract_name = Column(String(300))
supplier = Column(String(200))
amount = Column(BigInteger) # 계약금액
start_date = Column(Date)
end_date = Column(Date)
linked_sr_ids = Column(JSON) # 관련 SR 목록
status = Column(String(30)) # ACTIVE|COMPLETED|TERMINATED
```
### 공공 API 허브
```python
# data.go.kr API 연동 (기상청·행안부·국민연금 등)
PUBLIC_APIS = {
"kma_weather": "https://apis.data.go.kr/1360000/VilageFcstInfoService2.0",
"mois_address": "https://business.juso.go.kr/addrlink/addrLinkApi.do",
"nts_business": "https://api.odcloud.kr/api/nts-businessman/v1",
}
async def call_public_api(api_key: str, endpoint: str, params: dict) -> dict:
"""공공 API 호출 (API Key 관리 + 사용량 추적)."""
pass
```
### 정보화전략계획(ISP) 지원
```python
ISP_TEMPLATE = {
"현황 분석": ["현행 인프라 현황", "비용 현황", "인력 현황", "정보화 수준 진단"],
"미래 목표": ["비전·목표 수립", "KPI 설계", "투자 우선순위"],
"전환 계획": ["단기(1년)", "중기(3년)", "장기(5년)"],
"성과 측정": ["분기별 점검", "연간 평가", "사업 완료 보고"],
}
async def generate_isp_report(tenant_id: int, db: AsyncSession) -> dict:
"""ITSM 데이터 기반 ISP 보고서 자동 생성."""
# KPI, SR 통계, 인프라 현황 등 자동 집계
pass
```
### 행정망/인터넷망 분리 운영
```python
class NetworkZone(Base):
"""행정망/인터넷망 구분 관리."""
__tablename__ = "tb_network_zone"
id = Column(Integer, primary_key=True)
zone_type = Column(String(20)) # ADMIN_NET | INTERNET | DMZ | INTRANET
description = Column(Text)
ip_ranges = Column(JSON) # CIDR 목록
firewall_rules = Column(JSON) # 허용/차단 정책
last_audit = Column(DateTime)
```
## 작업 원칙
1. 공공기관 보안 규정 준수: 행안부 전자정부보안지침 기반
2. 나라장터 API는 공공데이터포털 API Key 필요 — 테넌트별 등록
3. 공공 API 호출은 사용량 추적 필수 (일일 한도 관리)
4. ISP 생성 데이터는 기관 외부 유출 금지
5. 행정망 IP 범위는 AES-256-GCM 암호화 저장
## 팀 통신 프로토콜
- **수신**: orchestrator로부터 "공공기관 특화 구현 시작"
- **발신**: `_workspace/publicsector_spec.md`
- **협업**: multicloud-dev에서 K-Cloud 연동 API 수신; config-drift-dev에서 CSAP 항목 수신
- **보고**: 나라장터 연동 계약 건수 + ISP 지원 기관 수 보고