本發(fā)明屬于信息技術(shù)領(lǐng)域,尤其涉及在云平臺環(huán)境下,通過對云平臺采用分層架構(gòu)進(jìn)行設(shè)計(jì),實(shí)現(xiàn)訪問控制。
背景技術(shù):在云平臺環(huán)境下,存在SaaS(Softwareasaservice,軟件即服務(wù))這種應(yīng)用軟件組件模式,該模式通過將應(yīng)用軟件組件統(tǒng)一部署在服務(wù)器上,租戶根據(jù)自己的需求,向服務(wù)商訂購所需的應(yīng)用軟件組件,并按照租賃時間或具體訂購的應(yīng)用軟件組件支付相應(yīng)費(fèi)用。這種應(yīng)用模式是一種多租戶的系統(tǒng)架構(gòu),平臺的每一款應(yīng)用軟件組件都支持多個租戶同時使用,租戶之間在使用過程中互不影響,感覺像是自己獨(dú)享該應(yīng)用軟件組件一樣。這種模式下需要嚴(yán)格的訪問控制,從而保證租戶之間以及租戶下的用戶之間的數(shù)據(jù)隔離和應(yīng)用、配置隔離,提高數(shù)據(jù)的安全性、一致性和完整性。傳統(tǒng)的訪問控制RBAC(Role-BasedAccessControl,基于角色的訪問控制)普遍用于解決大型企業(yè)內(nèi)部的統(tǒng)一組件訪問,基本原理是定義角色,并制定該角色具有訪問一組或多組應(yīng)用軟件組件的權(quán)限,再將用戶指派為該角色,通過權(quán)限-角色-用戶的方式實(shí)現(xiàn)訪問控制。然而,RBAC上沒有租戶的概念,不能適應(yīng)云平臺應(yīng)用場景,缺乏角色自我管理能力,在大型云平臺系統(tǒng)中,采用RBAC需要建立大量角色,降低了系統(tǒng)易用性和可維護(hù)性?,F(xiàn)有技術(shù)針對云平臺的特點(diǎn),對傳統(tǒng)RBAC上進(jìn)行了改進(jìn),增加了租戶的概念,以適應(yīng)云平臺要求,但在這種架構(gòu)下,當(dāng)租戶過多或應(yīng)用軟件組件過多時,對訪問控制的管理仍然是一個龐大的工作,并且,這種架構(gòu)下,由于租戶只能定義自身的用戶,租戶之間完全隔離,導(dǎo)致無法實(shí)現(xiàn)租戶組件或應(yīng)用的轉(zhuǎn)租,另一方面,不同的用戶使用云平臺時,需要首先訪問云平臺的公用登錄界面,再通過登錄時將租戶與用戶關(guān)聯(lián),進(jìn)而轉(zhuǎn)入租戶的私有界面,不能從本質(zhì) 上支持多租戶下多用戶品牌的特點(diǎn)。因此,有必要提出一種新的應(yīng)用平臺訪問控制架構(gòu),解決現(xiàn)有技術(shù)中不能在同一個平臺上同時兼容多級租戶多品牌服務(wù),以及應(yīng)用軟件組件的訪問控制權(quán)限不能轉(zhuǎn)租的問題。
技術(shù)實(shí)現(xiàn)要素:有鑒于此,本發(fā)明提供了一種云平臺訪問控制架構(gòu)及其實(shí)現(xiàn)方法,以解決現(xiàn)有技術(shù)中存解決現(xiàn)有技術(shù)中不能在同一個平臺上同時兼容多級租戶,以及應(yīng)用軟件組件的訪問控制權(quán)限不能轉(zhuǎn)租的問題。為解決上述技術(shù)問題,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:第一發(fā)明,本發(fā)明提供一種云平臺訪問控制架構(gòu),包括:基礎(chǔ)平臺層,位于訪問控制架構(gòu)的頂層,用于為頂層租戶層中的頂層租戶提供可使用的應(yīng)用軟件組件,并直接管理每一個頂層租戶的訪問控制權(quán)限;頂層租戶層,位于基礎(chǔ)平臺層之下,用于為每一個頂層租戶創(chuàng)建子租戶,實(shí)現(xiàn)對頂層租戶所使用的應(yīng)用軟件組件的轉(zhuǎn)租;并直接管理每個頂層租戶的下一層子租戶的訪問控制權(quán)限。進(jìn)一步的,所述云平臺訪問控制架構(gòu)還包括:下層租戶層,所述下層租戶層由所述頂層租戶的子租戶構(gòu)成或由每一層子租戶的更下一層子租戶構(gòu)成。進(jìn)一步的,所述基礎(chǔ)平臺層包括平臺層管理員,用于對所述頂層租戶所請求使用的應(yīng)用軟件組件進(jìn)行審核和管理;并為每個審核通過的頂層租戶創(chuàng)建頂層租戶管理員。具體的,所述頂層租戶管理員,用于創(chuàng)建本租戶的用戶角色,并在創(chuàng)建用戶時分配用戶角色,根據(jù)用戶角色對用戶請求使用的應(yīng)用軟件組件進(jìn)行訪問控制。以及所述頂層租戶管理員,還用于對下層子租戶所請求轉(zhuǎn)租的應(yīng)用軟件組件進(jìn)行審核和管理,并為每個審核通過的子租戶創(chuàng)建下層租戶管理員。具體的,頂層租戶和各子租戶在云平臺內(nèi)通過唯一的租戶ID進(jìn)行識別,且每個租戶對用戶提供唯一的域名訪問地址,所述域名訪問地址的IP地址都映射到云平臺的實(shí)際IP地址上。第二發(fā)明,提供一種云平臺訪問控制架構(gòu)的實(shí)現(xiàn)方法,包括:步驟1,創(chuàng)建提供應(yīng)用軟件組件的基礎(chǔ)平臺層;步驟2,頂層租戶向基礎(chǔ)平臺層發(fā)起使用應(yīng)用軟件組件的注冊申請;基礎(chǔ)平臺層接收所述注冊申請并審核通過后,直接管理頂層租戶的訪問控制權(quán)限;步驟3,頂層租戶接收下層子租戶的注冊申請并審核通過后,實(shí)現(xiàn)對本頂層租戶所使用的應(yīng)用軟件組件的轉(zhuǎn)租;并直接管理下層子租戶的訪問控制權(quán)限。進(jìn)一步的,在步驟2中,平臺層管理員審核頂層租戶發(fā)起的注冊申請,在審核通過后對頂層租戶所申請的應(yīng)用軟件組件進(jìn)行授權(quán),并為頂層租戶創(chuàng)建頂層租戶管理員,直接管理頂層租戶的訪問控制權(quán)限;在步驟3中,頂層租戶接收下層子租戶的注冊申請并審核通過后,對發(fā)出注冊申請的下層子租戶所申請的應(yīng)用軟件組件進(jìn)行授權(quán),并為所述下層租戶創(chuàng)建下層租戶管理員,直接管理頂層租戶的訪問控制權(quán)限。進(jìn)一步的,所述方法還包括步驟4,子租戶接收更下一層子租戶的注冊申請并審核通過后,對發(fā)出注冊申請的更下一層子租戶所申請使用的應(yīng)用軟件組件進(jìn)行授權(quán),創(chuàng)建更下一層租戶管理員;并直接管理更下一層子租戶的訪問控制權(quán)限。具體的,所述步驟1和/或步驟2和/或步驟3和/或步驟4,具體還包括:創(chuàng)建角色訪問控制步驟:注冊申請審核通過后,租戶管理員直接擁有所申請使用的應(yīng)用軟件組件的管理權(quán)限,租戶管理員根據(jù)實(shí)際需求定義多個角色,每個角色擁有相應(yīng)的功能和數(shù)據(jù)的訪問權(quán)限;創(chuàng)建用戶訪問控制步驟:由租戶管理員直接為所屬租戶創(chuàng)建用戶,并對創(chuàng)建的用戶進(jìn)行角色分配;實(shí)現(xiàn)訪問控制步驟:用戶訪問租戶唯一的域名到云平臺登錄界面,輸入帳號和密碼后,云平臺根據(jù)該用戶所訪問的租戶域名和ID,從數(shù)據(jù)庫中獲取該租戶的信息,進(jìn)行身份驗(yàn)證通過后允許登錄;系統(tǒng)將獲取該用戶角色信息,根據(jù)角色權(quán)限為用戶指定應(yīng)用軟件組件的訪問權(quán)限。綜上所述,本發(fā)明本發(fā)明的有益效果包括:通過分層的方法,將應(yīng)用軟件 組件的訪問控制從平臺層分擔(dān)到租戶層,由上層租戶管理下層子租戶的訪問控制權(quán)限,平臺層只管理頂層租戶,減小了平臺層對租戶訪問控制的管理復(fù)雜度,提高云平臺訪問控制的自我管理能力,提高了系統(tǒng)的易用性和可維護(hù)性;實(shí)現(xiàn)租戶的組件轉(zhuǎn)租能力;通過域名與租戶映射,實(shí)現(xiàn)多品牌多租戶訪問功能;擴(kuò)展性強(qiáng)、通用性強(qiáng)。附圖說明為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對實(shí)施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實(shí)施例的云平臺訪問控制架構(gòu)的結(jié)構(gòu)框圖;圖2為本發(fā)明實(shí)施例的云平臺訪問控制架構(gòu)的訪問控制模型圖;圖3為本發(fā)明實(shí)施例的云平臺訪問控制架構(gòu)的實(shí)現(xiàn)方法流程圖;圖4為本發(fā)明實(shí)施例的云平臺中用戶的訪問控制流程圖。具體實(shí)施方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。參見圖1,為本發(fā)明本發(fā)明實(shí)施例的云平臺訪問控制架構(gòu)的結(jié)構(gòu)框圖,包括:基礎(chǔ)平臺層101,位于訪問控制架構(gòu)的頂層,用于為頂層租戶層中的頂層租戶提供可使用的應(yīng)用軟件組件,并直接管理每一個頂層租戶的訪問控制權(quán)限。該基礎(chǔ)平臺層不能對租戶的應(yīng)用軟件組件的使用情況進(jìn)行管理,只擁有系統(tǒng)所有應(yīng)用軟件組件的管理權(quán),不擁有應(yīng)用軟件組件的使用權(quán)。頂層租戶層102,位于基礎(chǔ)平臺層之下,用于為每一個頂層租戶創(chuàng)建子租戶,實(shí)現(xiàn)對頂層租戶所使用的應(yīng)用軟件組件的轉(zhuǎn)租;并直接管理每個頂層租戶的下一層子租戶的訪問控制權(quán)限。所述的租戶可能是公司、企業(yè)或任意社會團(tuán)體, 是應(yīng)用軟件組件的使用者,每個租戶對請求使用應(yīng)用軟件組件擁有最高使用權(quán)限。每一個租戶下可以再建立租戶,實(shí)現(xiàn)對應(yīng)用軟件軟件組件的轉(zhuǎn)租,形成了下層租戶層103,上一層租戶管理并控制下一層所建立租戶的訪問權(quán)限。下層租戶層103,所述下層租戶層103由所述頂層租戶的子租戶構(gòu)成或由每一層子租戶的更下一層子租戶構(gòu)成。參見圖2,為本發(fā)明實(shí)施例的云平臺訪問控制架構(gòu)的訪問控制模型圖。租戶和基礎(chǔ)平臺層之間成多對一關(guān)系,基礎(chǔ)平臺層建立平臺層管理員,通過平臺層管理員直接管理頂層租戶的訪問控制權(quán)限,可能還有費(fèi)用、狀態(tài)等,并創(chuàng)建頂層租戶的頂層租戶管理員,基礎(chǔ)平臺層不能管理除頂層租戶以下的訪問控制權(quán)限。租戶可以實(shí)現(xiàn)轉(zhuǎn)租自己使用的應(yīng)用軟件組件給其他租戶,轉(zhuǎn)租后,二者成為父租戶和子租戶關(guān)系,父租戶直接管理子租戶的訪問控制權(quán)限,可能還有費(fèi)用、狀態(tài)等,并創(chuàng)建子租戶的租戶管理員,父租戶不能對子租戶的具體業(yè)務(wù)進(jìn)行管理,父租戶與子租戶之間是一對多關(guān)系,租戶可以轉(zhuǎn)租應(yīng)用軟件組件給多個租用者,租用者只能從一個租戶處繼承應(yīng)用軟件組件。租戶直接定義用戶的角色,具體由租戶管理員執(zhí)行,角色和租戶之間是多對一關(guān)系,角色被限制在租戶的范圍內(nèi)生效。角色的權(quán)限由租戶管理員指定,角色與權(quán)限之間是多對多關(guān)系,且角色所擁有的權(quán)限必須限制在角色所屬租戶擁有的權(quán)限范圍內(nèi)。租戶直接創(chuàng)建用戶,具體由租戶管理員執(zhí)行,創(chuàng)建的用戶需要被指定用戶角色,用戶與角色之間是多對一關(guān)系,用戶被限制在租戶授權(quán)的范圍內(nèi)使用云平臺的應(yīng)用軟件組件。用戶與角色之間的映射關(guān)系是會話,記錄用戶被允許的權(quán)限和角色被允許的權(quán)限。每個租戶所擁有的權(quán)限都由該租戶的父租戶直接指定,權(quán)限包括應(yīng)用軟件組件的功能使用權(quán)和數(shù)據(jù)讀寫權(quán),權(quán)限與租戶之間是多對多關(guān)系。本發(fā)明的另一個目的,提供一種云平臺訪問控制架構(gòu)的實(shí)現(xiàn)方法,參見圖3,為本發(fā)明實(shí)施例的云平臺訪問控制架構(gòu)的實(shí)現(xiàn)方法流程圖,包括:步驟301,創(chuàng)建提供應(yīng)用軟件組件的基礎(chǔ)平臺層。所述應(yīng)用軟件組件包括例 如任務(wù)管理、客戶管理、外派考勤、通訊錄、員工位置、媒體推送、智能網(wǎng)管等為企業(yè)提供的云服務(wù)。本軟件組件也可以是由租戶定制開發(fā)完成。步驟302,頂層租戶向基礎(chǔ)平臺層發(fā)起使用應(yīng)用軟件組件的注冊申請;基礎(chǔ)平臺層接收所述注冊申請并審核通過后,直接管理頂層租戶的訪問控制權(quán)限。頂層租戶通過使用基礎(chǔ)平臺層所提供的注冊功能,向基礎(chǔ)平臺層發(fā)起注冊申請,注冊申請內(nèi)容包括基本信息,例如單位、域名、租賃內(nèi)容、租賃時間,由平臺層管理員審核申請內(nèi)容,審核通過后,并對租戶所申請的應(yīng)用軟件組件進(jìn)行授權(quán),創(chuàng)建頂層租戶管理員。步驟303,頂層租戶接收下層子租戶的注冊申請并審核通過后,實(shí)現(xiàn)對本頂層租戶所使用的應(yīng)用軟件組件的轉(zhuǎn)租;并直接管理下層子租戶的訪問控制權(quán)限。當(dāng)頂層租戶的子租戶需要將其擁有的應(yīng)用軟件組件轉(zhuǎn)租給其它租用者時,租用者需要向該轉(zhuǎn)租租戶發(fā)起注冊申請,申請的方式是訪問該租戶的注冊功能地址,其中,不同租戶和云平臺的網(wǎng)絡(luò)訪問地址都是通過唯一的域名進(jìn)行識別;由該頂層租戶管理員審核,審核申請通過后,租用者成為該頂層租戶的子租戶。例如租用者C計(jì)劃從云平臺A的頂層租戶B租賃應(yīng)用軟件組件,則租用者C首先通過域名訪問頂層租戶B,發(fā)起注冊申請,內(nèi)容包括單位、域名、租賃內(nèi)容、租賃期限等,頂層租戶B對應(yīng)的下層租戶管理員對申請進(jìn)行審核,租賃的內(nèi)容和期限限制在頂層租戶B所擁有的范圍內(nèi)。若審核通過,則系統(tǒng)新建的租戶D,并保存租戶D的唯一域名,頂層租戶B的管理員根據(jù)申請內(nèi)容為租戶D分配相應(yīng)的訪問權(quán)限,并創(chuàng)建租戶D的租戶管理員,則頂層租戶B成為租戶D的父租戶,租戶D成為頂層租戶B的子租戶;否則,拒絕。審核通過后,具體執(zhí)行如下步驟:1)創(chuàng)建角色訪問控制:申請審核通過后,租戶管理員直接擁有所租賃的應(yīng)用軟件組件的管理權(quán)限,租戶管理員根據(jù)實(shí)際需求定義多個角色,每個角色擁有相應(yīng)的功能和數(shù)據(jù)的訪問權(quán)限;2)創(chuàng)建用戶訪問控制:由租戶管理員直接為所屬租戶創(chuàng)建用戶,并對創(chuàng)建的用戶進(jìn)行角色指定;3)實(shí)現(xiàn)訪問控制:用戶訪問租戶唯一的域名到云平臺登錄界面,輸入帳號 和密碼后,云平臺根據(jù)該用戶所訪問的租戶域名和ID,從數(shù)據(jù)庫中獲取該租戶的信息,然后獲取該用戶的信息,進(jìn)行身份驗(yàn)證,若通過,則允許登錄,系統(tǒng)將獲取該用戶角色信息,根據(jù)角色權(quán)限為用戶指定應(yīng)用軟件組件的訪問權(quán)限;若不存在該用戶,或者該用戶屬于其它租戶,則身份驗(yàn)證都不能通過,系統(tǒng)將拒絕登錄。步驟304,子租戶接收更下一層子租戶的注冊申請并審核通過后,對發(fā)出注冊申請的更下一層子租戶所申請使用的應(yīng)用軟件組件進(jìn)行授權(quán),創(chuàng)建更下一層租戶管理員;并直接管理更下一層子租戶的訪問控制權(quán)限。例如,頂層租戶的子租戶A轉(zhuǎn)租某應(yīng)用軟件組件到租用者C后,子租戶A成為租戶C的父租戶,租用者C成為子租戶A的下一層子租戶,即租用者C成為云平臺系統(tǒng)的第三層租戶。參見圖4,是本發(fā)明實(shí)施例的云平臺中用戶的訪問控制流程圖,包括如下步驟:步驟401,用戶通過訪問租戶唯一域名到云平臺;步驟402,云平臺系統(tǒng)根據(jù)用戶提交的訪問請求,從http協(xié)議的host字段解析用戶所訪問的域名,并從數(shù)據(jù)庫中查找該域名對應(yīng)的租戶;步驟403,云平臺系統(tǒng)從數(shù)據(jù)庫中找到該租戶的對應(yīng)租戶品牌以及登錄頁面數(shù)據(jù),將頁面內(nèi)容返回給用戶;步驟405,用戶輸入用戶名和密碼嘗試登錄,云平臺系統(tǒng)根據(jù)租戶和用戶的關(guān)系,判斷租戶中是否存在該用戶,該用戶登錄密碼是否正確,即判斷登錄是否成功;步驟406,若登錄成功,則云平臺系統(tǒng)查找用戶角色,并授權(quán)訪問內(nèi)容;否則,拒絕。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。