一種實現(xiàn)租戶鑒權機制的方法
【技術領域】
[0001]本發(fā)明涉及云計算技術領域,具體地說是一種實用性強、實現(xiàn)租戶鑒權機制的方法。
【背景技術】
[0002]隨著云時代的到來,云服務環(huán)境下的針對多租戶的大數(shù)據(jù)處理需求越來越普遍,同時對于租戶數(shù)據(jù)的隱密和共享必須進行有效管理,實現(xiàn)租戶間有效的數(shù)據(jù)隔離。消息中間件MQ在大數(shù)據(jù)處理中承擔著業(yè)務解耦和大數(shù)據(jù)傳輸?shù)娜蝿眨壳跋㈥犃薪M件通常不具備租戶鑒權能力,主要體現(xiàn)在:生產(chǎn)和消費的客戶端可以自由連接MQ服務器,生產(chǎn)端可以自由生成Topic信息;消費端可以自由消費已知的Topic。因此必須改造消息隊列中間件,在消息發(fā)布和訂閱過程中引入租戶鑒權機制,實現(xiàn)數(shù)據(jù)的安全傳輸和安全隔離?;诖耍F(xiàn)提供一種實現(xiàn)租戶鑒權機制的方法。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的技術任務是針對以上不足之處,提供一種實用性強、實現(xiàn)租戶鑒權機制的方法。
[0004]一種實現(xiàn)租戶鑒權機制的方法,其具體實現(xiàn)過程為:
采用消息路由作為租戶鑒權平臺;
在消息路由中增加租戶鑒權機制,實現(xiàn)數(shù)據(jù)傳輸?shù)陌踩綦x;
使用Web Service服務接口實現(xiàn)消息隊列服務與租戶中心的對接。
[0005]所述租戶鑒權平臺的建立過程為:采用客戶端、服務器架構進行消息隊列中間件數(shù)據(jù)傳輸,該客戶端包括消息發(fā)布客戶端、消息消費客戶端,服務器端則包括消息隊列中間件服務端;通過消息路由管理客戶端與服務器端。
[0006]所述消息路由器中增加租戶鑒權機制即為消息隊列中間件客戶端連接服務器時進行有效的租戶登錄校驗,該租戶鑒權機制由租戶鑒權系統(tǒng)完成,租戶鑒權系統(tǒng)與消息路由器進行對接,實現(xiàn)登錄租戶帳號信息的核對認證。
[0007]所述租戶登錄校驗步驟是在消息發(fā)布和消息消費的客戶端在啟動客戶端實例后,連接消息路由器、查找消息隊列的服務器列表之前,該校驗是指進行登錄租戶的權限認證,認證信息包括:租戶帳號和密碼信息;
將登錄認證功能進行集中處理,使客戶端與服務器在進行租戶認證過程中始終保持松耦合結構。
[0008]所述租戶登錄校驗基于Topic完成,消息隊列組件通過該Topic進行消息的發(fā)布和訂閱;在租戶登錄校驗前,首先建立租戶與Topic的發(fā)布、訂閱關系數(shù)據(jù)模型,通過該租戶與Topic的發(fā)布、訂閱關系數(shù)據(jù)模型,建立租戶發(fā)布和訂閱Topic關系;
消息發(fā)布客戶端、消息消費客戶端分別進行消息的發(fā)布和訂閱時,依據(jù)租戶帳號信息和Topic信息,結合租戶與Topic關系模型,實現(xiàn)租戶的登錄驗證、Topic權限驗證以及數(shù)據(jù)傳輸?shù)挠行Ц綦x。
[0009]所述租戶與Topic的發(fā)布、訂閱關系數(shù)據(jù)模型包括租戶帳號信息、發(fā)布組信息、消費組信息及對應的Topic信息,并根據(jù)數(shù)據(jù)模型建立租戶發(fā)布Topic關系表和租戶消費Topic關系表。
[0010]所述租戶鑒權包括消息發(fā)布客戶端鑒權與消息消費客戶端鑒權,其中消息發(fā)布端的鑒權過程為:
消息發(fā)布客戶端連接消息路由器,發(fā)布消息前,首先依據(jù)客戶端發(fā)送的租戶帳號信息進行租戶登錄驗證:
租戶驗證失敗:返回驗證未通過標志,阻止租戶客戶端進行消息的發(fā)送操作;
租戶驗證通過:依據(jù)Topic和發(fā)布組信息,驗證該租戶發(fā)布Topic關系中是否存在相應的發(fā)布組和該Topic信息;如果存在,則通過驗證,通知客戶端進行該Topic的消息發(fā)送;如果不存在,返回驗證未通過標志,阻止租戶客戶端進行消息的發(fā)送操作;
消息消費端的鑒權過程為:
消息消費的客戶端連接消息路由器,訂閱消息前,首先依據(jù)客戶端發(fā)送的租戶帳號信息進行租戶登錄驗證:
租戶驗證失敗:返回驗證未通過標志,阻止租戶客戶端進行消息的訂閱消費操作;租戶驗證通過:依據(jù)Topic和訂閱組信息,驗證該租戶訂閱Topic關系中是否存在相應的訂閱組和該Topic信息;如果存在,則通過驗證,通知客戶端進行該Topic的消息訂閱消費操作;如果不存在,返回驗證未通過標志,阻止租戶客戶端進行消息的訂閱操作。
[0011]所述web Service服務接口通過服務注冊總線,實現(xiàn)與第三方租戶管理系統(tǒng)的對接,該第三方租戶是指獨立的組件或服務,使消息隊列與租戶鑒權系統(tǒng)進行有效解耦,動態(tài)擴展租戶鑒權需求。
[0012]本發(fā)明的一種實現(xiàn)租戶鑒權機制的方法,具有以下優(yōu)點:
該發(fā)明的一種實現(xiàn)租戶鑒權機制的方法符合云服務環(huán)境下多租戶利用消息中間件MQ進行消息傳輸時進行租戶認證和數(shù)據(jù)隔離的業(yè)務要求,通過對消息隊列數(shù)據(jù)傳輸增加租戶鑒權處理機制,有效防止消息在多租戶間發(fā)布、訂閱的無序交叉,提高數(shù)據(jù)傳輸?shù)陌踩?;消息隊列客戶端與服務器端在租戶鑒權上的系統(tǒng)解耦,可以靈活擴展與第三方租戶鑒權系統(tǒng)的對接,進一步擴展了消息隊列中間件產(chǎn)品在云服務環(huán)境下進行數(shù)據(jù)傳輸?shù)膽妙I域;實用性強,適用范圍廣泛,易于推廣。
【附圖說明】
[0013]附圖1為本發(fā)明的實現(xiàn)架構示意圖。
[0014]附圖2為本發(fā)明的租戶鑒權機制實現(xiàn)圖。
【具體實施方式】
[0015]下面結合附圖和具體實施例對本發(fā)明作進一步說明。
[0016]本發(fā)明提供一種實現(xiàn)租戶鑒權機制的方法,通過對消息隊列數(shù)據(jù)傳輸增加租戶鑒權處理機制,實現(xiàn)了消息隊列客戶端與服務器端在租戶鑒權上的系統(tǒng)解耦,可以靈活擴展與第三方租戶鑒權系統(tǒng)的對接,防止消息在多租戶間發(fā)布、訂閱的無序交叉,提高數(shù)據(jù)傳輸?shù)陌踩浴?br>[0017]基于此設計思路,如附圖1、圖2所示,該方法的具體實現(xiàn)過程為:
采用消息路由作為租戶鑒權平臺,實現(xiàn)租戶登錄認證功能的集中處理,使消息隊列中間件的客戶端與服務器端在進行租戶認證過程中始終保持松耦合結構;
在消息路由中增加租戶鑒權機制,實現(xiàn)數(shù)據(jù)傳輸?shù)陌踩綦x;
使用Web Service服務接口實現(xiàn)消息隊列服務與租戶中心的對接。
[0018]所述租戶鑒權平臺的建立過程為:消息隊列中間件進行數(shù)據(jù)傳輸時一般采用CS(客戶端、服務器)架構。通過消息路由來有效管理客戶端與服務器端。為實現(xiàn)消息傳輸時能進行租戶鑒權處理,必須保證消息中間件的客戶端連接服務器時進行有效的租戶登錄校驗,在增加租戶鑒權功能時,要力求減少對于消息中間件客戶端和服務器端的現(xiàn)有結構的改動影響,以便保證消息中間件的穩(wěn)定性,因此可以選擇在消息路由器中增加租戶鑒權機制。消息發(fā)送和消息消費的客戶端,在啟動客戶端實例后,在連接消息路由器查找消息隊列服務器列表時,進行登錄租戶的權限認證,認證信息包括:租戶帳號和密碼信息。消息路由器可與租戶鑒權系統(tǒng)進行對接,實現(xiàn)登錄租戶帳號信息的核對認證。通過上述處理機制,可將登錄認證功能進行集中處理,使客戶端與服務器在進行租戶認證過程中始終保持松耦合結構。
[0019]所述租戶登錄校驗基于Topic完成,消息隊列組件是基于Topic進行消息的發(fā)布和訂閱。為實現(xiàn)數(shù)據(jù)隔離,必須要實現(xiàn)對于租戶Topic的權限管理。因此必須建立起租戶與Topic的發(fā)布、訂閱關系數(shù)據(jù)模型。數(shù)據(jù)模型包括租戶帳號信息,發(fā)布組信息,消費組信息及對應的Topic信息。依據(jù)數(shù)據(jù)模型可以建