數據管理篇 | 數據權限是個大問題
在數據驅動的商業世界中,數據權限管理是確保信息安全、合規性和數據治理的關鍵環節。本文深入探討了數據權限的復雜性和挑戰,從開發和運營兩個角度分析了數據權限模型的適用性,以及在實際業務流程中如何有效實施數據權限控制。
01 面向開發還是面向運營
這里主要介紹面向開發的數據權限。面向運營的數據權限會在數據運營篇數據運營中的權限問題 介紹。
開發過程中的數據權限會有創建表、修改表、寫入數據、刪除數據等等。
在“當我們談論元數據,我們在談什么”中提到,面向開發元數據展示形式和面向運營的展示形式是否一樣,是一個可以討論的點,這里我們當作不一樣。
同樣,面向開發的權限申請是否和面向運營的權限申請,使用同一個流程也是可以討論的點。畢竟,開發過程中數據加工者需要的權限包括創建表、修改表、寫入數據、刪除數據。而面向運營的數據消費者,只需要查詢數據的權限。
數據權限似乎能講很復雜,但是似乎又就那么點東西。后續再不斷完善更新吧。
02 數據權限模型–RBAC模型適用你的場景嗎?
說起數據權限,第一反應就是“用戶-角色-權限”的三層關系,將一組數據的權限(可以是數據的增刪改查的任意權限)放到一個角色里面去,然后再將角色授權給不同的用戶。如果中間有部門的層級,可能還會增加一層,將角色授權給部門,部門內的所有用戶都具備相同的權限。
聽起來,挺合理,但是有一個現實的問題,這種標準的授權是否適用于現有的企業內的權限申請流程。如果現在企業內權限的申請流程是按人申請的,且申請之后只能開通現有流程中已申請的表的權限。那么不同的流程,就沒有辦法做到和角色的對應,勢必出現角色特別多,不知道哪種角色應該跟給誰了。
所以,到底需要用怎樣的數據權限授權方案,其實需要結合實際的權限申請流程、粒度來做決定。
03 權限-用戶的雙向查詢
不管使用哪種形式進行了用戶的數據授權,都會面臨一個問題,就是查看一個用戶有哪些權限,同時,又需要查看某個數據權限都授權給了哪些人。這相當于一個雙向的數據授權。但是往往在數據權限的產品設計中,往往會忽略一個方向,倒也不是不能用,但是就是查詢起來需要手動 一個個點開。這也算是一個實踐過程中的優化點了。
04 數據權限的審批節點
數據中臺只管理數據,不擁有數據。數據仍然是業務的,換句話說就是數據中臺的數據owner仍舊是各個數據的業務方。因為我們不擁有數據,所以當有業務方想使用數據,進行申請數據的時候,理論上仍然需要業務方進行審批的(當然,這里也會有數據owner、數據BP等不同的審批類型)。業務方審批通過之后,數據中臺的人再審批(主要技術層面的一些審批)。這里有個問題就是如果業務方來審批的話,拋開敏感的、機密的數據不提,業務方有什么理由不審批通過。如果都審批通過了,是不是業務方審批就變成了一種形式了。
還不考慮,數據中臺將數據進行加工之后,多個業務方數據匯總表,沒有辦法指定唯一業務方,甚至區分不出來業務方了。
所以,是否比較合理的形式是,規定好數據密級之后,如果是普通密級的,跳過業務方審批,直接數據中臺進行偏技術維度的審批就可以了。如果是高密級的再進行業務審批。(當然高密級的也不會放在一個集群上)。這樣既能減少各方的審批壓力,又能加快用數效率,還能提升數據中臺的審批地位。個人感覺是一個不錯的方法。
05 數據權限的傳遞范圍
這里的權限的傳遞,倒不是說權限的上下繼承,這里的權限傳遞是指在不同組件間的權限打通。這里僅僅是一個想法討論,并沒有在實踐中完全實現?;蛘哂懈玫姆桨?,工作中沒有接觸到。
要考慮數據權限的傳遞范圍,首先需要考慮的一個點就是在整個大數據流轉使用過程中一共經過多少種存儲組件,或者說一共經過了多少種存儲類型。不考慮批流一體,數倉一體等等。只說一個比較通用的場景,業務數據進入數據中臺被用戶使用的流轉:第一步進入數據湖(HIVE、ODPS等等大數據存儲,在其中進行數據的分層加工),第二步,進入數據倉庫(MPP、MySQL、GP等。因為大數據存儲類的查詢效率較慢,不足以支撐快速查詢要求所以需要一個快速查詢引擎)第三步,被多種方式進行數據消費(做成BI報表被消費、做成數據服務API被消費、直連查詢被消費)。
我們總是希望一處授權,多處使用的,但是像上面這三步,涉及到不同的存儲,不同的工具。不同存儲有不同賬號進行權限管理,不同工具之間又會有自己的權限體系?;旧洗蛲ê芾щy,很多環節中都需要人工進行一定的傳遞。
像上面說的這種,可能有不同的方式能夠更好的來解決這個問題,只是自己沒有接觸到。希望后續能夠不斷的深入吧。
06 數據源的統一管理
說到數據權限的統一,不得不提的就是數據源的統一。
數據平臺是以元數據為中心,那么數據源就是這個中心的一個起始點。大數據平臺也需要對數據源進行統一的管理,這里統一管理的數據源僅僅包括數據源的技術信息,包括了數據源的IP地址、用戶名、密碼等連接到數據庫的信息。數據源的業務信息、同步數據量信息、甚至變更信息等,甚至是一個數據源的治理–當管理大量數據源的時候,哪些是核心、哪些已經入湖、比例如何、連通性監控、變更監控等等。
管理好了統一的數據源,我們會在數據集成的源端、目標端使用。會在離線開發、實時開發過程中使用,也會在數據分析的即席查詢過程中使用,在可視化BI中使用。當然,數據源也分類型,每個模塊支持哪些類型的數據源,就需要依照需求自己來做定位了。
這里數據源的統一管理也是一個不斷探索的階段,和上面說的一樣,不同組件中都有自己的數據源管理,如何打通需要再深入探討。
作者:數據小吏 公眾號:數據小吏
本文由 @數據小吏 原創發布于人人都是產品經理,未經許可,禁止轉載
題圖來自 Unsplash,基于 CC0 協議
該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。
- 目前還沒評論,等你發揮!