本卡屬 FR-114 資安修正(母卡 CM-2019),第 5 批「信任鏈與客戶層級設定」卡 5A-5,修 M13 第 17 條(補進,不在 145 件 SUMMARY 內)與 SUMMARY #92(出自 M09-3)。中。修法規格來自內化卡 CM-2017(M13 部分)與 CM-1987(M09 部分),計畫在 docs/features/FR-114-2609-security-fix-dispatch/batches/plan-b5A.md「卡 5A-5」段。

問題是什麼(白話)

M13 第 17 條:帳號被管理員停權(停用)之後,這個帳號手上已經拿到的通行證(token)與自動續期功能仍然可以繼續使用——目前系統只檢查「這支通行證有沒有被單獨撤銷」與「帳號存不存在」,沒有檢查「帳號現在是不是已經被停權」。

#92:日誌轉送設定只提供兩個明文傳送選項(UDP/TCP),沒有加密選項,客戶內網上跑的日誌內容完全是明文,可能被攔截。

首腦核對:

工作區

在哪裡

jedi-iam/jedi_iam/middleware/core.py:74-82    is_token_revoked
jedi-iam/jedi_iam/middleware/core.py:84-87    _lookup_user,只查帳號存在,新判斷要加在這裡
jedi-iam/jedi_iam/middleware/core.py:103    _lookup_user 內含 elevated_readonly_scope 提權,⚠️不提權會全站401,新判斷要在拿回的user物件上判斷、不要另開查詢
jedi-iam/jedi_iam/middleware/core.py:35    reason 清單
jedi-iam/jedi_iam/middleware/jwt_mw.py:162-163    check_if_token_revoked,HTTP 路徑
jedi-iam/jedi_iam/middleware/jwt_mw.py:157-158    revoked_token_callback
jedi-iam/jedi_iam/middleware/jwt_mw.py:67    錯誤碼清單
jedi-iam/jedi_iam/middleware/jwt_mw.py    ⚠️HTTP 路徑傳 None 給 login_token_service、socket 路徑必須傳,兩條路徑都要補到(典型兩入口問題)
jedi-iam/jedi_iam/api/routes/login_route.py:84    refresh_auth_required
jedi-iam/jedi_iam/api/routes/login_route.py:87    refresh_user_token
jedi-iam/jedi_iam/api/routing.py:89    /refresh 路由
jedi-iam/jedi_iam/api/guards.py:60-61    守門相關
jedi-iam/jedi_iam/app/service/login_service.py:133    create_refresh_token
jedi-iam/jedi_iam/app/service/login_service.py:137    add_token_to_db
jedi-log/jedi_api_log/forwarding/domain/service/log_forwarding_setting_domain_service.py:20    VALID_TRANSPORTS,#92 核心
jedi-log/jedi_api_log/forwarding/infra/model/log_forwarding_setting.py:37    transport String(10) 欄位,寬度需確認
jedi-log/jedi_api_log/forwarding/common/forwarder.py:177-182    socktype 分支,加密要包 TLS 在此
jedi-log/jedi_api_log/forwarding/common/gelf_handler.py:76,80,142,158-159    GELF 側,兩條路都要支援(兩入口只改一邊)
jedi-log/jedi_api_log/forwarding/app/service/log_forwarding_app_service.py:158    delivery_confirmed 寫死 ==tcp
jedi-log/jedi_api_log/forwarding/app/service/log_forwarding_app_service.py:183-185    寫死 udp 提示
jedi-log/jedi_api_log/forwarding/app/service/log_forwarding_app_service.py:105,145    測試發送端點
jedi-log/jedi_api_log/forwarding/api/serializers/log_forwarding.py    序列化層
compliance-manager-fe/src/views/log-forwarding/LogForwardingForm.vue:69-72    transportOptions computed
compliance-manager-fe/src/views/log-forwarding/LogForwardingForm.vue:271-276    Dropdown template,照抄 :258-263 的 protocol 下拉
compliance-manager-fe/src/views/log-forwarding/LogForwardingForm.vue:52    預設值
compliance-manager-fe/src/views/log-forwarding/LogForwardingForm.vue:111    fallback
compliance-manager-fe/src/views/log-forwarding/LogForwardingForm.vue:162    送出 payload
compliance-manager-fe/src/i18n/zh-tw/log-forwarding.json:11-14    transport_hint 文案
compliance-manager-fe/src/i18n/en/log-forwarding.json:11-14    transport_hint 文案(英文)

怎麼修