一種面向多租戶的云計算系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種面向多租戶的云計算系統(tǒng)。本發(fā)明云計算系統(tǒng),根據(jù)租戶對數(shù)據(jù)隔離性要求的不同采用不同的方式存儲租戶數(shù)據(jù):對隔離性要求高的租戶采用獨立數(shù)據(jù)庫的方式存儲租戶數(shù)據(jù),而對于普通用戶則采用共享數(shù)據(jù)庫、共享數(shù)據(jù)架構的方式存儲租戶數(shù)據(jù)。本發(fā)明云計算系統(tǒng)進一步在傳統(tǒng)的基于角色的訪問控制模型中引入層級管理。相比現(xiàn)有技術,本發(fā)明能夠更好的滿足不同質量要求的用戶需求,增強了SaaS應用平臺的安全性,提高了權限控制管理效率。
【專利說明】-種面向多租戶的云計算系統(tǒng)
【技術領域】
[0001] 本發(fā)明涉及一種面向多租戶的云計算系統(tǒng),主要用于滿足多租戶云計算系統(tǒng)中數(shù) 據(jù)的安全性的要求,屬于云計算【技術領域】。
【背景技術】
[0002] 隨著Internet網(wǎng)絡技術的發(fā)展和計算機技術的不斷提高,網(wǎng)絡中傳輸和處理的 數(shù)據(jù)的能力直線增長。人們希望獲得一種直接、便捷的計算處理方式,不需要安裝應用軟 件,只要連接互聯(lián)網(wǎng),就可以利用連接在網(wǎng)絡中的空閑的計算機資源進行任務處理。
[0003] 在此背景之下,云計算應運而生,所謂云計算,就是通過計算機網(wǎng)絡去連接由大量 服務器、存儲設備集群而構成的云計算平臺,以此來獲取所需要的服務。而云計算服務商則 是將一項復雜的運算任務分成若干個部分,通過分布在計算機網(wǎng)絡中的計算機協(xié)同合作, 最后再將運算結果傳輸回客戶端,從而實現(xiàn)個人數(shù)據(jù)在遠程的計算資源集群的運算。
[0004] 云計算可以認為包括以下幾個層次的服務:基礎設施級服務(IaaS),平臺級服務 (PaaS)和軟件級服務(SaaS)。其中SaaS作為云計算中的一種服務交付方式,具有單實例 多租賃的特點。它的出現(xiàn)改變了傳統(tǒng)企業(yè)級系統(tǒng)交付以及用戶的使用方式。SaaS軟件服務 供應商將應用軟件統(tǒng)一部署在服務器上,所以用戶無需在本地客戶端安裝該應用程序,省 去了軟件維護和支持的成本。用戶只需根據(jù)自己的需求向服務商定購所需要使用的軟件服 務,并按照定購服務的功能和使用時間支付給服務商費用即可,此外,SaaS也降低了購買和 維護硬件所花費的成本。SaaS服務提供商與租戶之間的關系如圖1所示。
[0005] 但是SaaS的訪問控制與傳統(tǒng)軟件的訪問控制有所不同,傳統(tǒng)軟件的信息資源都 在用戶自己硬件設備上,用戶擁有對自己所有資源的完全管理權限,而SaaS服務中用戶的 數(shù)據(jù)信息都存儲在服務商的服務器上,由SaaS服務提供商進行維護管理。并且SaaS服務 是會租賃給多個租戶使用的,多個用戶都將可能會使用同一個數(shù)據(jù)庫甚至同一張表,所以 如何保證SaaS應用服務中租戶數(shù)據(jù)的隱私和安全就顯得尤為重要。
[0006] 傳統(tǒng)的多租戶架構中,多租戶在數(shù)據(jù)存儲上存在三種主要的方案:獨立數(shù)據(jù)庫,共 享數(shù)據(jù)庫、隔離數(shù)據(jù)架構,共享數(shù)據(jù)庫、共享數(shù)據(jù)架構。三種方案都存在相應的不足,獨立數(shù) 據(jù)庫成本較高,一般用戶承受不起;共享數(shù)據(jù)庫,隔離數(shù)據(jù)架構數(shù)據(jù)恢復困難,跨租戶統(tǒng)計 數(shù)據(jù)困難;共享數(shù)據(jù)庫,共享數(shù)據(jù)架構隔離級別低,安全性低,數(shù)據(jù)恢復困難。此外,傳統(tǒng)的 多租戶架構中,通常使用基于角色(RBAC)的訪問控制模型來保證系統(tǒng)資源的安全性。但是 傳統(tǒng)的基于角色(RBAC)的訪問控制模型沒有考慮租戶的層級性特點來對用戶進行層級劃 分管理,因此,難以確保數(shù)據(jù)訪問的安全性、一致性、完整性,且權限控制管理效率較低。
【發(fā)明內(nèi)容】
[0007] 本發(fā)明所要解決的技術問題在于克服現(xiàn)有技術不足,提供一種面向多租戶的云計 算系統(tǒng),可有效增強SaaS應用平臺的安全性,提高權限控制管理效率。
[0008] 本發(fā)明的面向多租戶的云計算系統(tǒng),根據(jù)租戶對數(shù)據(jù)隔離性要求的不同采用不同 的方式存儲租戶數(shù)據(jù):對隔離性要求高的租戶采用獨立數(shù)據(jù)庫的方式存儲租戶數(shù)據(jù),而對 于普通用戶則采用共享數(shù)據(jù)庫、共享數(shù)據(jù)架構的方式存儲租戶數(shù)據(jù)。
[0009] 進一步地,本發(fā)明的面向多租戶的云計算系統(tǒng),使用基于角色的訪問控制模型,所 述基于角色的訪問控制模型按照以下步驟構建: 步驟1 :各租戶結合自身的特點構建租戶自己的組織結構和角色體系模型,所述組織 結構和角色體系模型具有以下定義: 租戶:租用軟件級服務的企業(yè),在軟件級服務平臺下存在多個租戶,并且各租戶之間的 信息是相互獨立的; 租戶管理員:每個租戶擁有一個管理員,租戶管理員可以對租戶中的所有角色進行權 限分配,同時對其具有新增、修改、刪除的權限; 角色:企業(yè)中的某一特定的職能或職責崗位,根據(jù)企業(yè)的業(yè)務功能劃分具有層次關系 的角色,上層角色與其下層角色的不同不僅是職能的不同,而且還要對其負責的領域具有 管理職能; 用戶:軟件級服務真正的使用者,用戶屬于某一角色從而擁有相應的權限,并能進行相 關的業(yè)務管理; 步驟2、為各角色配置相應的訪問控制權限; 步驟3、租戶管理員為用戶指定不同的角色。
[0010] 相比現(xiàn)有技術,本發(fā)明具有以下有益效果: 不同的租戶首先構建自身的組織結構和角色體系模型,然后根據(jù)其自身的組織結構和 角色體系模型對購買的服務進行自定義的配置,符合租戶的要求,靈活性更高;對隔離性 要求比較高的租戶采用獨立數(shù)據(jù)庫的方式存儲租戶數(shù)據(jù),而對于普通用戶則采用共享數(shù)據(jù) 庫,共享數(shù)據(jù)架構的方式,在結合獨立數(shù)據(jù)庫和共享數(shù)據(jù)庫,共享數(shù)據(jù)架構優(yōu)點的同時,也 滿足了用戶的不同服務質量的需求;在傳統(tǒng)的基于角色(RBAC)的訪問控制模型中引入層 級管理,使得角色管理井然有序,減輕權限管理的負擔。
【專利附圖】
【附圖說明】
[0011] 圖1為SaaS服務提供商與租戶之間的關系圖; 圖2為財務部門的角色層次關系圖; 圖3為SaaS隔離模型圖; 圖4為用戶的訪問控制流程圖。
【具體實施方式】
[0012] 下面結合附圖對本發(fā)明的技術方案進行詳細說明: 本發(fā)明針對現(xiàn)有技術不足,首先對傳統(tǒng)多租戶架構中多租戶數(shù)據(jù)存儲方式進行了改 進,對隔離性要求比較高的租戶采用獨立數(shù)據(jù)庫的方式存儲租戶數(shù)據(jù),而對于普通用戶則 采用共享數(shù)據(jù)庫,共享數(shù)據(jù)架構的方式,在結合獨立數(shù)據(jù)庫和共享數(shù)據(jù)庫,共享數(shù)據(jù)架構優(yōu) 點的同時,也滿足了用戶的不同服務質量的需求;本發(fā)明進一步在傳統(tǒng)的基于角色的訪問 控制模型中引入層級管理,使得角色管理井然有序,減輕權限管理的負擔。
[0013] 首先,確立企業(yè)的組織結構和角色體系模型,對企業(yè)中的組織結構和角色體系模 型有如下定義: 租戶:租用SaaS應用的企業(yè),在SaaS平臺下存在多個租戶,并且各租戶之間的信息是 相互獨立的。記作Tenants={t 1 ,t 2,"·,? " },是所有租戶的集合。
[0014] 租戶管理員:每個租戶擁有一個管理員,租戶管理員可以對租戶中的所有角色進 行權限分配,同時對其具有新增、修改、刪除的權限。
[0015] 角色:企業(yè)中的某一特定的職能或職責崗位。根據(jù)企業(yè)的業(yè)務功能劃分具有層次 關系的角色,上層角色與其下層角色的不同不僅是職能的不同,而且還要對其負責的領域 具有管理職能。圖2顯示了某租戶的財務部門的角色層次關系。各部門的管理角色則使用 集合R= R,R 2,…,Rn }表示,而對應于每個管理角色的下層角色使用集合{R1(l,R n ,…,Rln }表示。R(t)表示租戶t的所有角色,每個租戶擁有不同于其他租戶的獨立的角 色集合。
[0016] 用戶:SaaS業(yè)務系統(tǒng)真正的使用者,用戶屬于某一角色從而擁有相應的權限,并 能進行相關的業(yè)務管理。隸屬于某個角色的用戶不能訪問屬于其他角色的用戶的功能模 塊,更不能訪問屬于其他租戶的功能模塊。記作UserszIupUy ···,!!"},表示用戶的集 合。U(t)表示租戶t的所有用戶。
[0017] 建立本發(fā)明的基于角色的訪問控制模型的步驟如下: 步驟1 :租戶需要結合本企業(yè)自身的特點分析構建租戶自己的組織結構和角色體系模 型,即:企業(yè)內(nèi)部有哪些主要部門,每個部門分別有哪些主要崗位,每個崗位的承擔者在企 業(yè)內(nèi)部又扮演著什么角色;然后,對不同的角色進行分類細化,明確其職能目標;最后,形 成企業(yè)組織結構和角色體系模型。
[0018] 步驟2 :在確定好組織結構和角色以后,組織不同角色常用的功能模塊,不同的功 能模塊其實就對應角色能訪問的頁面。系統(tǒng)功能的訪問控制和系統(tǒng)資源的訪問控制最終反 映到對角色所能使用的頁面的控制,而一個角色擁有的頁面訪問權限也就具有了相應的系 統(tǒng)功能及系統(tǒng)資源訪問權限。權限和角色之間多對多的關系,即一個角色可以被授予多個 權限,一個權限可以分配給多個角色。
[0019] 步驟3 :在配置完角色的權限以后,租戶管理員為用戶指定不同的角色,如此,用 戶就具有了對數(shù)據(jù)對象的相應訪問權限。用戶和角色之間也是多對多的關系,即一個角色 可以分配給多個用戶,一個用戶可以被授予多個角色。
[0020] 完成組織結構和角色體系模型以后,租戶向SaaS服務提供商購買SaaS服務,并且 根據(jù)其自身的組織結構和角色體系模型對購買的服務進行自定義的配置。
[0021] 然后對租戶的SaaS應用和數(shù)據(jù)進行隔離,如圖3所示,SaaS軟件服務提供商對服 務質量要求比較高的租戶所申請的服務提供獨立的數(shù)據(jù)庫存儲單元,針對用戶具體的要求 實現(xiàn)精確的方案,滿足租戶的獨特要求,在所有的實現(xiàn)數(shù)據(jù)隔離的方式中。由于采用物理的 方式實現(xiàn)數(shù)據(jù)隔離,當出現(xiàn)故障的時候,恢復數(shù)據(jù)比較簡單。不過這種定制級別僅適用于用 戶服務要求比較高的隔離程度,要求數(shù)據(jù)存儲獨立,還要求企業(yè)有足夠的資金來支持數(shù)據(jù) 的獨立存儲和擴展的成本。
[0022] 對普通的用戶,采用多租戶可配置級。在可配置可擴展的多租戶級上,每個租戶的 服務不但使用共同的硬件存儲設備,同時也使用同一軟件實例,但是從用戶的角度看,每個 用戶就好像獨占這個軟件實例。租戶的數(shù)據(jù)使用共享數(shù)據(jù)庫,共享數(shù)據(jù)架構的方式存儲,使 用租戶ID來區(qū)分不同的租戶。對于租戶數(shù)量的變化,可以通過靈活增減后臺服務器的數(shù)量 多少實現(xiàn)。而且不管訪問的用戶量有多少,都可以像只針對單個用戶一樣,方便的實施應用 修改。
[0023] 本發(fā)明的云計算系統(tǒng)中,用戶的訪問控制步驟如圖4所示,具體包括以下步驟: 步驟1 :用戶登錄,云服務商首先對其進行身份驗證,如果身份不能得到確認的話,拒 絕用戶登錄,返回出錯信息。
[0024] 步驟2 :確認完登錄用戶的身份如果是租戶管理員,則轉到步驟3,否則系統(tǒng)根據(jù) 用戶所屬角色所擁有的權限,控制用戶所能訪問的頁面,并在瀏覽器端呈現(xiàn)給用戶。
[0025] 步驟3 :登錄的用戶是租戶管理員,系統(tǒng)會在瀏覽器端為用戶呈現(xiàn)有別于普通用 戶的頁面,在此頁面上用戶可以對所管理的企業(yè)進行更改租用服務,角色權限的調整,角色 和用戶的重新分配等操作。
[0026] 步驟4:不同的非租戶管理員用戶登錄系統(tǒng)以后會有不同的用戶頁面,不同的用 戶頁面也就表示用戶具有不同的系統(tǒng)功能及系統(tǒng)資源的訪問權限,用戶可以在頁面上操作 來訪問相應的資源,實現(xiàn)相應的功能。
【權利要求】
1. 一種面向多租戶的云計算系統(tǒng),其特征在于,根據(jù)租戶對數(shù)據(jù)隔離性要求的不同采 用不同的方式存儲租戶數(shù)據(jù):對隔離性要求高的租戶采用獨立數(shù)據(jù)庫的方式存儲租戶數(shù) 據(jù),而對于普通用戶則采用共享數(shù)據(jù)庫、共享數(shù)據(jù)架構的方式存儲租戶數(shù)據(jù)。
2. 如權利要求1所述面向多租戶的云計算系統(tǒng),其特征在于,使用基于角色的訪問控 制模型,所述基于角色的訪問控制模型按照以下步驟構建: 步驟1 :各租戶結合自身的特點構建租戶自己的組織結構和角色體系模型,所述組織 結構和角色體系模型具有以下定義: 租戶:租用軟件級服務的企業(yè),在軟件級服務平臺下存在多個租戶,并且各租戶之間的 信息是相互獨立的; 租戶管理員:每個租戶擁有一個管理員,租戶管理員可以對租戶中的所有角色進行權 限分配,同時對其具有新增、修改、刪除的權限; 角色:企業(yè)中的某一特定的職能或職責崗位,根據(jù)企業(yè)的業(yè)務功能劃分具有層次關系 的角色,上層角色與其下層角色的不同不僅是職能的不同,而且還要對其負責的領域具有 管理職能; 用戶:軟件級服務真正的使用者,用戶屬于某一角色從而擁有相應的權限,并能進行相 關的業(yè)務管理; 步驟2、為各角色配置相應的訪問控制權限; 步驟3、租戶管理員為用戶指定不同的角色。
【文檔編號】G06Q10/06GK104123616SQ201410358008
【公開日】2014年10月29日 申請日期:2014年7月25日 優(yōu)先權日:2014年7月25日
【發(fā)明者】付雄, 徐松, 鄧松, 程春玲 申請人:南京郵電大學