2017年,美國信用評級機構 Equifax 遭受黑客攻擊,導致1.4億個人的敏感信息泄露; 2020年,發生了 SolarWinds 公司的軟體供應鏈遭受惡意代碼攻擊事件,涉及多個行業和國家; 2022年,網信辦依據《數據安全法》等法律法規,對滴滴公司開出人民幣80.26億元的巨額罰款,對互聯網企 ...
2017年,美國信用評級機構 Equifax 遭受黑客攻擊,導致1.4億個人的敏感信息泄露;
2020年,發生了 SolarWinds 公司的軟體供應鏈遭受惡意代碼攻擊事件,涉及多個行業和國家;
2022年,網信辦依據《數據安全法》等法律法規,對滴滴公司開出人民幣80.26億元的巨額罰款,對互聯網企業敲響數據安全警鐘。
近年來,數據安全正在快速成為當今信息化時代一個備受關註的話題。在數字化快速發展的今天,各個領域都離不開數據的支撐,而數據安全問題也隨之成為了一項重要的任務。企業、政府、學術機構等各種組織和個人都需要保護自己的數據免於泄露、丟失、篡改或被濫用等風險。
Hadoop 作為進入大數據領域的必備技術,由於自身的業務特點,一般都是部署在用戶內網中,所以在早期設計的時候不是太註重安全方面的設計,而更多的專註於實現業務的功能。
作為領先的數字化基礎軟體與應用服務商袋鼠雲,一直以來也高度重視數據安全問題,2022年12月,在自研的大數據計算引擎 EasyMR 上新增了一站式大數據應用安全防控以及數據許可權管控能力。
基於此,EasyMR 可以實現一鍵部署安全管控服務,一鍵開啟大數據集群組件的安全認證、用戶管理以及許可權管控服務。
本文就為大家展開介紹一下 EasyMR 具體是如何管理 Hadoop 數據安全的。
Hadoop 的安全問題
最早部署 Hadoop 集群時並沒有考慮安全問題,未開啟安全認證時,Hadoop 是以客戶端提供的用戶名作為用戶憑證, 一般就是發起任務的 Unix 用戶。線上機器部署服務通常會採用統一賬號,當以統一賬號部署集群時,所有執行 Hadoop 任務的用戶都是集群的超級管理員,非常容易發生誤操作。
即便是以管理員賬號部署集群,惡意用戶在客戶端仍然可以冒充管理員賬號執行。隨著集群的不斷擴大, 各部門對集群的使用需求增加,集群安全問題就顯得頗為重要。Hadoop 的安全問題,一般包括以下兩個方面:
· 用戶認證(Authentication) 即是對用戶身份進行核對, 確認用戶是其聲明的身份, 這裡包括用戶和服務的認證。
· 用戶授權(Authorization) 即是許可權控制,對特定資源,特定訪問用戶進行授權或拒絕訪問,用戶授權是建立在用戶認證的基礎上, 沒有可靠的用戶認證談不上用戶授權。
EasyMR 如何接管 Hadoop 安全
EasyMR Hadoop 的安全認證是基於 Kerberos 實現的,集成 LDAP 用戶體系。 Kerberos 是一個網路身份驗證協議,用戶只需輸入身份驗證信息,驗證通過獲取票據即可訪問多個接入 Kerberos 的服務,機器的單點登錄也可以基於此協議完成。
Hadoop 本身並不創建用戶賬號,而是使用 Kerberos 協議來進行用戶身份驗證,從 Kerberos 憑證中的用戶信息獲取用戶賬號, 這樣一來就跟實際用戶運行的賬號無關。
EasyMR 接管 Hadoop 安全主要使用以下兩種賬號管理方式:
集群賬號管理
原先我們使用單一賬號作為集群管理員,且這一賬號為線上統一登錄賬號, 這存在極大的安全隱患,我們需要使用特殊賬號來管理集群。這裡涉及的問題是,我們需要幾個運維賬號呢? 一種簡單的做法是使用一個特殊運維賬號, CDH 和 Apache官方也都推薦按服務劃分賬號來啟動集群。
考慮到精細化控制可以有效避免誤操作,EasyMR 遵循官方的建議使用多賬號,使用 Hadoop 作為同一用戶組,每個組件使用單獨的用戶。如果是從單一運維賬號遷移到多個賬號部署時,則需要考慮相關文件許可權問題,包括本地以及 HDFS 兩部分,可以在安全部署上線時完成相應改動。
EasyMR 組件服務運行的用戶信息可以配置在產品包服務層級下,下圖以服務 hdfs_namenode 為例:
用戶賬號管理
考慮到每個團隊下會有不同的小組,每個小組都有使用 Hadoop 來進行大數據處理需求,所以需要一定程度的多租戶環境, 這裡主要考慮其中的數據和操作的許可權問題,EasyMR 集成了 LdapServer 目錄服務系統,其功能優勢具體體現如下:
• LdapServer 能夠減少用戶賬戶管理人員在面對用戶數量大、增長快等問題的情況下對賬號的創建、回收、許可權管理、安全審計等一系列複雜而繁瑣工作的壓力。
• LdapServer 能夠解決多層次、多類型系統、資料庫的安全訪問難題,所有與賬號相關的管理策略均配置在服務端,實現了賬號的集中維護和管理。
• LdapServer 能夠充分繼承和利用平臺組織中現有的賬戶管理系統的身份認證功能,並實現了賬戶管理與訪問控制管理的分離,提高了大數據平臺訪問認證的安全性。
EasyMR 如何部署 Hadoop 安全
EasyMR 可以支持 Hadoop,Hive,Spark,Ranger 組件開啟Kerberos功能,每個組件的開啟操作基本一致。下麵以開啟Hadoop Kerberos 功能為例為大家介紹EasyMR 具體是如何部署 Hadoop 安全的。
準備產品包
安裝產品包
● 安裝 zookeeper、openldap、kdc、Hadoop 服務
以安裝 Hadoop 服務為例,選中需要安裝的服務,點擊下一步;
指定每個服務需要部署的節點,點擊執行部署;
部署完成後,可以在節點檢查目錄的許可權及組件的啟動用戶。
開啟 Kerberos 安全
部署完服務後,需要按照 Kerberos 開啟順序依次開啟。
● zookeeper 開關
首先在服務頁面,選擇 zookeeper 服務,在部署配置裡面找到 Switch 開關項,切換開關狀態,等待開關開啟結果。
● Hadoop 開關
在服務頁面,選擇 hadoop pkg 服務,在部署配置裡面找到 Switch 開關項,切換開關狀態,等待開關開啟結果,開啟成功後,hadoop Kerberos 功能就成功啟用了。
應用授權
授權一般來說是由應用來決定的,通過在 LDAP 資料庫中配置一些屬性可以讓應用程式來進行授權判斷。EasyMR 在部署完 LdapServer 後,平臺管理裡面將會自動關聯 LdapServer 的連接信息,用戶只需選中對應的 LdapServer 連接,在對應的用戶下點擊下載票據即可。
《數據治理行業實踐白皮書》下載地址:https://fs80.cn/380a4b
想瞭解或咨詢更多有關袋鼠雲大數據產品、行業解決方案、客戶案例的朋友,瀏覽袋鼠雲官網:https://www.dtstack.com/?src=szbky
同時,歡迎對大數據開源項目有興趣的同學加入「袋鼠雲開源框架釘釘技術qun」,交流最新開源技術信息,qun號碼:30537511,項目地址:https://github.com/DTStack