本發(fā)明實(shí)施例涉及但不限于云計(jì)算技術(shù),尤指一種控制訪問(wèn)權(quán)限的系統(tǒng)、認(rèn)證服務(wù)器和方法。
背景技術(shù):
隨著云計(jì)算應(yīng)用的普及,服務(wù)器數(shù)量越來(lái)越多,服務(wù)器上的虛擬機(jī)數(shù)量和關(guān)聯(lián)關(guān)系也日漸復(fù)雜,安全問(wèn)題伴隨著虛擬機(jī)存在的整個(gè)生命周期中,涵蓋的內(nèi)容貫穿產(chǎn)品設(shè)計(jì)、開發(fā)、測(cè)試、運(yùn)維、基礎(chǔ)設(shè)施(如,互聯(lián)網(wǎng)數(shù)據(jù)中心(idc,internetdatacenter)、內(nèi)網(wǎng)、外網(wǎng)辦公網(wǎng))等各個(gè)方面。
用戶登錄某一個(gè)idc線上服務(wù)器以進(jìn)行與服務(wù)器集群之間的數(shù)據(jù)交互。其中,對(duì)idc線上服務(wù)器的用戶權(quán)限需要進(jìn)行合理、規(guī)范、統(tǒng)一的用戶權(quán)限驗(yàn)證和管理。其中,常見的認(rèn)證方式是按照機(jī)器的,即用戶每次修改用戶信息(用戶信息包括用戶名和口令)中的口令(密碼)后,都需要對(duì)所有相關(guān)機(jī)器一一進(jìn)行該用戶的口令的修改以及根據(jù)修改后的用戶信息調(diào)整用戶信息與用戶權(quán)限,密碼權(quán)限管理混亂,并且容易遺漏。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)?zhí)峁┝艘环N控制訪問(wèn)權(quán)限的系統(tǒng)、認(rèn)證服務(wù)器和方法,能夠?qū)崿F(xiàn)密碼的統(tǒng)一管理以及權(quán)限的集中管理。
為了達(dá)到本申請(qǐng)目的,本申請(qǐng)?zhí)峁┝艘环N控制訪問(wèn)權(quán)限的系統(tǒng),包括:認(rèn)證服務(wù)器、訪問(wèn)服務(wù)器和服務(wù)器集群;其中,
認(rèn)證服務(wù)器,用于將全部的用戶信息存儲(chǔ)在預(yù)先建立的數(shù)據(jù)庫(kù)中;將全部的用戶權(quán)限按層次樹狀結(jié)構(gòu)存儲(chǔ)在輕量目錄訪問(wèn)協(xié)議ldap目錄中;當(dāng)接收到訪問(wèn)服務(wù)器發(fā)送的用戶信息時(shí),判斷接收到的用戶信息是否是認(rèn)證用戶;當(dāng)判斷出接收到的用戶信息是認(rèn)證用戶時(shí),在ldap目錄中查找與該用戶信息對(duì)應(yīng)的用戶權(quán)限并根據(jù)查找到的用戶權(quán)限生成用戶憑據(jù);將生成的用戶憑據(jù)發(fā)送給訪問(wèn)服務(wù)器與服務(wù)器集群;
訪問(wèn)服務(wù)器,用于將用戶輸入的用戶信息發(fā)送給認(rèn)證服務(wù)器;接收認(rèn)證服務(wù)器發(fā)送的用戶憑據(jù);根據(jù)接收到的用戶憑據(jù)與服務(wù)器集群進(jìn)行數(shù)據(jù)交互;
服務(wù)器集群,用于接收到來(lái)自認(rèn)證服務(wù)器發(fā)送的用戶憑據(jù),對(duì)該用戶開放與該用戶憑據(jù)對(duì)應(yīng)的用戶權(quán)限以與訪問(wèn)服務(wù)器進(jìn)行數(shù)據(jù)交互。
可選地,所述用戶信息包括:用戶名和口令;
所述認(rèn)證服務(wù)器中用于將全部的用戶信息存儲(chǔ)在預(yù)先建立的數(shù)據(jù)庫(kù)中包括:
采用預(yù)先部署的網(wǎng)絡(luò)認(rèn)證協(xié)議kerberos服務(wù)service分別對(duì)每個(gè)用戶的用戶名和口令進(jìn)行加密;
將加密后的每個(gè)用戶的用戶名和口令對(duì)應(yīng)存儲(chǔ)在所述預(yù)先建立的數(shù)據(jù)庫(kù)中。
可選地,所述認(rèn)證服務(wù)器中用于判斷接收到的用戶信息是否是認(rèn)證用戶包括:
采用所述預(yù)先部署的kerberosservice對(duì)接收到的用戶名和口令進(jìn)行加密;
將對(duì)接收到的加密后的用戶名和口令與已存儲(chǔ)在所述預(yù)先建立的數(shù)據(jù)庫(kù)中的加密后的用戶名和口令進(jìn)行比較;
當(dāng)所述對(duì)接收到的加密后的用戶名和口令與所述已存儲(chǔ)在所述預(yù)先建立的數(shù)據(jù)庫(kù)中的加密后的用戶名和口令中的某一加密后的用戶名和口令一致時(shí),判斷出接收到的用戶信息是認(rèn)證用戶;
當(dāng)所述對(duì)接收到的加密后的用戶名和口令與所述已存儲(chǔ)在所述預(yù)先建立的數(shù)據(jù)庫(kù)中的加密后的用戶名和口令中的任一加密后的用戶名和口令均不一致時(shí),驗(yàn)證出接收到的用戶信息不是認(rèn)證用戶。
可選地,所述認(rèn)證服務(wù)器通過(guò)預(yù)先部署的ldap服務(wù)service將所述全部的用戶權(quán)限按層次樹狀結(jié)構(gòu)存儲(chǔ)在ldap目錄中。
本申請(qǐng)還提供了一種認(rèn)證服務(wù)器,包括:密碼管理單元、權(quán)限管理單元、收發(fā)單元、認(rèn)證單元和處理單元;其中,
密碼管理單元,用于將全部的用戶信息存儲(chǔ)在預(yù)先建立的數(shù)據(jù)庫(kù)中;
權(quán)限管理單元,用于將全部的用戶權(quán)限按層次樹狀結(jié)構(gòu)存儲(chǔ)在輕量目錄訪問(wèn)協(xié)議ldap目錄中;
收發(fā)單元,用于當(dāng)接收到訪問(wèn)服務(wù)器發(fā)送的用戶信息時(shí),將接收到的用戶信息發(fā)送給認(rèn)證單元;將生成的用戶憑據(jù)發(fā)送給訪問(wèn)服務(wù)器和集群服務(wù)器;
認(rèn)證單元,用于判斷接收到的用戶信息是否是認(rèn)證用戶;當(dāng)判斷出接收到的用戶信息是認(rèn)證用戶時(shí),通知處理單元;
處理單元,用于接收到來(lái)自匹配單元發(fā)送的通知,在ldap目錄中查找與該用戶信息對(duì)應(yīng)的用戶權(quán)限并根據(jù)查找到的用戶權(quán)限生成用戶憑據(jù)。
可選地,所述用戶信息包括:用戶名和口令;
所述密碼管理單元,具體用于:
采用預(yù)先部署的網(wǎng)絡(luò)認(rèn)證協(xié)議kerberos服務(wù)service分別對(duì)每個(gè)用戶的用戶名和口令進(jìn)行加密;
將加密后的每個(gè)用戶的用戶名和口令對(duì)應(yīng)存儲(chǔ)在所述預(yù)先建立的數(shù)據(jù)庫(kù)中。
可選地,所述認(rèn)證單元中用于判斷接收到的用戶信息是否是認(rèn)證用戶包括:
采用所述預(yù)先部署的kerberosservice對(duì)接收到的用戶名和口令進(jìn)行加密;
將對(duì)接收到的加密后的用戶名和口令與已存儲(chǔ)在所述預(yù)先建立的數(shù)據(jù)庫(kù)中的加密后的用戶名和口令進(jìn)行比較;
當(dāng)所述對(duì)接收到的加密后的用戶名和口令與所述已存儲(chǔ)在所述預(yù)先建立的數(shù)據(jù)庫(kù)中的加密后的用戶名和口令中的某一加密后的用戶名和口令一致時(shí),判斷出接收到的用戶信息是認(rèn)證用戶;
當(dāng)所述對(duì)接收到的加密后的用戶名和口令與所述已存儲(chǔ)在所述預(yù)先建立的數(shù)據(jù)庫(kù)中的加密后的用戶名和口令中的任一加密后的用戶名和口令均不一致時(shí),驗(yàn)證出接收到的用戶信息不是認(rèn)證用戶。
本申請(qǐng)還提供了一種控制訪問(wèn)權(quán)限的方法,包括:
認(rèn)證服務(wù)器將全部的用戶信息存儲(chǔ)在預(yù)先建立的數(shù)據(jù)庫(kù)中,以及將全部的用戶權(quán)限按層次樹狀結(jié)構(gòu)存儲(chǔ)在輕量目錄訪問(wèn)協(xié)議ldap目錄中;
當(dāng)接收到訪問(wèn)服務(wù)器發(fā)送的用戶信息時(shí),認(rèn)證服務(wù)器判斷接收到的用戶信息是否是認(rèn)證用戶;
當(dāng)判斷出接收到的用戶信息是認(rèn)證用戶時(shí),認(rèn)證服務(wù)器在ldap目錄中查找與該用戶信息對(duì)應(yīng)的用戶權(quán)限并根據(jù)查找到的用戶權(quán)限生成用戶憑據(jù);
認(rèn)證服務(wù)器將生成的用戶憑據(jù)發(fā)送給訪問(wèn)服務(wù)器和集群服務(wù)器以供服務(wù)器集群接與訪問(wèn)服務(wù)器之間進(jìn)行數(shù)據(jù)交互。
可選地,所述用戶信息包括:用戶名和口令;
所述認(rèn)證服務(wù)器將全部的用戶信息存儲(chǔ)在預(yù)先建立的數(shù)據(jù)庫(kù)中的步驟包括:
采用預(yù)先部署的網(wǎng)絡(luò)認(rèn)證協(xié)議kerberos服務(wù)service分別對(duì)每個(gè)用戶的用戶名和口令進(jìn)行加密;
將加密后的每個(gè)用戶的用戶名和口令對(duì)應(yīng)存儲(chǔ)在所述預(yù)先建立的數(shù)據(jù)庫(kù)中。
可選地,所述認(rèn)證服務(wù)器判斷接收到的用戶信息是否是認(rèn)證用戶的步驟包括:
采用所述預(yù)先部署的kerberosservice對(duì)接收到的用戶名和口令進(jìn)行加密;
將對(duì)接收到的加密后的用戶名和口令與已存儲(chǔ)在所述預(yù)先建立的數(shù)據(jù)庫(kù)中的加密后的用戶名和口令進(jìn)行比較;
當(dāng)所述對(duì)接收到的加密后的用戶名和口令與所述已存儲(chǔ)在所述預(yù)先建立的數(shù)據(jù)庫(kù)中的加密后的用戶名和口令中的某一加密后的用戶名和口令一致時(shí),判斷出接收到的用戶信息是認(rèn)證用戶;
當(dāng)所述對(duì)接收到的加密后的用戶名和口令與所述已存儲(chǔ)在所述預(yù)先建立的數(shù)據(jù)庫(kù)中的加密后的用戶名和口令中的任一加密后的用戶名和口令均不一致時(shí),驗(yàn)證出接收到的用戶信息不是認(rèn)證用戶。
本發(fā)明實(shí)施例包括:認(rèn)證服務(wù)器將全部的用戶信息存儲(chǔ)在預(yù)先建立的數(shù)據(jù)庫(kù)中,以及將全部的用戶權(quán)限按層次樹狀結(jié)構(gòu)存儲(chǔ)在輕量目錄訪問(wèn)協(xié)議(ldap)目錄中;當(dāng)接收到訪問(wèn)服務(wù)器發(fā)送的用戶信息時(shí),認(rèn)證服務(wù)器判斷接收到的用戶信息是否是認(rèn)證用戶;當(dāng)判斷出接收到的用戶信息是認(rèn)證用戶時(shí),認(rèn)證服務(wù)器在ldap目錄中查找與該用戶信息對(duì)應(yīng)的用戶權(quán)限并根據(jù)查找到的用戶權(quán)限生成用戶憑據(jù);認(rèn)證服務(wù)器將生成的用戶憑據(jù)發(fā)送給訪問(wèn)服務(wù)器和集群服務(wù)器以供服務(wù)器集群接與訪問(wèn)服務(wù)器之間進(jìn)行數(shù)據(jù)交互。本發(fā)明實(shí)施例中,通過(guò)認(rèn)證服務(wù)器將全部的用戶信息存儲(chǔ)在預(yù)先建立的數(shù)據(jù)庫(kù)中,以及將全部的用戶權(quán)限按層次樹狀結(jié)構(gòu)存儲(chǔ)在ldap目錄中,實(shí)現(xiàn)了密碼的統(tǒng)一管理以及權(quán)限的集中管理。
附圖說(shuō)明
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
圖1為本發(fā)明實(shí)施例控制訪問(wèn)權(quán)限的系統(tǒng)的架構(gòu)圖;
圖2為本發(fā)明實(shí)施例認(rèn)證服務(wù)器的結(jié)構(gòu)示意圖;
圖3為本發(fā)明實(shí)施例控制訪問(wèn)權(quán)限的方法的流程圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說(shuō)明。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。
圖1為本發(fā)明實(shí)施例控制訪問(wèn)權(quán)限的系統(tǒng)的架構(gòu)圖,如圖1所示,包括:認(rèn)證服務(wù)器、訪問(wèn)服務(wù)器和服務(wù)器集群。其中,
認(rèn)證服務(wù)器,用于將全部的用戶信息存儲(chǔ)在預(yù)先建立的數(shù)據(jù)庫(kù)中;將全部的用戶權(quán)限按層次樹狀結(jié)構(gòu)存儲(chǔ)在輕量目錄訪問(wèn)協(xié)議(ldap)目錄中;當(dāng)接收到訪問(wèn)服務(wù)器發(fā)送的用戶信息時(shí),判斷接收到的用戶信息是否是認(rèn)證用戶;當(dāng)判斷出接收到的用戶信息是認(rèn)證用戶時(shí),在ldap目錄中查找與該用戶信息對(duì)應(yīng)的用戶權(quán)限并根據(jù)查找到的用戶權(quán)限生成用戶憑據(jù);將生成的用戶憑據(jù)發(fā)送給訪問(wèn)服務(wù)器與服務(wù)器集群。
其中,本發(fā)明實(shí)施例用戶信息包括:用戶名和口令。
其中,本發(fā)明實(shí)施例認(rèn)證服務(wù)器中用于將全部的用戶信息存儲(chǔ)在預(yù)先建立的數(shù)據(jù)庫(kù)中包括:
采用預(yù)先部署的網(wǎng)絡(luò)認(rèn)證協(xié)議(kerberos)服務(wù)(service)分別對(duì)每個(gè)用戶的用戶名和口令進(jìn)行加密;
將加密后的每個(gè)用戶的用戶名和口令對(duì)應(yīng)存儲(chǔ)在預(yù)先建立的數(shù)據(jù)庫(kù)中。
需要說(shuō)明的是,可以在認(rèn)證服務(wù)器中預(yù)先部署kerberosservice,kerberosservice實(shí)現(xiàn)了用戶信息的驗(yàn)證,關(guān)于如何部署kerberosservice屬于本領(lǐng)域技術(shù)人員所熟知的慣用技術(shù)手段,此處不再贅述,并不用來(lái)限制本申請(qǐng)。
可選地,本發(fā)明實(shí)施例認(rèn)證服務(wù)器通過(guò)預(yù)先部署的ldapservice將全部的用戶權(quán)限按層次樹狀結(jié)構(gòu)存儲(chǔ)在ldap目錄中。
其中,本發(fā)明實(shí)施例ldapservice可以預(yù)先部署在認(rèn)證服務(wù)器中,ldapservice實(shí)現(xiàn)了用戶權(quán)限的管理與認(rèn)證(驗(yàn)證)。需要說(shuō)明的是,如何將ldapservice部署在認(rèn)證服務(wù)器中,屬于本領(lǐng)域技術(shù)人員所熟知的慣用技術(shù)手段,此處不再贅述,并不用來(lái)限制本申請(qǐng)。
例如,本發(fā)明實(shí)施例認(rèn)證服務(wù)器可以按照域/組織/角色/人員這樣的層級(jí)建立結(jié)構(gòu)進(jìn)行權(quán)限劃分管理,所有的用戶權(quán)限按層次樹狀結(jié)構(gòu)存儲(chǔ)在認(rèn)證服務(wù)器上的ldap目錄中,實(shí)現(xiàn)了權(quán)限集中管理。
其中,本發(fā)明實(shí)施例認(rèn)證服務(wù)器中用于判斷接收到的用戶信息是否是認(rèn)證用戶包括:
采用預(yù)先部署的kerberosservice對(duì)接收到的用戶名和口令進(jìn)行加密;
將對(duì)接收到的加密后的用戶名和口令與已存儲(chǔ)在預(yù)先建立的數(shù)據(jù)庫(kù)中的加密后的用戶名和口令進(jìn)行比較;
當(dāng)對(duì)接收到的加密后的用戶名和口令與已存儲(chǔ)在預(yù)先建立的數(shù)據(jù)庫(kù)中的加密后的用戶名和口令中的某一加密后的用戶名和口令一致時(shí),判斷出接收到的用戶信息是認(rèn)證用戶;
當(dāng)對(duì)接收到的加密后的用戶名和口令與已存儲(chǔ)在預(yù)先建立的數(shù)據(jù)庫(kù)中的加密后的用戶名和口令中的任一加密后的用戶名和口令均不一致時(shí),驗(yàn)證出接收到的用戶信息不是認(rèn)證用戶。
其中,本發(fā)明實(shí)施例對(duì)接收到的加密后的用戶名和口令是指對(duì)接收到的用戶名和口令分別采用預(yù)先部署的kerberosservice加密后的用戶名和口令。
其中,本發(fā)明實(shí)施例認(rèn)證用戶是合格用戶,即擁有一定用戶權(quán)限的合格用戶。
可選地,本發(fā)明實(shí)施例認(rèn)證服務(wù)器,還用于當(dāng)監(jiān)測(cè)到某一用戶信息更改時(shí),通過(guò)預(yù)先部署的kerberosservice將已存儲(chǔ)的該用戶信息更新為更改后的用戶信息。
其中,本發(fā)明實(shí)施例用戶信息更改包括口令的更改。
其中,本發(fā)明實(shí)施例認(rèn)證服務(wù)器中用于通過(guò)預(yù)先部署的kerberosservice將已存儲(chǔ)的該用戶信息更新為更改后的用戶信息:
通過(guò)預(yù)先部署的kerberosservice對(duì)更改的用戶信息的用戶名和已更改的口令進(jìn)行加密;
在預(yù)先建立的數(shù)據(jù)庫(kù)中查找與對(duì)加密后的更改的用戶信息的用戶名對(duì)應(yīng)已存儲(chǔ)的加密后的口令;
將查找到的加密后的口令替換為加密后的已更改的口令。
其中,本發(fā)明實(shí)施例系統(tǒng)包括一個(gè)或兩個(gè)認(rèn)證服務(wù)器。
其中,當(dāng)本發(fā)明實(shí)施例系統(tǒng)包括一個(gè)認(rèn)證服務(wù)器時(shí),kerberosservice和ldapservice均部署在該認(rèn)證服務(wù)器中;當(dāng)本發(fā)明實(shí)施例系統(tǒng)包括兩個(gè)認(rèn)證服務(wù)器時(shí),kerberosservice和ldapservice分別部署在不同的認(rèn)證服務(wù)器中,且兩個(gè)認(rèn)證服務(wù)器通過(guò)lvs+keepalived(一種實(shí)現(xiàn)linux虛擬機(jī)負(fù)責(zé)均衡的方式。其中,lvs是一個(gè)開源的軟件,可以實(shí)現(xiàn)linux平臺(tái)下的簡(jiǎn)單負(fù)載均衡,lvs是linuxvirtualserver的縮寫,意思是linux虛擬服務(wù)器;keepalived是運(yùn)行在lvs之上,它的主要功能是實(shí)現(xiàn)真實(shí)機(jī)的故障隔離及負(fù)載均衡器間的失敗切換,提高系統(tǒng)的可用性)的方案實(shí)現(xiàn)高可用性,同時(shí)保證kerberosservice和ldapservice的高可用性。
例如,兩個(gè)認(rèn)證服務(wù)器分別為第一認(rèn)證服務(wù)器和第二認(rèn)證服務(wù)器,可以在第一認(rèn)證服務(wù)器上預(yù)先部署kerberosservice,在第二認(rèn)證服務(wù)器上預(yù)先部署ldapservice;也可以在第一認(rèn)證服務(wù)器上預(yù)先部署ldapservice,在第二認(rèn)證服務(wù)器上預(yù)先部署kerberosservice。
需要說(shuō)明的是,如何通過(guò)lvs+keepalived的的方案實(shí)現(xiàn)高可用性屬于本領(lǐng)域技術(shù)人員所熟知的慣用技術(shù)手段,此處不再贅述,并不用來(lái)限制本申請(qǐng)。
訪問(wèn)服務(wù)器,用于將用戶輸入的用戶信息發(fā)送給認(rèn)證服務(wù)器;接收認(rèn)證服務(wù)器發(fā)送的用戶憑據(jù);根據(jù)接收到的用戶憑據(jù)與服務(wù)器集群進(jìn)行數(shù)據(jù)交互。
需要說(shuō)明的是,如何根據(jù)用戶權(quán)限生成用戶憑據(jù)屬于本領(lǐng)域技術(shù)人員所熟知的慣用技術(shù)手段,此處不再贅述,并不用來(lái)限制本申請(qǐng)。例如,用戶憑據(jù)可以是包含用戶信息和用戶權(quán)限的令牌(token)字符碼等。
服務(wù)器集群,用于接收到來(lái)自認(rèn)證服務(wù)器發(fā)送的用戶憑據(jù),對(duì)該用戶開放與該用戶憑據(jù)對(duì)應(yīng)的用戶權(quán)限以與訪問(wèn)服務(wù)器進(jìn)行數(shù)據(jù)交互。
其中,本發(fā)明實(shí)施例服務(wù)器集群可以理解為是各種資源池,其可以提供各種業(yè)務(wù)功能。
圖2為本發(fā)明實(shí)施例認(rèn)證服務(wù)器的結(jié)構(gòu)示意圖,如圖2所示,包括:密碼管理單元、權(quán)限管理單元、收發(fā)單元、認(rèn)證單元和處理單元。其中,
密碼管理單元,用于將全部的用戶信息存儲(chǔ)在預(yù)先建立的數(shù)據(jù)庫(kù)中。
其中,本發(fā)明實(shí)施例用戶信息包括:用戶名和口令。
其中,本發(fā)明實(shí)施例密碼管理單元,具體用于:
采用預(yù)先部署的網(wǎng)絡(luò)認(rèn)證協(xié)議(kerberos)服務(wù)(service)分別對(duì)每個(gè)用戶的用戶名和口令進(jìn)行加密;
將加密后的每個(gè)用戶的用戶名和口令對(duì)應(yīng)存儲(chǔ)在預(yù)先建立的數(shù)據(jù)庫(kù)中。
其中,本發(fā)明實(shí)施例kerberosservice可以預(yù)先部署在認(rèn)證服務(wù)器中。需要說(shuō)的是,關(guān)于如何部署kerberosservice屬于本領(lǐng)域技術(shù)人員所熟知的慣用技術(shù)手段,此處不再贅述,并不用來(lái)限制本申請(qǐng)。
可選地,本發(fā)明實(shí)施例密碼管理單元,還用于:
當(dāng)監(jiān)測(cè)到某一用戶信息更改時(shí),通過(guò)預(yù)先部署的kerberosservice將已存儲(chǔ)的該用戶信息更新為更改后的用戶信息。
其中,本發(fā)明實(shí)施例用戶信息更改包括口令的更改。
其中,本發(fā)明實(shí)施例密碼管理單元中用于通過(guò)預(yù)先部署的kerberosservice將已存儲(chǔ)的該用戶信息更新為更改后的用戶信息:
通過(guò)預(yù)先部署的kerberosservice對(duì)更改的用戶信息的用戶名和已更改的口令進(jìn)行加密;
在預(yù)先建立的數(shù)據(jù)庫(kù)中查找與對(duì)加密后的更改的用戶信息的用戶名對(duì)應(yīng)已存儲(chǔ)的加密后的口令;
將查找到的加密后的口令替換為加密后的已更改的口令。
權(quán)限管理單元,用于將全部的用戶權(quán)限按層次樹狀結(jié)構(gòu)存儲(chǔ)在輕量目錄訪問(wèn)協(xié)議(ldap)目錄中。
可選地,本發(fā)明實(shí)施例權(quán)限管理單元可以通過(guò)預(yù)先部署的ldapservice將全部的用戶權(quán)限按層次樹狀結(jié)構(gòu)存儲(chǔ)在ldap目錄中。
例如,本發(fā)明實(shí)施例認(rèn)證服務(wù)器可以按照域/組織/角色/人員這樣的層級(jí)建立結(jié)構(gòu)進(jìn)行權(quán)限劃分管理,所有的用戶權(quán)限按層次樹狀結(jié)構(gòu)存儲(chǔ)在認(rèn)證服務(wù)器上的ldap目錄中,實(shí)現(xiàn)了權(quán)限集中管理。
收發(fā)單元,用于當(dāng)接收到訪問(wèn)服務(wù)器發(fā)送的用戶信息時(shí),將接收到的用戶信息發(fā)送給認(rèn)證單元;將生成的用戶憑據(jù)發(fā)送給訪問(wèn)服務(wù)器和集群服務(wù)器。
其中,本發(fā)明實(shí)施例訪問(wèn)服務(wù)器是用戶登錄互聯(lián)網(wǎng)數(shù)據(jù)中心(idc,internetdatacenter)的某一個(gè)線上服務(wù)器,用戶通過(guò)登錄(通過(guò)在該線上服務(wù)器輸入用戶信息)該線上服務(wù)器可以與服務(wù)器集群進(jìn)行數(shù)據(jù)交互。
其中,本發(fā)明實(shí)施例服務(wù)器集群可以理解為是各種資源池,其可以提供各種業(yè)務(wù)功能。
認(rèn)證單元,用于判斷接收到的用戶信息是否是認(rèn)證用戶;當(dāng)判斷出接收到的用戶信息是認(rèn)證用戶時(shí),通知處理單元。
其中,認(rèn)證單元中用于判斷接收到的用戶信息是否是認(rèn)證用戶包括:
采用預(yù)先部署的kerberosservice對(duì)接收到的用戶名和口令進(jìn)行加密;
將對(duì)接收到的加密后的用戶名和口令與已存儲(chǔ)在預(yù)先建立的數(shù)據(jù)庫(kù)中的加密后的用戶名和口令進(jìn)行比較;
當(dāng)對(duì)接收到的加密后的用戶名和口令與已存儲(chǔ)在預(yù)先建立的數(shù)據(jù)庫(kù)中的加密后的用戶名和口令中的某一加密后的用戶名和口令一致時(shí),判斷出接收到的用戶信息是認(rèn)證用戶;
當(dāng)對(duì)接收到的加密后的用戶名和口令與已存儲(chǔ)在預(yù)先建立的數(shù)據(jù)庫(kù)中的加密后的用戶名和口令中的任一加密后的用戶名和口令均不一致時(shí),驗(yàn)證出接收到的用戶信息不是認(rèn)證用戶。
其中,本發(fā)明實(shí)施例認(rèn)證用戶是合格用戶,即擁有一定用戶權(quán)限的合格用戶。
其中,本發(fā)明實(shí)施例對(duì)接收到的加密后的用戶名和口令是指對(duì)接收到的用戶名和口令分別采用預(yù)先部署的kerberosservice加密后的用戶名和口令。
處理單元,用于接收到來(lái)自匹配單元發(fā)送的通知,在ldap目錄中查找與該用戶信息對(duì)應(yīng)的用戶權(quán)限并根據(jù)查找到的用戶權(quán)限生成用戶憑據(jù)。
圖3為本發(fā)明實(shí)施例控制訪問(wèn)權(quán)限的方法的流程圖,如圖3所示,包括:
步驟301:認(rèn)證服務(wù)器將全部的用戶信息存儲(chǔ)在預(yù)先建立的數(shù)據(jù)庫(kù)中,以及將全部的用戶權(quán)限按層次樹狀結(jié)構(gòu)存儲(chǔ)在輕量目錄訪問(wèn)協(xié)議(ldap)目錄中。
其中,本發(fā)明實(shí)施例用戶信息包括:用戶名和口令。
其中,本發(fā)明實(shí)施例認(rèn)證服務(wù)器將全部的用戶信息存儲(chǔ)在預(yù)先建立的數(shù)據(jù)庫(kù)中的步驟包括:
采用預(yù)先部署的網(wǎng)絡(luò)認(rèn)證協(xié)議(kerberos)服務(wù)(service)分別對(duì)每個(gè)用戶的用戶名和口令進(jìn)行加密;
將加密后的每個(gè)用戶的用戶名和口令對(duì)應(yīng)存儲(chǔ)在預(yù)先建立的數(shù)據(jù)庫(kù)中。
其中,本發(fā)明實(shí)施例kerberosservice可以預(yù)先部署在認(rèn)證服務(wù)器中,kerberosservice實(shí)現(xiàn)了密碼的統(tǒng)一管理。需要說(shuō)明的是,如何將kerberosservice部署在認(rèn)證服務(wù)器中,屬于本領(lǐng)域技術(shù)人員所熟知的慣用技術(shù)手段,此處不再贅述,并不用來(lái)限制本申請(qǐng)。
可選地,本發(fā)明實(shí)施例認(rèn)證服務(wù)器可以通過(guò)預(yù)先部署的ldapservice將全部的用戶權(quán)限按層次樹狀結(jié)構(gòu)存儲(chǔ)在ldap目錄中。
其中,本發(fā)明實(shí)施例ldapservice可以預(yù)先部署在認(rèn)證服務(wù)器中,ldapservice實(shí)現(xiàn)了用戶權(quán)限的管理與認(rèn)證(驗(yàn)證)。需要說(shuō)明的是,如何將ldapservice部署在認(rèn)證服務(wù)器中,屬于本領(lǐng)域技術(shù)人員所熟知的慣用技術(shù)手段,此處不再贅述,并不用來(lái)限制本申請(qǐng)。
例如,本發(fā)明實(shí)施例認(rèn)證服務(wù)器可以按照域/組織/角色/人員這樣的層級(jí)建立結(jié)構(gòu)進(jìn)行權(quán)限劃分管理,所有的用戶權(quán)限按層次樹狀結(jié)構(gòu)存儲(chǔ)在認(rèn)證服務(wù)器上的ldap目錄中,實(shí)現(xiàn)了權(quán)限集中管理。
其中,本發(fā)明實(shí)施例系統(tǒng)包括一個(gè)或兩個(gè)認(rèn)證服務(wù)器。
其中,當(dāng)本發(fā)明實(shí)施例系統(tǒng)包括一個(gè)認(rèn)證服務(wù)器時(shí),kerberosservice和ldapservice均部署在該認(rèn)證服務(wù)器中;當(dāng)本發(fā)明實(shí)施例系統(tǒng)包括兩個(gè)認(rèn)證服務(wù)器時(shí),kerberosservice和ldapservice分別部署在不同的認(rèn)證服務(wù)器中,且兩個(gè)認(rèn)證服務(wù)器通過(guò)lvs+keepalived(一種實(shí)現(xiàn)linux虛擬機(jī)負(fù)責(zé)均衡的方式。其中,lvs是一個(gè)開源的軟件,可以實(shí)現(xiàn)linux平臺(tái)下的簡(jiǎn)單負(fù)載均衡,lvs是linuxvirtualserver的縮寫,意思是linux虛擬服務(wù)器;keepalived是運(yùn)行在lvs之上,它的主要功能是實(shí)現(xiàn)真實(shí)機(jī)的故障隔離及負(fù)載均衡器間的失敗切換,提高系統(tǒng)的可用性)的方案實(shí)現(xiàn)高可用性,同時(shí)保證kerberosservice和ldapservice的高可用性。
例如,兩個(gè)認(rèn)證服務(wù)器分別為第一認(rèn)證服務(wù)器和第二認(rèn)證服務(wù)器,可以在第一認(rèn)證服務(wù)器上預(yù)先部署kerberosservice,在第二認(rèn)證服務(wù)器上預(yù)先部署ldapservice;也可以在第一認(rèn)證服務(wù)器上預(yù)先部署ldapservice,在第二認(rèn)證服務(wù)器上預(yù)先部署kerberosservice。
需要說(shuō)明的是,如何通過(guò)lvs+keepalived的的方案實(shí)現(xiàn)高可用性屬于本領(lǐng)域技術(shù)人員所熟知的慣用技術(shù)手段,此處不再贅述,并不用來(lái)限制本申請(qǐng)。
步驟302:當(dāng)接收到訪問(wèn)服務(wù)器發(fā)送的用戶信息時(shí),認(rèn)證服務(wù)器判斷接收到的用戶信息是否是認(rèn)證用戶。
其中,本發(fā)明實(shí)施例認(rèn)證服務(wù)器判斷接收到的用戶信息是否是認(rèn)證用戶的步驟包括:
采用預(yù)先部署的kerberosservice對(duì)接收到的用戶名和口令進(jìn)行加密;
將對(duì)接收到的加密后的用戶名和口令與已存儲(chǔ)在預(yù)先建立的數(shù)據(jù)庫(kù)中的加密后的用戶名和口令進(jìn)行比較;
當(dāng)對(duì)接收到的加密后的用戶名和口令與已存儲(chǔ)在預(yù)先建立的數(shù)據(jù)庫(kù)中的加密后的用戶名和口令中的某一加密后的用戶名和口令一致時(shí),判斷出接收到的用戶信息是認(rèn)證用戶;
當(dāng)對(duì)接收到的加密后的用戶名和口令與已存儲(chǔ)在預(yù)先建立的數(shù)據(jù)庫(kù)中的加密后的用戶名和口令中的任一加密后的用戶名和口令均不一致時(shí),驗(yàn)證出接收到的用戶信息不是認(rèn)證用戶。
其中,本發(fā)明實(shí)施例認(rèn)證用戶是合格用戶,即擁有一定用戶權(quán)限的合格用戶。
其中,本發(fā)明實(shí)施例對(duì)接收到的加密后的用戶名和口令是指對(duì)接收到的用戶名和口令分別采用預(yù)先部署的kerberosservice加密后的用戶名和口令。
可選地,在步驟301之后,在步驟302之前,本發(fā)明實(shí)施例方法還包括:
訪問(wèn)服務(wù)器接收到用戶輸入的用戶信息,并將用戶輸入的用戶信息發(fā)送給認(rèn)證服務(wù)器。
其中,本發(fā)明實(shí)施例訪問(wèn)服務(wù)器是用戶登錄互聯(lián)網(wǎng)數(shù)據(jù)中心(idc,internetdatacenter)的某一個(gè)線上服務(wù)器,用戶通過(guò)登錄(通過(guò)在該線上服務(wù)器輸入用戶信息)該線上服務(wù)器可以與服務(wù)器集群進(jìn)行數(shù)據(jù)交互。
步驟303:當(dāng)判斷出接收到的用戶信息是認(rèn)證用戶時(shí),認(rèn)證服務(wù)器在ldap目錄中查找與該用戶信息對(duì)應(yīng)的用戶權(quán)限并根據(jù)查找到的用戶權(quán)限生成用戶憑據(jù)。
步驟304:認(rèn)證服務(wù)器將生成的用戶憑據(jù)發(fā)送給訪問(wèn)服務(wù)器和集群服務(wù)器以供服務(wù)器集群接與訪問(wèn)服務(wù)器之間進(jìn)行數(shù)據(jù)交互。
其中,本發(fā)明實(shí)施例服務(wù)器集群可以理解為是各種資源池,其可以提供各種業(yè)務(wù)功能。
其中,本發(fā)明實(shí)施例步驟304包括:
認(rèn)證服務(wù)器將生成的用戶憑據(jù)發(fā)送給訪問(wèn)服務(wù)器和集群服務(wù)器;
服務(wù)器集群接收到來(lái)自認(rèn)證服務(wù)器發(fā)送的用戶憑據(jù),對(duì)該用戶開放與該用戶憑據(jù)對(duì)應(yīng)的用戶權(quán)限以與訪問(wèn)服務(wù)器進(jìn)行數(shù)據(jù)交互。
需要說(shuō)明的是,如何根據(jù)用戶權(quán)限生成用戶憑據(jù)屬于本領(lǐng)域技術(shù)人員所熟知的慣用技術(shù)手段,此處不再贅述,并不用來(lái)限制本申請(qǐng)。例如,用戶憑據(jù)可以是包含用戶信息和用戶權(quán)限的token字符碼等。
可選地,當(dāng)認(rèn)證服務(wù)器監(jiān)測(cè)到某一用戶信息更改時(shí),本發(fā)明實(shí)施例方法還包括:
認(rèn)證服務(wù)器通過(guò)預(yù)先部署的kerberosservice將已存儲(chǔ)的該用戶信息更新為更改后的用戶信息。
其中,本發(fā)明實(shí)施例用戶信息更改包括口令的更改。
其中,本發(fā)明實(shí)施例認(rèn)證服務(wù)器通過(guò)預(yù)先部署的kerberosservice將已存儲(chǔ)的該用戶信息更新為更改后的用戶信息的步驟包括:
通過(guò)預(yù)先部署的kerberosservice對(duì)更改的用戶信息的用戶名和已更改的口令進(jìn)行加密;
在預(yù)先建立的數(shù)據(jù)庫(kù)中查找與對(duì)加密后的更改的用戶信息的用戶名對(duì)應(yīng)已存儲(chǔ)的加密后的口令;
將查找到的加密后的口令替換為加密后的已更改的口令。
本發(fā)明實(shí)施方式中,通過(guò)認(rèn)證服務(wù)器將全部的用戶信息存儲(chǔ)在預(yù)先建立的數(shù)據(jù)庫(kù)中,以及將全部的用戶權(quán)限按層次樹狀結(jié)構(gòu)存儲(chǔ)在輕量目錄訪問(wèn)協(xié)議ldap目錄中,實(shí)現(xiàn)了密碼的統(tǒng)一管理以及權(quán)限的集中管理。
需要說(shuō)明的是,在本文中,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括該要素的過(guò)程、方法、物品或者裝置中還存在另外的相同要素。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過(guò)程序來(lái)指令相關(guān)硬件(例如處理器)完成,所述程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如只讀存儲(chǔ)器、磁盤或光盤等??蛇x地,上述實(shí)施例的全部或部分步驟也可以使用一個(gè)或多個(gè)集成電路來(lái)實(shí)現(xiàn)。相應(yīng)地,上述實(shí)施例中的各模塊/單元可以采用硬件的形式實(shí)現(xiàn),例如通過(guò)集成電路來(lái)實(shí)現(xiàn)其相應(yīng)功能,也可以采用軟件功能模塊的形式實(shí)現(xiàn),例如通過(guò)處理器執(zhí)行存儲(chǔ)于存儲(chǔ)器中的程序/指令來(lái)實(shí)現(xiàn)其相應(yīng)功能。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。
以上僅為本申請(qǐng)的優(yōu)選實(shí)施例,并非因此限制本申請(qǐng)的專利范圍,凡是利用本申請(qǐng)說(shuō)明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本申請(qǐng)的專利保護(hù)范圍內(nèi)。