ES 數(shù)據(jù)太敏感不讓看,怎么辦亩钟?

在使用 ES 的過(guò)程中乓梨,如果 ES 集群中存放的是敏感數(shù)據(jù),是不能夠隨便供人查看的径荔。什么督禽?在排查故障?那也不行总处,合規(guī)高于一切狈惫。
不知道大家有沒(méi)有遇到過(guò)上面描述的情景,或者如果是你遇到了鹦马,你會(huì)怎么辦呢胧谈?
我們常常講,解決問(wèn)題要抓住問(wèn)題的本質(zhì)荸频。人類(lèi)的本質(zhì)是復(fù)讀機(jī)菱肖,上述問(wèn)題的本質(zhì)是"敏感"。
既然問(wèn)題的本質(zhì)是數(shù)據(jù)敏感旭从,那就把敏感數(shù)據(jù)變成普通數(shù)據(jù)稳强。這樣既符合了合規(guī)要求,也促進(jìn)大家工作和悦。
話不多說(shuō)退疫,我們 demo。
在下面的 demo 過(guò)程中鸽素,我們主要用到 easysearch褒繁,不為別的,因?yàn)樗詭撁艄δ堋?/p>

準(zhǔn)備敏感數(shù)據(jù)

下面的數(shù)據(jù)中馍忽,字段 description 和 country 是敏感的棒坏。受限用戶查看時(shí),敏感數(shù)據(jù)顯示脫敏后的內(nèi)容遭笋。

POST movies/_doc/1
{
    "year": 2023,
    "title": "This is a movie",
    "description":"我是敏感數(shù)據(jù)"
}

POST movies/_doc/2
{
    "year": 2023,
    "title": "What r u looking at",
    "description":"我是敏感數(shù)據(jù)",
    "country":"我是敏感數(shù)據(jù)"


}

建立 hash 脫敏角色并賦給用戶

默認(rèn)情況下坝冕,easysearch 安全模塊使用 BLAKE2b 算法,但你可以使用 JVM 提供的任何哈希算法瓦呼。此列表通常包括 MD5徽诲、SHA-1、SHA-384 和 SHA-512。
此次測(cè)試谎替,我們就用默認(rèn)的算法偷溺,建立一個(gè) masked_movie 角色。該角色只能查看 movies 索引钱贯,且 description 和 country 字段會(huì)被脫敏查看挫掏,脫敏方式是默認(rèn)的 BLAKE2b 算法。

PUT _security/role/masked_movie
{
  "cluster": [],
  "indices": [{
    "names": ["movies"],
    "field_mask": ["description","country"],
    "privileges": ["read"]
  }]
}

PUT _security/user/movie-user
{
  "password": "password",
  "roles": ["masked_movie"]
}

Hash 脫敏效果

受限用戶查看效果


1.png

高權(quán)用戶查看效果

2.png

像這樣切換用戶的操作秩命,在生產(chǎn)環(huán)境中其實(shí)也沒(méi)這么簡(jiǎn)單尉共。生產(chǎn)的密碼不能隨便告知他人,甚至不能通過(guò)口頭弃锐、通訊軟件來(lái)傳遞袄友。針對(duì)這種情況,easysearch 有個(gè)身份模擬功能霹菊,可配置一個(gè)用戶能模擬其他用戶來(lái)訪問(wèn) ES剧蚣。
配置好后,我就能用 admin 直接模擬 movie-user 用戶了(-H "security_run_as:movie-user")旋廷。
效果如下:

3.png

相關(guān)鏈接
https://www.infinilabs.com/docs/latest/easysearch/references/security/access-control/run-as/

正則脫敏

除了使用哈希鸠按,還可以使用一個(gè)或多個(gè)正則表達(dá)式來(lái)替換字符串從而達(dá)到字段脫敏的效果。語(yǔ)法是 <field>::/<regular-expression>/::<replacement-string> 饶碘。如果使用多個(gè)正則表達(dá)式目尖,則結(jié)果將從左向右傳遞,就像 shell 中的管道操作一樣扎运。
我們?cè)俳⒁粋€(gè)正則脫敏的角色和用戶瑟曲,讓敏感數(shù)據(jù)只顯示第一個(gè)漢字。

PUT _security/role/masked_movie_re
{
  "cluster": [],
  "indices": [{
    "names": ["movies"],
    "field_mask": [
       "description::/(.)(.*)/::$1******",
       "country::/(.)(.*)/::$1******"
                  ],
    "privileges": ["read"]
  }]
}

PUT _security/user/movie-user-re
{
  "password": "password",
  "roles": ["masked_movie_re"]
}

正則脫敏效果

受限用戶查看效果

4.png

流量分析與脫敏

大家知道我們還有個(gè)產(chǎn)品叫 Infini Gateway豪治,它可做 ES 流量分析洞拨。在進(jìn)行流量分析時(shí),會(huì)抓取請(qǐng)求的內(nèi)容和返回鬼吵。由于"脫敏"是在 easysearch 里完成的,所以 Gateway 記錄的數(shù)據(jù)篮赢,已經(jīng)是脫敏后的了齿椅。
我們來(lái)看一下,把訪問(wèn)的 url 換成網(wǎng)關(guān)的端口启泣。

curl -ku movie-user-re:password http://localhost:8000/movies/_search?pretty

查看 Gateway 記錄的數(shù)據(jù)


5.png

嗯涣脚,香!
好了寥茫,這次 demo 到這里就結(jié)束了遣蚀。大家有什么好的想法、需要解決的場(chǎng)景,歡迎交流芭梯。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末险耀,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子玖喘,更是在濱河造成了極大的恐慌甩牺,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,695評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件累奈,死亡現(xiàn)場(chǎng)離奇詭異贬派,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)澎媒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)搞乏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人戒努,你說(shuō)我怎么就攤上這事请敦。” “怎么了柏卤?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,130評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵冬三,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我缘缚,道長(zhǎng)勾笆,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,648評(píng)論 1 297
  • 正文 為了忘掉前任桥滨,我火速辦了婚禮窝爪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘齐媒。我一直安慰自己蒲每,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,655評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布喻括。 她就那樣靜靜地躺著邀杏,像睡著了一般。 火紅的嫁衣襯著肌膚如雪唬血。 梳的紋絲不亂的頭發(fā)上望蜡,一...
    開(kāi)封第一講書(shū)人閱讀 52,268評(píng)論 1 309
  • 那天,我揣著相機(jī)與錄音拷恨,去河邊找鬼脖律。 笑死,一個(gè)胖子當(dāng)著我的面吹牛腕侄,可吹牛的內(nèi)容都是我干的小泉。 我是一名探鬼主播芦疏,決...
    沈念sama閱讀 40,835評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼微姊!你這毒婦竟也來(lái)了酸茴?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,740評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤柒桑,失蹤者是張志新(化名)和其女友劉穎弊决,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體魁淳,經(jīng)...
    沈念sama閱讀 46,286評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡飘诗,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,375評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了界逛。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片昆稿。...
    茶點(diǎn)故事閱讀 40,505評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖息拜,靈堂內(nèi)的尸體忽然破棺而出溉潭,到底是詐尸還是另有隱情,我是刑警寧澤少欺,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布喳瓣,位于F島的核電站,受9級(jí)特大地震影響赞别,放射性物質(zhì)發(fā)生泄漏畏陕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,873評(píng)論 3 333
  • 文/蒙蒙 一仿滔、第九天 我趴在偏房一處隱蔽的房頂上張望惠毁。 院中可真熱鬧,春花似錦崎页、人聲如沸鞠绰。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,357評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蜈膨。三九已至,卻和暖如春牺荠,著一層夾襖步出監(jiān)牢的瞬間翁巍,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,466評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工志电, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留曙咽,地道東北人蛔趴。 一個(gè)月前我還...
    沈念sama閱讀 48,921評(píng)論 3 376
  • 正文 我出身青樓挑辆,卻偏偏與公主長(zhǎng)得像例朱,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鱼蝉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,515評(píng)論 2 359

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