SNP乾貨分享:SAP資料脫敏的具體實施步驟

snpgroup發表於2024-01-29

為什麼談 ?
SAP進入中國市場超過30年,作為一個典型的德國思維的產品,我們很難找到另一個市值這麼大的軟體,在過去的幾十年中,一直活的這麼滋潤,沒有太多的挑戰,而且軟體本身的變化肉眼可見的不大。


但近年來,這個固有的套路不斷的被挑戰,背後的推手有很多,我個人理解較大有兩個。一個是AI的技術,使得傳統SAP顧問不敢去想的一些功能,例如預測性分析,自然語言處理(NLP),影像識別,RPA,Machine Learning,AI驅動的業務流程最佳化等等,變成了可能,另一個是資料治理和隱私保護的日益重視。不管是法律法規還是大家的意識,都需要實現更先進的資料治理和隱私保護功能,以確保資料的質量、安全和合規性。

本篇是個知識分享篇,更多的是想借助團隊剛剛完成的SAP資料脫敏的專案,聊聊相關的業務需求,系統架構和技術實現的關鍵點。


SAP資料脫敏的需求有哪些
這裡不去談什麼高大上的定義和論述。更多的引述我們實際專案的需求。


第一個專案,一個體量龐大的德國S記跨國集團,需要把一塊業務板塊整體切割出去,屬於Carve Out 專案。切出去的系統除了SAP,還有若干個其他系統,SAP是這些系統的骨幹系統(Backbone system)。專案的公司程式碼拆分部分,和第三方系統與SAP整合部分,都需要有大量的業務資料來支撐測試。因此,專案組同事以生產機為源系統(Source System),重新整理(System Refresh)了一個新的系統,其中只包含待切出業務板塊的資料。以這個新系統為測試系統,提供給各路人馬進行整合及測試工作。但這個德國企業嚴格遵循GDPR的要求,這個測試系統的資料必須對敏感資料進行脫敏操作。待處理的資料主要是員工的個人資訊(包含姓名,生日,住址,銀行資訊,聯絡方式,個人薪資,個人合同等等)。


第二個專案,是日本的一家生產辦公用品的A記公司。該公司需要升級SAP系統,並整合更多的外圍系統。與S記公司類似,A記公司也準備了包含生產機資料的測試系統。A記公司希望,除了員工資料,也希望對BP資料進行脫敏工作。


SAP資料脫敏的工具
市場上有幾款能完成SAP資料脫敏的工具產品。下面主要是介紹是SNP公司的TDO工具技術路徑講解和截圖。


SAP資料脫敏的關鍵要點 – 系統架構
考慮到方案的嚴謹性和運作的持續性,用源系統-控制機-目標系統的三位一體的架構更好。 架構可以參照一下圖例:



中間的Cockpit 控制機可以裝在SOLMAN上,如果SOLMAN條件不具備,也可以裝在源系統上。上述的功能點可以透過在安裝過程中引入TR的方式來實現。在此過程中,也需要注意許可權的管控。


SAP資料脫敏的關鍵要點 – 敏感資料的池化資料(Pool Data)
舉個例子說明這個要點。某員工的家庭住址資訊需要脫敏,他的住址是上海市浦東新區金海路x弄x號,郵編201209。我們怎樣做一個masking,用一個新的地址去替換呢?

我們不能用同一個地址強行付給所有的員工(或者BP),例如,北京市東長安街天安門廣場。 這個不太嚴謹,而且後續的一些業務流程也需要要到地址資訊。

我們也不能用太虛假或自相矛盾的一個masking 資料,例如,我們不能有一個地址是類似是天津市凱達格蘭大道這樣的。還例如,我們在脫敏員工姓名及性別資料時,不能太多的出現,姓名王金剛,性別女這樣的資料。


脫敏的目標是,以假亂真。資料本身要合理嚴謹完整。


SNP TDO中提供了Pool table的模板及部分資料。模板參見下圖列表



我們以第一個pool table,address data啊(地址資訊)為例。我們可以執行程式上載SAP中的PA0006表,或者BUT***表中的地址資訊,可以在SE16中直接維護這張表(/SNP/CM05ADRPOOL)內容。我們維護的結果如下(僅供示例之用)。



有了這張表,我們做data masking就有準星了。我們可以從這張表中,由程式隨機挑選一條資料去替換員工的正式地址資料。當然在實際專案中,我們可以選擇國家是否要替換,城市是否要替換。Masking程式會帶入這些選擇條件在Pool Table中隨機找到滿足條件的記錄來完成替換。

另外多說一句,這個隨機替換,有Random的實現,也有Hash實現。這個是底層技術,不清楚這個演算法的同學直接跳過。但結果是確定的,就是SAP使用者們不可能根據新的地址去猜到這個員工(或者BP)是誰,或者他的真實地址是哪一個。


來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/70017885/viewspace-3005631/,如需轉載,請註明出處,否則將追究法律責任。

相關文章