作者:孫玉梅

注:本文數據都為模擬生成。

引言

過去兩年,電商客服、工單、物流等環節的自動化正急速推進。一個智能助手可以同時處理上百條退款請求、物流查詢、賬單追蹤;它不知疲倦地與用户對話,也在後台不停調用接口、記錄日誌、彙總報表。在這些自動化交互中,隱藏着大量敏感數據:

  • 用户諮詢裏可能出現手機號、訂單號、收貨地址;
  • 後端業務日誌中常常包含銀行卡號、接口 IP、賬户 ID;
  • 工單流轉過程中甚至會附帶內部 Token、用户名。

這些信息若在系統內未經處理地流轉、存儲或導出,不僅違反數據最小化原則,更可能在調試、共享或導出日誌時意外泄露。然而,現實場景中我們又無法簡單地“少打日誌”或“去掉字段”。日誌是運維排障的工具,是運營分析的基礎,也是安全審計的依據。

【代碼實踐】無需複雜正則!阿里雲SLS一鍵搞定日誌脱敏,告別隱私數據“裸奔”!_運維

本文將以一個電商 Copilot Demo 為例,展示如何藉助阿里雲日誌服務(SLS)的脱敏函數,在不改變業務邏輯的前提下,確保系統中的敏感數據隱私安全。

方案全景:智能化與數據安全的融合

整體設計

【代碼實踐】無需複雜正則!阿里雲SLS一鍵搞定日誌脱敏,告別隱私數據“裸奔”!_用户信息_02

系統的上層編排由 Dify 平台完成,Dify 負責協調用户輸入、意圖識別、調用後端服務以及生成回覆,是整個 Copilot 系統的中樞。

【代碼實踐】無需複雜正則!阿里雲SLS一鍵搞定日誌脱敏,告別隱私數據“裸奔”!_數據_03

但在實踐中發現一個關鍵問題,Dify 自身的數據鏈路觀測並不細粒度,主要體現在:

  • 平台主要提供節點級執行日誌;
  • 但對下游 API 調用、異常堆棧、耗時分佈的觀測有限;
  • 出現故障時,Dify 內置日誌往往不足以支撐排障與審計。

因此,選擇在 Dify 服務部署側通過 LoongCollector 採集服務日誌,通過 LoongCollector 將日誌統一推送到 SLS LogStore。

  • 數據流: 採集來源統一,同時採集 Dify 編排日誌、後端服務日誌、系統標準輸出,並以固定的日誌格式輸出,完整的數據流轉時序圖如下:

【代碼實踐】無需複雜正則!阿里雲SLS一鍵搞定日誌脱敏,告別隱私數據“裸奔”!_用户信息_04

  • 寫入脱敏: 通過寫入處理器配置 SPL 脱敏(mask)函數,確保敏感字段在入庫時已被打碼。
  • 使用層: 不管是運維、運營或者安全同學,都可以基於脱敏的 Logstore 數據做可以做相關業務分析。

日誌鏈路

數據採集

LoongCollector [ 1] 作為一款輕量級日誌採集工具,支持採集主機文本日誌、Kubernetes 集羣容器日誌、HTTP 數據等不同的數據源,當前 Copilot Demo 日誌以 JSON 格式打印在主機日誌目錄中,此處接入單行文本日誌即可:

【代碼實踐】無需複雜正則!阿里雲SLS一鍵搞定日誌脱敏,告別隱私數據“裸奔”!_運維_05

配置日誌所在的文件路徑:

【代碼實踐】無需複雜正則!阿里雲SLS一鍵搞定日誌脱敏,告別隱私數據“裸奔”!_運維_06

寫入脱敏

SLS 提供的 mask(脱敏)函數,支持內置和關鍵字匹配兩種模式,能高效、精準地識別並脱敏日誌中的敏感信息:

  • 內置匹配(buildin): mask 函數開箱即用,內置了對常見 6 種敏感信息(如手機號、身份證、郵箱、IP 地址、座機電話、銀行卡號)的識別能力。
  • 關鍵字匹配(keyword): 智能識別任意文本中符合 "key":"value"、'key':'value' 或 key=value 等常見 KV 對格式的敏感信息。

針對文中電商 copilot 日誌,在對應的 project 中新建數據處理器(配置下圖 SPL 配置),即可智能識別並對 IP 地址、郵箱等敏感內容進行脱敏。其中手機號、身份證號、信用卡號、姓名以及地址信息,定製化地保留前後綴。詳細配置介紹可參見《無需複雜正則:SLS 新脱敏函數讓隱私保護更簡單高效》。

【代碼實踐】無需複雜正則!阿里雲SLS一鍵搞定日誌脱敏,告別隱私數據“裸奔”!_數據_07

  • 配置寫入處理器使任務生效:選擇待應用的 logstore,在寫入處理器 tab 中應用上面新建的處理任務。

【代碼實踐】無需複雜正則!阿里雲SLS一鍵搞定日誌脱敏,告別隱私數據“裸奔”!_運維_08

脱敏前後日誌對比

【代碼實踐】無需複雜正則!阿里雲SLS一鍵搞定日誌脱敏,告別隱私數據“裸奔”!_運維_09

對比脱敏前的數據可以看到:

  • 按需保留,安全與可用性兼顧: 針對不同敏感字段,可定製化保留前後綴字符。手機號保留前三後四位,既保護了用户隱私,又方便運維人員進行問題排查和用户身份核驗,在保障安全的同時兼顧了數據可用性。
  • 配置極簡,無需正則: 關鍵字匹配模式下,即使數據嵌套多層 JSON 結構,也只需配置最內層的 Key 即可精準匹配 Value 進行脱敏,同時無需編寫複雜的正則表達式來兼容各種 key:value 對格式,大大降低了配置難度。
  • 中文精準脱敏: 姓名與地址精確按照配置的規則進行打碼,避免因編碼問題導致脱敏失效。

此外,mask 函數相較於使用正則表達式進行脱敏,在性能上具有顯著優勢,可有效降低日誌處理延遲,提升整體性能。尤其是在複雜或者數據量巨大的場景下,性能優勢更為明顯。

使用層日誌分析

數據脱敏讓同一份日誌呈現出三種“視角”:

  • 運維看到調用鏈與性能瓶頸,卻看不到隱私;
  • 運營看到趨勢、效率與體驗,卻看不到個體;
  • 安全看到策略執行與留痕證據,卻無需擔心遺漏。

在這套體系中,數據不再是一座孤島,而是一套有邊界的智能資產,數據合規、分析、排障三者可以並行。

運維工程師:定位

對於運維團隊來説,以往排障往往依賴包含用户手機號、地址、賬户號的明文日誌,這在合規上存在高風險。現在,脱敏後的日誌讓這一過程從源頭安全化,在問題定位場景中通過 trace_id 檢索即可復原整個調用鏈:

  • 從 Copilot 的意圖識別開始;
  • 到訂單服務 → 退款服務 → 第三方支付網關;
  • 再到返回結果與耗時。

需要核對用户身份時,日誌裏只保留了脱敏後的銀行卡號、手機號等信息,足以和業務側“同一用户”比對,而不會暴露原值。即便是跨團隊協查,也能直接在脱敏日誌上定位問題,避免泄露風險。

【代碼實踐】無需複雜正則!阿里雲SLS一鍵搞定日誌脱敏,告別隱私數據“裸奔”!_運維_10

運營團隊:分析

報表的價值在於發現整體趨勢,而非窺探個人信息。在脱敏運營報表中,用户信息已匿名化處理,僅保留關鍵業務指標,助力團隊從數據中挖掘洞察。

【代碼實踐】無需複雜正則!阿里雲SLS一鍵搞定日誌脱敏,告別隱私數據“裸奔”!_用户信息_11

從這份報表中,運營團隊可以快速瞭解:

  • 整體概況:UV、PV 等關鍵指標,Copilot 交互次數,以及諮詢總量,快速掌握運營概況。
  • 諮詢分類:退款、商品、物流諮詢佔比,清晰瞭解用户關注點。
  • 問題分類:掌握用户提問的側重點,如功能、價格、規格等。
  • 重複諮詢率:衡量服務質量,快速定位需要優化的環節。
  • 用户行為:諮詢後購買轉化漏斗,以及熱門諮詢關鍵詞,助力優化產品和營銷策略。
  • 重點用户:Top 10 諮詢用户,雖然用户信息脱敏,但可通過 VIP 等級和諮詢次數,制定差異化服務策略。

此外,報表中所有用户信息都經過脱敏處理,電話號碼、姓名等個人信息均被掩碼,確保無法反推到具體用户,充分保障用户隱私。

安全與合規團隊:審計

對安全與合規團隊而言,日誌的最大風險在於“存量明文”。本文中的脱敏方案將脱敏前置:數據在寫入前已被處理,這從根本上消除了敏感數據脱敏覆蓋不全與導出明文數據的可能。此外,SLS 還提供完善的合規支撐能力:

  • 數據存儲:支持自定義日誌存儲時間,對網絡審計相關日誌設置>180 天的存儲天數,滿足安全審計要求。

【代碼實踐】無需複雜正則!阿里雲SLS一鍵搞定日誌脱敏,告別隱私數據“裸奔”!_運維_12

  • 數據操作審計:日誌使用過程中會存在用户級操作行為,這些不管是管控層面的控制枱操作、OpenAPI 調用,或者數據面的業務日誌使用,任何人查看、分析、導出日誌,都只在授權範圍內看到應當看到的內容。同時 CloudLens for SLS [ 2] 還提供 Project、Logstore 的資產使用監控。

小結

當 LoongCollector 的日誌採集與 LogStore 的數據脱敏連成閉環,日誌在落庫同時完成安全轉化。運維能定位,運營能分析,安全能審計。這不是一次性的加固,而是一條可複用的路徑:寫入側脱敏 + 默認脱敏落庫 + 角色化訪問。以此為基線,企業能放心擴展 Copilot 的業務覆蓋,讓“效率紅利”與“合規確定性”並行存在。

相關鏈接:

[1] LoongCollector

https://help.aliyun.com/zh/sls/what-is-sls-loongcollector

[2] CloudLens for SLS

https://help.aliyun.com/zh/sls/cloudlens-for-sls/