本發(fā)明涉及網(wǎng)絡認證領域,特別是涉及一種基于Hadoop的多租戶網(wǎng)盤鑒權(quán)方法及系統(tǒng)。
背景技術:
Hadoop(Apache基金會所開發(fā)的分布式系統(tǒng)基礎架構(gòu))提供了兩種安全機制:Simple和Kerberos。如果希望實現(xiàn)存儲在hadoop之上的安全性,可以使用hadoop支持的kerberos(網(wǎng)絡認證協(xié)議)安全機制。Kerberos是一個基于共享密鑰對稱加密的安全網(wǎng)絡認證系統(tǒng),它避免了將密碼(包括密碼hash)在網(wǎng)上傳輸,而是將密碼作為對稱加密的密鑰,通過能不能解密來驗證用戶的身份;
負責管理發(fā)放Ticket(記錄)和記錄授權(quán)的中心服務器被稱為KDC(Key Distribution Center),它知道所有用戶和服務的密碼。在Kerberos域(realm)中每添加一個服務或者用戶就要添加一條principal(安全個體),每個principal都有一個密碼。用戶principal的密碼用戶自己記住,服務的principal密碼服務自己記錄在硬盤上(keytab文件中);
用戶principal的命名類似elis/admin@EXAMPLE.COM,形式是用戶名/角色/realm域。服務principal的命名類似ftp/station@EXAMPLE.COM,形式是服務名/地址(提供者)/realm域。
對于基于Hadoop并且通過Kerberos來保證集群安全的多租戶網(wǎng)盤系統(tǒng)來說,每個用戶在客戶機上使用網(wǎng)盤讀寫功能之前,均需要先進行kerberos權(quán)限校驗,但是,無論是輸入用戶名密碼還是keytab文件,都無法與現(xiàn)有網(wǎng)盤系統(tǒng)進行集成。
技術實現(xiàn)要素:
為了克服上述現(xiàn)有技術的缺陷,本發(fā)明要解決的技術問題是提供一種基于Hadoop的多租戶網(wǎng)盤鑒權(quán)方法及系統(tǒng)。
為解決上述技術問題,本發(fā)明中的一種基于Hadoop的多租戶網(wǎng)盤鑒權(quán)方法,包括:
客戶端中鑒權(quán)模塊接收用于用戶檢驗的登錄配置數(shù)據(jù);
所述鑒權(quán)模塊在接收后,將所述登錄配置數(shù)據(jù)發(fā)送給kerberos中心的Keytab文件管理模塊;
所述Keytab文件管理模塊將所述登錄配置數(shù)據(jù)發(fā)送給統(tǒng)一用戶鑒權(quán)系統(tǒng);
所述統(tǒng)一用戶鑒權(quán)系統(tǒng)將校驗結(jié)果響應給所述Keytab文件管理模塊。
可選地,所述客戶端中鑒權(quán)模塊接收用于用戶檢驗的登錄配置數(shù)據(jù),包括:
所述客戶端在檢測到網(wǎng)盤程序啟動時,調(diào)用鑒權(quán)模塊接收用于用戶檢驗的登錄配置數(shù)據(jù)。
可選地,所述統(tǒng)一用戶鑒權(quán)系統(tǒng)將校驗結(jié)果響應給所述Keytab文件管理模塊之后,還包括:
所述Keytab文件管理模塊根據(jù)所述校驗結(jié)果,向所述鑒權(quán)模塊反饋對應的Keytab文件。
具體地,所述Keytab文件管理模塊根據(jù)所述校驗結(jié)果,向所述鑒權(quán)模塊反饋對應的Keytab文件之后,還包括:
所述鑒權(quán)模塊根據(jù)所述Keytab文件,完成鑒權(quán),得到Token字符串;
客戶端向Hadoop集群發(fā)起網(wǎng)盤讀寫操作請求,所述請求攜帶所述Token字符串;
所述Hadoop集群對所述Token字符串進行校驗,在校驗通過時,執(zhí)行所述讀寫操作。
具體地,所述得到Token字符串之后還包括:
所述鑒權(quán)模塊將所述Keytab文件刪除。
為解決上述技術問題,本發(fā)明中的一種基于Hadoop的多租戶網(wǎng)盤鑒權(quán)系統(tǒng),包括:
客戶端中鑒權(quán)模塊,用于接收用于用戶檢驗的登錄配置數(shù)據(jù);以及在接收后,將所述登錄配置數(shù)據(jù)發(fā)送給kerberos中心的Keytab文件管理模塊;
所述Keytab文件管理模塊,用于將所述登錄配置數(shù)據(jù)發(fā)送給統(tǒng)一用戶鑒權(quán)系統(tǒng);
所述統(tǒng)一用戶鑒權(quán)系統(tǒng),用于將校驗結(jié)果響應給所述Keytab文件管理模塊。
可選地,所述所述客戶端還包括:
調(diào)用模塊,用于在檢測到網(wǎng)盤程序啟動時,調(diào)用所述鑒權(quán)模塊接收用于用戶檢驗的登錄配置數(shù)據(jù)。
可選地,所述Keytab文件管理模塊,還用于根據(jù)所述校驗結(jié)果,向所述鑒權(quán)模塊反饋對應的Keytab文件。
具體地,所述鑒權(quán)模塊,還用于根據(jù)所述Keytab文件,完成鑒權(quán),得到Token字符串;
所述調(diào)用模塊,還用于向Hadoop集群發(fā)起網(wǎng)盤讀寫操作請求,所述請求攜帶所述Token字符串;
所述Hadoop集群對所述Token字符串進行校驗,在校驗通過時,執(zhí)行所述讀寫操作。
具體地,所述鑒權(quán)模塊,還用于刪除所述Keytab文件。
本發(fā)明有益效果如下:
本發(fā)明中方法及系統(tǒng)當用戶在客戶機執(zhí)行Hadoop相關程序時,通過客戶端鑒權(quán)模塊,僅一次性輸入用戶名和密碼,即可完成用戶在兩個系統(tǒng)的鑒權(quán)過程,保證了鑒權(quán)過程的唯一性和可靠性。
附圖說明
圖1是本發(fā)明實施例中一種基于Hadoop的多租戶網(wǎng)盤鑒權(quán)的時序圖。
具體實施方式
為了解決現(xiàn)有技術的問題,本發(fā)明提供了一種基于Hadoop的多租戶網(wǎng)盤鑒權(quán)方法及系統(tǒng),以下結(jié)合附圖以及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不限定本發(fā)明。
如圖1所示,一種基于Hadoop的多租戶網(wǎng)盤鑒權(quán)方法,包括:
客戶端中鑒權(quán)模塊接收用于用戶檢驗的登錄配置數(shù)據(jù);
所述鑒權(quán)模塊在接收后,將所述登錄配置數(shù)據(jù)發(fā)送給kerberos中心的Keytab文件管理模塊;
所述Keytab文件管理模塊將所述登錄配置數(shù)據(jù)發(fā)送給統(tǒng)一用戶鑒權(quán)系統(tǒng);
所述統(tǒng)一用戶鑒權(quán)系統(tǒng)將校驗結(jié)果響應給所述Keytab文件管理模塊。
進一步說,所述客戶端中鑒權(quán)模塊接收用于用戶檢驗的登錄配置數(shù)據(jù),包括:
所述客戶端在檢測到網(wǎng)盤程序啟動時,調(diào)用鑒權(quán)模塊接收用于用戶檢驗的登錄配置數(shù)據(jù)。
進一步說,所述統(tǒng)一用戶鑒權(quán)系統(tǒng)將校驗結(jié)果響應給所述Keytab文件管理模塊之后,還包括:
所述Keytab文件管理模塊根據(jù)所述校驗結(jié)果,向所述鑒權(quán)模塊反饋對應的Keytab文件。
具體說,所述Keytab文件管理模塊根據(jù)所述校驗結(jié)果,向所述鑒權(quán)模塊反饋對應的Keytab文件之后,還包括:
所述鑒權(quán)模塊根據(jù)所述Keytab文件,完成鑒權(quán),得到Token字符串;
客戶端向Hadoop集群發(fā)起網(wǎng)盤讀寫操作請求,所述請求攜帶所述Token字符串;
所述Hadoop集群對所述Token字符串進行校驗,在校驗通過時,執(zhí)行所述讀寫操作。
具體說,所述得到Token字符串之后還包括:
所述鑒權(quán)模塊將所述Keytab文件刪除。
本發(fā)明實施例描述了一種將Kerberos鑒權(quán)與業(yè)務系統(tǒng)的鑒權(quán)系統(tǒng)進行有機結(jié)合的方式,當用戶在客戶機執(zhí)行Hadoop相關程序時,通過封裝的客戶端鑒權(quán)模塊,僅一次性輸入用戶名和密碼,即可完成用戶在兩個系統(tǒng)的鑒權(quán)過程,保證了鑒權(quán)過程的唯一性和可靠性。
舉例說明,如圖1所示:
1、當某用戶登錄安裝有kerberos的客戶機(即客戶端)后,啟動操作網(wǎng)盤之前,先調(diào)用封裝的鑒權(quán)客戶端程序(即鑒權(quán)模塊),輸入用戶名和密碼(即登錄配置數(shù)據(jù)),鑒權(quán)客戶端程序?qū)⒂脩裘兔艽a發(fā)送到Kerberos中心的Keytab文件管理模塊;
2、Keytab文件管理模塊并不在kerberos中心進行用戶校驗,而是將用戶名和密碼發(fā)送到業(yè)務系統(tǒng)的統(tǒng)一用戶鑒權(quán)系統(tǒng);
3、統(tǒng)一用戶鑒權(quán)系統(tǒng)將校驗通過后,反饋給Keytab文件管理模塊;
4、Keytab文件管理模塊將該用戶的Keytab文件反饋給客戶機的鑒權(quán)客戶端程序;
5、鑒權(quán)客戶端程序代替該用戶完成kinit鑒權(quán)過程,獲得Token字符串,然后將Keytab文件刪除,避免被截獲利用;
6、客戶端程序通過API向Hadoop集群發(fā)起網(wǎng)盤讀寫操作請求;
7、Hadoop集群校驗Token是否有效,有效則運行操作,返回操作結(jié)果。
本發(fā)明實施例中方法避免了在Kerberos中心和業(yè)務系統(tǒng)的鑒權(quán)系統(tǒng)中分別維護兩套用戶名和密碼;同時客戶端獲得token后及時刪除用戶的keytab文件,避免被惡意拷貝利用。
本發(fā)明進一步提供一種基于Hadoop的多租戶網(wǎng)盤鑒權(quán)系統(tǒng)。
如圖1所示,本發(fā)明實施例中一種基于Hadoop的多租戶網(wǎng)盤鑒權(quán)系統(tǒng),包括:
客戶端中鑒權(quán)模塊,用于接收用于用戶檢驗的登錄配置數(shù)據(jù);以及在接收后,將所述登錄配置數(shù)據(jù)發(fā)送給kerberos中心的Keytab文件管理模塊;
所述Keytab文件管理模塊,用于將所述登錄配置數(shù)據(jù)發(fā)送給統(tǒng)一用戶鑒權(quán)系統(tǒng);
所述統(tǒng)一用戶鑒權(quán)系統(tǒng),用于將校驗結(jié)果響應給所述Keytab文件管理模塊。
進一步說,所述所述客戶端還包括:
調(diào)用模塊,用于在檢測到網(wǎng)盤程序啟動時,調(diào)用所述鑒權(quán)模塊接收用于用戶檢驗的登錄配置數(shù)據(jù)。
進一步說,所述Keytab文件管理模塊,還用于根據(jù)所述校驗結(jié)果,向所述鑒權(quán)模塊反饋對應的Keytab文件。
具體說,所述鑒權(quán)模塊,還用于根據(jù)所述Keytab文件,完成鑒權(quán),得到Token字符串;
所述調(diào)用模塊,還用于向Hadoop集群發(fā)起網(wǎng)盤讀寫操作請求,所述請求攜帶所述Token字符串;
所述Hadoop集群對所述Token字符串進行校驗,在校驗通過時,執(zhí)行所述讀寫操作。
具體說,所述鑒權(quán)模塊,還用于刪除所述Keytab文件。
本發(fā)明實施例中系統(tǒng)當用戶在客戶機執(zhí)行Hadoop相關程序時,通過封裝的客戶端鑒權(quán)程序,僅一次性輸入用戶名和密碼,即可完成用戶在兩個系統(tǒng)的鑒權(quán)過程,保證了鑒權(quán)過程的唯一性和可靠性;避免了在Kerberos中心和業(yè)務系統(tǒng)的鑒權(quán)系統(tǒng)中分別維護兩套用戶名和密碼;同時客戶端獲得token后及時刪除用戶的keytab文件,避免被惡意拷貝利用。
雖然本申請描述了本發(fā)明的特定示例,但本領域技術人員可以在不脫離本發(fā)明概念的基礎上設計出來本發(fā)明的變型。
本領域技術人員在本發(fā)明技術構(gòu)思的啟發(fā)下,在不脫離本發(fā)明內(nèi)容的基礎上,還可以對本發(fā)明做出各種改進,這仍落在本發(fā)明的保護范圍之內(nèi)。