業(yè)務(wù)API脫敏的思考

背景

api某些字段屬于敏感信息,原本在api層返回,現(xiàn)在禁止返回
比如銀行卡賬號载慈,性別等等
現(xiàn)有架構(gòu)API+RPC徽千,數(shù)據(jù)存儲redis+DB
暫且不談db是否脫敏(加解密等)苫费,在API層是直接返回敏感信息的
如何方便的API層禁止這一個字段的返回

前提,客戶端不強(qiáng)依賴特定字段

場景說明

假設(shè)有下面的用戶類型双抽,含id百框,姓名,性別信息牍汹,其中性別屬于敏感信息

type User struct{
 id int64
 name string
 sex string
}

現(xiàn)在有客戶端請求用戶信息铐维,客戶端只用到了name柬泽,根本不用sex,那么這時(shí)候就需要脫敏了

方案

前提

1.客戶端不強(qiáng)依賴敏感信息字段
比如不給sex信息客戶端也能work嫁蛇,不會crash

2.既然是有RPC接口锨并,肯定有類似thrift的定義,各個接口的返回參數(shù)睬棚,也會定義optional琳疏,required

方案1

依賴于rpc的實(shí)現(xiàn),即類thrift接口定義文件都定義UserDto中的Sex字段是optional的闸拿,那么rpc server端不返回即可空盼,上游可以接受默認(rèn)nil

方案2

定義出original response和new response,比如

message user_response{
    required int32 status_code = 1;
    required int64 id = 1
    required string name=2
    required string sex=3
}

message user_new_response{
    required int32 status_code = 1;
    required int64 id = 1
    required string name=2
}

原resp為user_response新荤,新resp為user_new_response
那么吐出api的的時(shí)候走一層middleware揽趾,將原本的resp通過序列化,json marshell和unmarshell轉(zhuǎn)化成user_new_response,這樣端上就不會受到sex的返回了

比較

優(yōu)點(diǎn) 缺點(diǎn)
方案1 干凈苛骨,省帶寬 強(qiáng)依賴接口定義篱瞎,如果有一個接口沒有寫optional,那這個方案就很難執(zhí)行
方案2 方便痒芝,加middleware俐筋,不用管rpc各層變更 浪費(fèi)帶寬,序列化等操作耗時(shí)

思考

如果歷史客戶端強(qiáng)依賴某個敏感字段严衬,怎么辦澄者?
那么客戶端改掉不要依賴,新版執(zhí)行即可

怎么對老版本客戶端返回老resp请琳,新版客戶端給新resp粱挡?
服務(wù)端根據(jù)客戶端請求的版本號控制就好了

refer

下面寫的比較豐富,我的場景其實(shí)只是簡單的一步
http://www.reibang.com/p/ee6500509c00
http://www.reibang.com/p/2e69ff5bb3cc
https://my.oschina.net/u/3867294/blog/3089014

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末俄精,一起剝皮案震驚了整個濱河市询筏,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌竖慧,老刑警劉巖嫌套,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異圾旨,居然都是意外死亡踱讨,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進(jìn)店門碳胳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來勇蝙,“玉大人沫勿,你說我怎么就攤上這事挨约∥痘欤” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵诫惭,是天一觀的道長翁锡。 經(jīng)常有香客問我,道長夕土,這世上最難降的妖魔是什么馆衔? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮怨绣,結(jié)果婚禮上角溃,老公的妹妹穿的比我還像新娘。我一直安慰自己篮撑,他們只是感情好减细,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著赢笨,像睡著了一般未蝌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上茧妒,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天萧吠,我揣著相機(jī)與錄音,去河邊找鬼桐筏。 笑死纸型,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的梅忌。 我是一名探鬼主播绊袋,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼铸鹰!你這毒婦竟也來了癌别?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤蹋笼,失蹤者是張志新(化名)和其女友劉穎展姐,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體剖毯,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡圾笨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了逊谋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片擂达。...
    茶點(diǎn)故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖胶滋,靈堂內(nèi)的尸體忽然破棺而出板鬓,到底是詐尸還是另有隱情悲敷,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布俭令,位于F島的核電站后德,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏抄腔。R本人自食惡果不足惜瓢湃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望赫蛇。 院中可真熱鬧绵患,春花似錦、人聲如沸悟耘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽作煌。三九已至掘殴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間粟誓,已是汗流浹背奏寨。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鹰服,地道東北人病瞳。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像悲酷,于是被迫代替她去往敵國和親套菜。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 去年有段時(shí)間得空设易,就把谷歌GAE的API權(quán)威指南看了一遍逗柴,收獲頗豐,特別是在自己幾乎獨(dú)立開發(fā)了公司的云數(shù)據(jù)中心之后...
    騎單車的勛爵閱讀 20,440評論 0 41
  • iOS網(wǎng)絡(luò)架構(gòu)討論梳理整理中顿肺。戏溺。。 其實(shí)如果沒有APIManager這一層是沒法使用delegate的屠尊,畢竟多個單...
    yhtang閱讀 5,165評論 1 23
  • 目錄 Python接口測試課程(第一天)-Python基礎(chǔ)Python接口測試課程(第二天)-接口測試快速實(shí)踐Py...
    韓志超閱讀 4,971評論 2 26
  • 標(biāo)簽(空格分隔): google restful api design 當(dāng)前版本的API設(shè)計(jì)指南發(fā)布時(shí)間:2017...
    主君_05c4閱讀 3,889評論 0 5
  • 這高高低低社區(qū)的樹 被人悉心照顧 一棵棵隔開距離 眼神相望 站立也如端坐 常有老人扶住他們 說說生命因果 協(xié)調(diào)彼此...
    樹梢的雪閱讀 213評論 3 8