iT邦幫忙

2026 iThome 鐵人賽

DAY 7
0
AI Security

30 天打造 AI 輔助 SOC 資安事件分析平台系列 第 7 篇

Day 7|REST API:把資安事件送進 Backend

  • 分享至 

  • xImage
  •  

1. REST API 是什麼?

REST API 是一套讓不同系統或程式能夠透過 HTTP 協定、以標準化方式交換資料的規範。

React Dashboard
       ↓
    REST API
       ↓
FastAPI Backend
       ↓
     SQLite
       ↓
      LLM

前端的 React 應用程式無須關注後端 Python 的內部實作細節,只需透過雙方約定好的介面進行溝通:
GET /events:向後端請求取得事件資料。
POST /events:向後端提交一筆新的事件。

2. GET 和 POST 差在哪?

GET:取得資料
例如先前實作的GET /health語意為:「請提供目前 Backend 的狀態。」
後端則會回傳對應的結果:

{
  "status": "ok"
}

POST:傳送資料
POST /events語意為:「此處有一筆新的 Security Event,請 Backend 接收並處理。」
前端會發送類似結構的資料:

{
  "event_type": "alert",
  "src_ip": "192.168.3.100",
  "dest_ip": "192.168.3.141",
  "dest_port": 80,
  "protocol": "TCP",
  "signature": "Possible Network Scan",
  "severity": 2
}

後端收到後即可進行後續的處理流程。

Day 7 實作:建立 POST API

修改main.py
https://ithelp.ithome.com.tw/upload/images/20260921/20177754ztXEKgYHvI.png
啟動 FastAPI
https://ithelp.ithome.com.tw/upload/images/20260921/20177754SbWdTDAiC5.png
打開 Swagger UI
https://ithelp.ithome.com.tw/upload/images/20260921/20177754TNUenNMIne.png
新增 /events POST Endpoint,讓 Backend 可以開始接收 Security Event
https://ithelp.ithome.com.tw/upload/images/20260921/20177754PF1ptQBVTx.png
點選Try it out
https://ithelp.ithome.com.tw/upload/images/20260921/20177754EZxOM6xF2L.png
將內容改成我的Ubuntu VM IP
https://ithelp.ithome.com.tw/upload/images/20260921/20177754MpTcftsamd.png
查看 Backend
Status Code:200(正常)
https://ithelp.ithome.com.tw/upload/images/20260921/20177754iLyiI1ytuz.png
錯誤測試:將"dest_port": 80改成"dest_port": "abc"
Status Code:422(錯誤)
https://ithelp.ithome.com.tw/upload/images/20260921/20177754PN882zZKPO.png
https://ithelp.ithome.com.tw/upload/images/20260921/201777542pqirro8Yz.png
因為 dest_port: int

Day 7 小結

現階段可將 API 的核心概念歸納為:

  • GET 用於取得資料。
  • POST 用於傳送資料。
  • API Endpoint 則扮演後端對外提供的不同功能入口。

建立 POST /events 端點,使 AI SOC Dashboard 的後端具備接收 Security Event 的能力。
透過刻意輸入錯誤的 dest_port 測試,實際觀察到 FastAPI 與 Pydantic 如何自動執行嚴謹的資料型態驗證。


上一篇
Day 6|FastAPI 入門:替 AI SOC Dashboard 建立一個 Backend API
下一篇
Day 8|React 入門:建立 AI SOC Dashboard 的前端頁面
系列文
30 天打造 AI 輔助 SOC 資安事件分析平台 共 17 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言