本發(fā)明涉及數(shù)據(jù)隱私保護(hù)技術(shù)領(lǐng)域,特別是涉及一種多租戶環(huán)境的訪問控制方法及裝置。
背景技術(shù):
云計(jì)算是繼個(gè)人計(jì)算機(jī)、互聯(lián)網(wǎng)之后的第三次信息化革命。隨著云計(jì)算技術(shù)應(yīng)用的進(jìn)一步深入,云計(jì)算隱私保護(hù)也成為業(yè)界關(guān)注的焦點(diǎn),更是廣大用戶選擇云計(jì)算服務(wù)的首要考慮因素。訪問控制是對(duì)用戶的訪問進(jìn)行控制,防止不合法用戶對(duì)數(shù)據(jù)擁有者的資源進(jìn)行訪問所造成的數(shù)據(jù)泄露,因而是保證云計(jì)算安全的一個(gè)重要環(huán)節(jié)。
隨著公有云業(yè)務(wù)的不斷發(fā)展,大量應(yīng)用在云環(huán)境中部署,并伴隨著用戶海量數(shù)據(jù)在云環(huán)境中的處理與存儲(chǔ)。原來部署在私有云或企業(yè)內(nèi)部網(wǎng)絡(luò)的應(yīng)用遷移到公有云環(huán)境中后,不僅要考慮企業(yè)內(nèi)部(租戶內(nèi)部)的數(shù)據(jù)訪問控制,還要考慮企業(yè)與企業(yè)之間(多租戶之間)的數(shù)據(jù)訪問控制。與普通訪問控制相比,在多租戶云環(huán)境中,不同企業(yè)需要不同的功能模塊和不同的訪問控制要求,因而所構(gòu)建的訪問控制方案必須具有靈活性。此外,為了保證租戶數(shù)據(jù)的安全性,要使得租戶數(shù)據(jù)隔離,并且要滿足用戶跨租戶訪問的需求。
目前,多租戶云環(huán)境中的訪問控制方案多采用基于角色的訪問控制方案,即首先將權(quán)限分配給角色,其次,判斷用戶是否符合擁有分配后的角色的要求,若符合要求,授予該用戶訪問權(quán)限,也就是說,角色被用于將用戶和權(quán)限聯(lián)系起來,只有被授予角色的用戶才有與角色相關(guān)聯(lián)的訪問權(quán)限,從而可以訪問資源,但是,若要對(duì)權(quán)限進(jìn)行細(xì)粒度劃分,必須對(duì)用戶進(jìn)行精確區(qū)分,需要定義大量的角色,由于角色數(shù)量龐大從而易導(dǎo)致的角色管理和分配困難的問題,因而上述訪問控制方法難以適應(yīng)多租戶云環(huán)境下不同租戶對(duì)權(quán)限細(xì)粒度劃分的需求。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例的目的在于提供一種多租戶環(huán)境的訪問控制方法及裝置,以以適應(yīng)多租戶云環(huán)境下不同租戶對(duì)權(quán)限細(xì)粒度劃分的需求。
具體技術(shù)方案如下:
接收目標(biāo)用戶針對(duì)目標(biāo)角色的訪問請(qǐng)求;
根據(jù)所述訪問請(qǐng)求獲取所述目標(biāo)用戶的主體屬性;
確定所述主體屬性和當(dāng)前環(huán)境屬性是否符合所述目標(biāo)角色的設(shè)定要求;
若符合所述目標(biāo)角色設(shè)定要求,獲得是否對(duì)所述目標(biāo)用戶進(jìn)行角色設(shè)定的判斷結(jié)果,其中,所述判斷結(jié)果是根據(jù)所述目標(biāo)角色對(duì)所述目標(biāo)用戶的信任值判斷得到的;
在所述判斷結(jié)果表明進(jìn)行角色設(shè)定時(shí),設(shè)定所述目標(biāo)用戶的角色為所述目標(biāo)角色;
判斷所述目標(biāo)角色是否符合所述第一數(shù)據(jù)擁有者的權(quán)限設(shè)定要求;
若符合所述第一數(shù)據(jù)擁有者的權(quán)限設(shè)定要求,允許所述目標(biāo)用戶以所述目標(biāo)角色對(duì)所述第一數(shù)據(jù)擁有者服務(wù)器進(jìn)行資源訪問。
進(jìn)一步地,所述確定所述目標(biāo)角色是否符合所述第一數(shù)據(jù)擁有者的權(quán)限設(shè)定要求,包括:
根據(jù)所述訪問請(qǐng)求攜帶的權(quán)限屬性和當(dāng)前環(huán)境屬性,確定所述目標(biāo)角色是否符合所述第一數(shù)據(jù)擁有者的權(quán)限設(shè)定要求。
進(jìn)一步地,所述獲得是否對(duì)所述目標(biāo)用戶進(jìn)行角色設(shè)定的判斷結(jié)果,包括:
獲得所述目標(biāo)用戶的用戶行為的信任值t2和用戶信譽(yù)的信任值t3;
根據(jù)以下表達(dá)式計(jì)算所述目標(biāo)角色對(duì)所述目標(biāo)用戶的信任值t,記為第一信任值:
表達(dá)式為:t=w2t2+w3t3,
其中,w2和w3分別為t2和t3所占的權(quán)重,且w2+w3=1;
將t與設(shè)定的用戶信任閾值t0進(jìn)行比較,若t不小于t0,判定對(duì)所述目標(biāo)用戶進(jìn)行角色設(shè)定,其中,t為所述第一信任值。
進(jìn)一步地,在所述允許所述目標(biāo)用戶以所述目標(biāo)角色對(duì)所述第一數(shù)據(jù)擁有者服務(wù)器進(jìn)行資源訪問前,還包括:
獲得所述第一數(shù)據(jù)擁有者的權(quán)限對(duì)所述目標(biāo)角色的信任值,作為第二信任值;
利用所述第二信任值,判斷是否對(duì)所述目標(biāo)角色進(jìn)行權(quán)限設(shè)定;
若是,為所述目標(biāo)用戶分配所述目標(biāo)角色的權(quán)限。
進(jìn)一步地,所述獲得所述第一數(shù)據(jù)擁有者的權(quán)限對(duì)所述目標(biāo)角色的信任值,包括:
獲得所述目標(biāo)角色的角色本身的信任值t2'、角色信譽(yù)的信任值t3'以及角色繼承的信任值t4'
根據(jù)以下表達(dá)式,獲得所述第一數(shù)據(jù)擁有者對(duì)所述目標(biāo)角色的信任值t′:
表達(dá)式為:t′=w2't2'+w3't3'+w4't4';
其中,w2'、w3'和w4'分別為t2'、t3'和t4'所占的權(quán)重,且w2′+w3′+w4′=1。
進(jìn)一步地,所述利用所述第二信任值,判斷是否對(duì)所述目標(biāo)角色進(jìn)行權(quán)限設(shè)定,包括:
將t′與設(shè)定的信任閾值t0'進(jìn)行比較,若t′不小于t0',判定對(duì)所述目標(biāo)角色進(jìn)行權(quán)限設(shè)定。
進(jìn)一步地,所述確定所述主體屬性和當(dāng)前環(huán)境屬性是否符合所述目標(biāo)角色的設(shè)定要求,包括:
確定第二數(shù)據(jù)擁有者的服務(wù)器已確認(rèn)所述目標(biāo)用戶擁有所述目標(biāo)角色;
其中,所述第二數(shù)據(jù)擁有者的服務(wù)器通過以下方式確認(rèn)所述目標(biāo)用戶是否擁有所述目標(biāo)角色:
所述第二數(shù)據(jù)擁有者的服務(wù)器判斷所述主體屬性和接收到所述訪問請(qǐng)求時(shí)的環(huán)境屬性是否符合所述目標(biāo)角色的設(shè)定要求,若符合,確認(rèn)所述目標(biāo)用戶擁有所述目標(biāo)角色。
進(jìn)一步地,在判斷所述目標(biāo)角色是否符合所述第一數(shù)據(jù)擁有者的權(quán)限設(shè)定要求之前,還包括:
獲得所述第一數(shù)據(jù)擁有者的角色對(duì)第二數(shù)據(jù)擁有者的所述目標(biāo)角色的信任值,作為第三信任值;
利用所述第三信任值,判斷是否對(duì)所述目標(biāo)角色進(jìn)行角色設(shè)定;
若是,為第二數(shù)據(jù)擁有者的所述目標(biāo)角色分配所述角色。
進(jìn)一步地,獲得所述第一數(shù)據(jù)擁有者的角色對(duì)所述目標(biāo)角色的信任值,作為第三信任值,包括:
獲得所述第一數(shù)據(jù)擁有者的權(quán)限對(duì)所述目標(biāo)角色的信任值t2″、角色信譽(yù)的信任值t3″以及角色繼承的信任值t4″;
根據(jù)以下表達(dá)式,獲得所述第一數(shù)據(jù)擁有者對(duì)所述目標(biāo)角色的信任值t″,作為第三信任值:
表達(dá)式為:t″=w2″t2″+w3″t3″+w4″t4″,
其中,w2'、w3'和w4'分別為t2″、t3″和t4″所占的權(quán)重,且w2″+w3″+w4″=1。
一種基于多租戶云環(huán)境的訪問控制裝置,應(yīng)用于第一數(shù)據(jù)擁有者的服務(wù)器,所述裝置包括:
請(qǐng)求接收模塊,用于接收目標(biāo)用戶針對(duì)目標(biāo)角色的訪問請(qǐng)求;
屬性獲取模塊,用于根據(jù)所述訪問請(qǐng)求獲取所述目標(biāo)用戶的主體屬性;
屬性判斷模塊,用于確定所述主體屬性和當(dāng)前環(huán)境屬性是否符合所述目標(biāo)角色的設(shè)定要求,若符合所述目標(biāo)角色設(shè)定要求,觸發(fā)判定結(jié)果模塊;
所述判斷結(jié)果模塊,用于獲得是否對(duì)所述目標(biāo)用戶進(jìn)行角色設(shè)定的判斷結(jié)果,觸發(fā)角色設(shè)定模塊;其中,所述判斷結(jié)果是根據(jù)所述目標(biāo)角色對(duì)所述目標(biāo)用戶的信任值判斷得到的;
所述角色設(shè)定模塊,用于在所述判斷結(jié)果表明進(jìn)行角色設(shè)定時(shí),設(shè)定所述目標(biāo)用戶的角色為所述目標(biāo)角色;
第一權(quán)限設(shè)定判斷模塊,用于判斷所述目標(biāo)角色是否符合所述第一數(shù)據(jù)擁有者的權(quán)限設(shè)定要求,若符合所述第一數(shù)據(jù)擁有者的權(quán)限設(shè)定要求,觸發(fā)訪問允許模塊;
所述訪問允許模塊,用于允許所述目標(biāo)用戶以所述目標(biāo)角色對(duì)所述第一數(shù)據(jù)擁有者服務(wù)器進(jìn)行資源訪問。
本發(fā)明實(shí)施例提供的一種多租戶環(huán)境的訪問控制方法及裝置,該方法在判定用戶是否符合角色設(shè)定要求和角色是否符合權(quán)限要求時(shí),分別引入了目標(biāo)用戶的主體屬性與當(dāng)前環(huán)境屬性和用戶訪問時(shí)的權(quán)限屬性與當(dāng)前環(huán)境屬性,且只有針對(duì)符合信任值設(shè)定要求的用戶,才根據(jù)獲得的判斷結(jié)果進(jìn)行角色設(shè)定,允許目標(biāo)用戶以所述目標(biāo)角色對(duì)所述第一數(shù)據(jù)擁有者服務(wù)器進(jìn)行資源訪問。可見本發(fā)明實(shí)施例提供的方案是一種基于角色、屬性和信任的更細(xì)粒度的訪問控制方案,能夠適應(yīng)多租戶云環(huán)境下不同租戶對(duì)權(quán)限細(xì)粒度劃分的需求。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種基于多租戶云環(huán)境的訪問控制方法的流程圖;
圖2為本發(fā)明實(shí)施例提供的另一種基于多租戶云環(huán)境的訪問控制方法的流程圖;
圖3為本發(fā)明實(shí)施例提供的再一種基于多租戶云環(huán)境的訪問控制方法的流程圖;
圖4為本發(fā)明實(shí)施例提供的一種基于多租戶云環(huán)境的訪問控制裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
首先對(duì)本發(fā)明實(shí)施例中涉及的概念進(jìn)行介紹:
一、主體屬性
主體屬性可以理解為用戶的屬性。
例如,主體屬性包括用戶的身份證號(hào)、郵箱、聯(lián)系方式、性別、職業(yè)、學(xué)位。根據(jù)用戶的身份證號(hào)、郵箱、聯(lián)系方式、性別、職業(yè)、學(xué)位等主體屬性中的至少一種進(jìn)行用戶注冊(cè)后,可以得到的用戶的獨(dú)有賬戶(id)、密碼(password)、令牌(token)等;
二、權(quán)限屬性
權(quán)限屬性可以理解為數(shù)據(jù)擁有者授予用戶的某種權(quán)限的屬性。
具體的,權(quán)限屬性可以包括操作屬性和資源屬性。其中,操作屬性可以理解為:數(shù)據(jù)擁有者授予用戶的對(duì)其資源進(jìn)行某種操作行為的屬性,例如,讀(read)、寫(write)、更新(update)、刪除(delete)等;資源屬性可以理解為:數(shù)據(jù)擁有者授予用戶訪問權(quán)限的資源的屬性,例如,數(shù)據(jù)擁有者的資源的類別(type),保密等級(jí)(secretlevel)等;
三、環(huán)境屬性
環(huán)境屬性可以理解為訪問發(fā)生時(shí)的環(huán)境或上下文。例如,發(fā)出請(qǐng)求的時(shí)間(time)、訪問時(shí)間長(zhǎng)度(thelengthofaccesstime)、地址(一般為ip)等。
四、租戶、用戶、角色和數(shù)據(jù)擁有者
在多租戶云環(huán)境中,包括租戶、用戶、角色和數(shù)據(jù)擁有者四個(gè)實(shí)體,其中:
租戶是指租用云服務(wù)的實(shí)體,云服務(wù)提供商可以為多個(gè)租戶提供服務(wù),租戶利用云平臺(tái)來承載其業(yè)務(wù)。
用戶是指訪問租戶承載在云服務(wù)上的業(yè)務(wù)的實(shí)體,租戶的業(yè)務(wù)可以供多個(gè)用戶訪問。
角色是指在一個(gè)租戶中用戶的身份或工作職能,每個(gè)租戶中可以有多個(gè)角色,但每個(gè)角色只能屬于一個(gè)租戶。
數(shù)據(jù)擁有者是指對(duì)被訪問的數(shù)據(jù)具有擁有權(quán)的租戶。
接下來通過具體實(shí)施例對(duì)本發(fā)明實(shí)施提供的基于多租戶云環(huán)境的訪問控制方法進(jìn)行詳細(xì)介紹。
需要說明的是,本發(fā)明實(shí)施例提供的基于多租戶云環(huán)境的訪問控制方法中涉及的各個(gè)步驟可以是僅僅由第一數(shù)據(jù)擁有者的服務(wù)器執(zhí)行的,還可以是由第一數(shù)據(jù)擁有者的服務(wù)器與該服務(wù)器所屬的云平臺(tái)中的其他服務(wù)器相配合完成的。下面結(jié)合這兩種情況對(duì)本發(fā)明實(shí)施例提供的基于多租戶云環(huán)境的訪問控制方法進(jìn)行說明。
圖1為本申請(qǐng)實(shí)施例提供的第一種基于多租戶云環(huán)境的訪問控制方法,應(yīng)用于第一數(shù)據(jù)擁有者的服務(wù)器,該方法包括:
s101,接收目標(biāo)用戶針對(duì)目標(biāo)角色的訪問請(qǐng)求;
其中,所述訪問請(qǐng)求是目標(biāo)用戶向第一數(shù)據(jù)擁有者的服務(wù)器發(fā)出對(duì)目標(biāo)資源進(jìn)行目標(biāo)操作的請(qǐng)求;所述目標(biāo)角色是為訪問目標(biāo)資源而設(shè)定的身份,若要訪問目標(biāo)資源,首先需要對(duì)目標(biāo)角色發(fā)出訪問請(qǐng)求,目標(biāo)用戶只有具備了目標(biāo)角色,才能對(duì)目標(biāo)資源進(jìn)行訪問。
s102,根據(jù)所述訪問請(qǐng)求獲取所述目標(biāo)用戶的主體屬性;
其中,獲取所述目標(biāo)用戶的主體屬性,主要有兩種情況,具體為:
當(dāng)目標(biāo)用戶向第一數(shù)據(jù)擁有者的服務(wù)器發(fā)出目標(biāo)角色的訪問請(qǐng)求時(shí);第一數(shù)據(jù)擁有者的服務(wù)器提示目標(biāo)用戶登錄或注冊(cè);
若目標(biāo)用戶不是第一數(shù)據(jù)擁有者的服務(wù)器內(nèi)部的用戶,則需要進(jìn)行注冊(cè),目標(biāo)用戶向第一數(shù)據(jù)擁有者的服務(wù)器請(qǐng)求注冊(cè),第一數(shù)據(jù)擁有者的服務(wù)器根據(jù)接收到的注冊(cè)請(qǐng)求,進(jìn)行注冊(cè),或者第一數(shù)據(jù)擁有者的服務(wù)器可以將目標(biāo)用戶的注冊(cè)請(qǐng)求發(fā)送給云平臺(tái)的注冊(cè)服務(wù)器,注冊(cè)服務(wù)器根據(jù)目標(biāo)用戶填寫的主體屬性進(jìn)行注冊(cè);注冊(cè)完成后,執(zhí)行注冊(cè)操作的服務(wù)器賦予用戶唯一的id(identificationyong,賬號(hào))、password(密碼)和token(令牌)等信息。同時(shí),執(zhí)行注冊(cè)操作的服務(wù)器根據(jù)用戶的身份證號(hào)、性別等主體屬性為用戶分配處于未激活狀態(tài)的角色(deadrole),第一數(shù)據(jù)擁有者的服務(wù)器從自身或者上述注冊(cè)服務(wù)器獲取目標(biāo)用戶的主體屬性。
若用戶已經(jīng)注冊(cè)成為第一數(shù)據(jù)擁有者的服務(wù)器內(nèi)部的用戶,則無需進(jìn)行注冊(cè),直接登錄即可,用用戶已有的id、password和token經(jīng)由第一數(shù)據(jù)擁有者的服務(wù)器或者第一數(shù)據(jù)擁有者的用戶屬性認(rèn)證服務(wù)器進(jìn)行認(rèn)證,若認(rèn)證通過,表示可以響應(yīng)上述訪問請(qǐng)求,能夠執(zhí)行后續(xù)步驟,否則,表示可以拒絕上述訪問請(qǐng)求,能夠不執(zhí)行后續(xù)步驟。當(dāng)認(rèn)證通過時(shí),第一數(shù)據(jù)擁有者的服務(wù)器獲得目標(biāo)用戶的主體屬性。
由于考慮到第一數(shù)據(jù)擁有者的服務(wù)器的工作壓力,可以由第一數(shù)據(jù)擁有者的用戶屬性認(rèn)證服務(wù)器完成用戶屬性認(rèn)證操作,當(dāng)然也可以由第一數(shù)據(jù)擁有者的服務(wù)器來完成用戶屬性認(rèn)證操作,本申請(qǐng)并不對(duì)此進(jìn)行限定。
基于上述情況,上述第一數(shù)據(jù)擁有者的服務(wù)器獲得目標(biāo)用戶的主體屬性時(shí),可以相應(yīng)的理解為從完成用戶屬性認(rèn)證的服務(wù)器中獲得目標(biāo)用戶的主體屬性,即:由第一數(shù)據(jù)擁有者的服務(wù)器完成用戶屬性認(rèn)證時(shí),一般從自身獲得目標(biāo)用戶的主體屬性;由第一數(shù)據(jù)擁有者的用戶屬性認(rèn)證服務(wù)器完成用戶屬性認(rèn)證時(shí),一般從第一數(shù)據(jù)擁有者的用戶屬性認(rèn)證服務(wù)器獲得目標(biāo)用戶的主體屬性。
s103,確定所述主體屬性和當(dāng)前環(huán)境屬性是否符合所述目標(biāo)角色的設(shè)定要求,若符合所述目標(biāo)角色設(shè)定要求,執(zhí)行s104;
其中,上述確定所述主體屬性和當(dāng)前環(huán)境屬性是否符合所述目標(biāo)角色的設(shè)定要求,有兩種情況。
第一種情況是第一數(shù)據(jù)擁有者服務(wù)器判斷所述主體屬性和當(dāng)前環(huán)境屬性是否符合所述目標(biāo)角色的設(shè)定要求;
此時(shí),上述當(dāng)前環(huán)境屬性指的是第一數(shù)據(jù)擁有者的服務(wù)器接收到前述訪問請(qǐng)求時(shí)的環(huán)境屬性。
第二種情況是第一數(shù)據(jù)擁有者服務(wù)器確定第二數(shù)據(jù)擁有者的服務(wù)器已確認(rèn)所述目標(biāo)用戶擁有所述目標(biāo)角色;即第二數(shù)據(jù)擁有者服務(wù)器根據(jù)目標(biāo)用戶的主體屬性和當(dāng)時(shí)的環(huán)境屬性判斷目標(biāo)用戶是否符合第二數(shù)據(jù)擁有者設(shè)定的角色要求,第二數(shù)據(jù)擁有者的服務(wù)器將判定的結(jié)果發(fā)送給第一數(shù)據(jù)擁有者的服務(wù)器,第一數(shù)據(jù)擁有者的服務(wù)器根據(jù)第二數(shù)據(jù)擁有者的服務(wù)器判定的結(jié)果進(jìn)行設(shè)定。
此時(shí),上述當(dāng)前環(huán)境屬性指的是第二數(shù)據(jù)擁有者的服務(wù)器接收到前述訪問請(qǐng)求時(shí)的環(huán)境屬性。
所述第二數(shù)據(jù)擁有者的服務(wù)器通過以下方式確認(rèn)所述目標(biāo)用戶是否擁有所述目標(biāo)角色:
所述第二數(shù)據(jù)擁有者的服務(wù)器判斷所述主體屬性和接收到所述訪問請(qǐng)求時(shí)的環(huán)境屬性是否符合所述目標(biāo)角色的設(shè)定要求,若符合,確認(rèn)所述目標(biāo)用戶擁有所述目標(biāo)角色。
s104,獲得是否對(duì)所述目標(biāo)用戶進(jìn)行角色設(shè)定的判斷結(jié)果,其中,所述判斷結(jié)果是根據(jù)所述目標(biāo)角色對(duì)所述目標(biāo)用戶的信任值判斷得到的;
其中,上述目標(biāo)角色對(duì)目標(biāo)用戶的信任值,用于表示第一或二數(shù)據(jù)擁有者授予目標(biāo)用戶目標(biāo)角色時(shí)對(duì)目標(biāo)用戶的信任程度,即目標(biāo)用戶若要擁有目標(biāo)角色,第一或二數(shù)據(jù)擁有者需要判斷目標(biāo)用戶的可信度。
具體的,可以由第一數(shù)據(jù)擁有者的服務(wù)器判斷是否對(duì)目標(biāo)用戶進(jìn)行角色設(shè)定,也可以由云平臺(tái)的信任管理服務(wù)器判斷是否對(duì)目標(biāo)用戶進(jìn)行角色設(shè)定。
基于上述兩種情況,獲得是否對(duì)所述目標(biāo)用戶進(jìn)行角色設(shè)定的判斷結(jié)果,可以分別對(duì)應(yīng)包括以下三種情況。
其中,第1種情況:由第一或二數(shù)據(jù)擁有者的服務(wù)器判斷是否對(duì)目標(biāo)用戶進(jìn)行角色設(shè)定:具體的,
第一或二數(shù)據(jù)擁有者的服務(wù)器向云平臺(tái)的信任管理服務(wù)器發(fā)送信任值獲得請(qǐng)求,信任管理服務(wù)器依據(jù)信任值獲得請(qǐng)求從云平臺(tái)的中心數(shù)據(jù)庫獲得目標(biāo)用戶的信任記錄,即用戶行為的信任值t2和用戶信譽(yù)的信任值t3,并將t3和t3反饋至第一或二數(shù)據(jù)擁有者的服務(wù)器,第一或二數(shù)據(jù)擁有者的服務(wù)器計(jì)算目標(biāo)用戶的信任值t,將t與設(shè)定的用戶信任閾值t0進(jìn)行比較,若t不小于t0,判定對(duì)所述目標(biāo)用戶進(jìn)行角色設(shè)定。也就是說,第一或二數(shù)據(jù)擁有者的服務(wù)器根據(jù)信任管理服務(wù)器返回的信任記錄進(jìn)行計(jì)算和比較,最終獲取是否對(duì)所述目標(biāo)用戶進(jìn)行角色設(shè)定的判斷結(jié)果。
第2種情況:由第一或二數(shù)據(jù)擁有者根據(jù)云平臺(tái)的信任管理服務(wù)器返回的結(jié)果判斷是否對(duì)目標(biāo)用戶進(jìn)行角色設(shè)定:具體的,
第一或二數(shù)據(jù)擁有者的服務(wù)器向云平臺(tái)的信任管理服務(wù)器發(fā)送信任值獲得請(qǐng)求,信任管理服務(wù)器依據(jù)信任值獲得請(qǐng)求從云平臺(tái)的中心數(shù)據(jù)庫獲得目標(biāo)用戶的信任記錄,即用戶行為的信任值t2和用戶信譽(yù)的信任值t3,根據(jù)獲得目標(biāo)用戶的信任記錄計(jì)算用戶的信任值t,并將t與設(shè)定的用戶信任閾值t0進(jìn)行比較,若t小于t0,將返回結(jié)果為第一預(yù)設(shè)值的數(shù)據(jù)傳送給第或二一數(shù)據(jù)擁有者的服務(wù)器,否則,將返回結(jié)果為第二預(yù)設(shè)值的數(shù)據(jù)傳送給給第一或二數(shù)據(jù)擁有者的服務(wù)器,第一或二數(shù)據(jù)擁有者的服務(wù)器根據(jù)返回結(jié)果對(duì)所述目標(biāo)用戶進(jìn)行角色設(shè)定,若接收到返回結(jié)果為第二預(yù)設(shè)值,判定對(duì)所述目標(biāo)用戶進(jìn)行角色設(shè)定,否則,拒絕目標(biāo)用戶對(duì)目標(biāo)角色的訪問請(qǐng)求。也就是說,信任管理服務(wù)器根據(jù)中心數(shù)據(jù)庫返回的信任記錄進(jìn)行計(jì)算和比較,并將返回結(jié)果發(fā)送給第一數(shù)據(jù)擁有者的服務(wù)器,第一或二數(shù)據(jù)擁有者的服務(wù)器最終獲取是否對(duì)所述目標(biāo)用戶進(jìn)行角色設(shè)定的判斷結(jié)果。
其中,上述第一預(yù)設(shè)值表示不對(duì)目標(biāo)用戶進(jìn)行角色設(shè)定,例如,該預(yù)設(shè)值的取值可以為0;上述第二預(yù)設(shè)值表示對(duì)目標(biāo)用戶進(jìn)行角色設(shè)定,例如,該預(yù)設(shè)值的取值可以為1。
第3種情況:由第一或二數(shù)據(jù)擁有者判斷是否對(duì)目標(biāo)用戶進(jìn)行角色設(shè)定:具體的,
第一或二數(shù)據(jù)擁有者的服務(wù)器向云平臺(tái)的信任管理服務(wù)器發(fā)送信任值獲得請(qǐng)求,信任管理服務(wù)器依據(jù)信任值獲得請(qǐng)求從云平臺(tái)的中心數(shù)據(jù)庫獲得目標(biāo)用戶的信任記錄,即用戶行為的信任值t2和用戶信譽(yù)的信任值t3,信任管理服務(wù)器根據(jù)返回的信任記錄計(jì)算用戶的信任值t,并將t反饋至第一或二數(shù)據(jù)擁有者的服務(wù)器,第一或二數(shù)據(jù)擁有者的服務(wù)器將t與設(shè)定的用戶信任閾值t0進(jìn)行比較,若t不小于t0,判定對(duì)所述目標(biāo)用戶進(jìn)行角色設(shè)定。也就是說,信任管理服務(wù)器根據(jù)中心數(shù)據(jù)庫返回的信任記錄進(jìn)行計(jì)算,第一或二數(shù)據(jù)擁有者的服務(wù)器對(duì)信任管理服務(wù)器返回的計(jì)算結(jié)果進(jìn)行比較,最終獲取是否對(duì)所述目標(biāo)用戶進(jìn)行角色設(shè)定的判斷結(jié)果。
可以通過以下方式計(jì)算上述三種情況中所提及的t:
根據(jù)以下表達(dá)式計(jì)算所述目標(biāo)角色對(duì)所述目標(biāo)用戶的信任值t:
表達(dá)式為:t=w2t2+w3t3,
其中,w2和w3分別為t2和t3所占的權(quán)重,且w2+w3=1。
s105,在所述判斷結(jié)果表明進(jìn)行角色設(shè)定時(shí),設(shè)定所述目標(biāo)用戶的角色為所述目標(biāo)角色;
其中,設(shè)定所述目標(biāo)用戶的角色為所述目標(biāo)角色包括兩種情況;
第一種情況:第一數(shù)據(jù)擁有者的服務(wù)器授予所述目標(biāo)用戶擁有目標(biāo)角色,第二種情況:第二數(shù)據(jù)擁有者服務(wù)器根據(jù)目標(biāo)用戶的主體屬性和當(dāng)時(shí)的環(huán)境屬性判斷目標(biāo)用戶是否符合第二數(shù)據(jù)擁有者設(shè)定的角色要求,第二數(shù)據(jù)擁有者的服務(wù)器將判定的結(jié)果發(fā)送給第一數(shù)據(jù)擁有者的服務(wù)器,第一數(shù)據(jù)擁有者的服務(wù)器根據(jù)第二數(shù)據(jù)擁有者的服務(wù)器判定的結(jié)果進(jìn)行確定,進(jìn)而判斷第二數(shù)據(jù)擁有者的服務(wù)器分配目標(biāo)用戶的角色是否符合第一數(shù)據(jù)擁有者的角色。
一種實(shí)現(xiàn)方式中,設(shè)定所述目標(biāo)用戶的角色為所述目標(biāo)角色后,若第二數(shù)據(jù)擁有者中的角色對(duì)應(yīng)的所有用戶請(qǐng)求訪問第一數(shù)據(jù)擁有者的角色相應(yīng)的權(quán)限資源時(shí),或第二數(shù)據(jù)擁有者的角色對(duì)應(yīng)的所有用戶請(qǐng)求訪問第一數(shù)據(jù)擁有者中角色相應(yīng)的權(quán)限資源時(shí),第一數(shù)據(jù)擁有者的服務(wù)器還可以作如下操作:
在確定第二數(shù)據(jù)擁有者的服務(wù)器已確認(rèn)所述目標(biāo)用戶擁有所述目標(biāo)角色的基礎(chǔ)上,獲得所述第一數(shù)據(jù)擁有者的角色對(duì)第二數(shù)據(jù)擁有者的所述目標(biāo)角色的信任值,作為第三信任值;
利用所述第三信任值,判斷是否對(duì)所述目標(biāo)角色進(jìn)行角色設(shè)定;
若是,為第二數(shù)據(jù)擁有者的所述目標(biāo)角色分配所述角色。
所述第一數(shù)據(jù)擁有者的角色對(duì)所述目標(biāo)角色的信任值,計(jì)算過程包括:
獲得所述第一數(shù)據(jù)擁有者的權(quán)限對(duì)所述目標(biāo)角色的信任值t2″、角色信譽(yù)的信任值t3″以及角色繼承的信任值t4″;
根據(jù)以下表達(dá)式,獲得所述第一數(shù)據(jù)擁有者對(duì)所述目標(biāo)角色的信任值t″,作為第三信任值:
表達(dá)式為:t″=w2″t2″+w3″t3″+w4″t4″,
其中,w2'、w3'和w4'分別為t2″、t3″和t4″所占的權(quán)重,且w2″+w3″+w4″=1。
s106,判斷所述目標(biāo)角色是否符合所述第一數(shù)據(jù)擁有者的權(quán)限設(shè)定要求,若符合,執(zhí)行s107;
一種實(shí)現(xiàn)方式中,上述權(quán)限設(shè)定要求具體為:根據(jù)所述權(quán)限屬性和當(dāng)前環(huán)境屬性,判斷所述目標(biāo)角色是否符合第一數(shù)據(jù)擁有者的權(quán)限設(shè)定要求,此時(shí),所述當(dāng)前環(huán)境屬性為角色設(shè)定模塊向第一權(quán)限設(shè)定判斷模塊發(fā)出訪問時(shí)的環(huán)境屬性;權(quán)限屬性為根據(jù)目標(biāo)用戶向第一數(shù)據(jù)擁有者發(fā)出訪問請(qǐng)求的權(quán)限屬性。
上述角色設(shè)定模塊一種情況為第一數(shù)據(jù)擁有者的服務(wù)器中的一個(gè)功能性模塊,另一種情況為云平臺(tái)中的一個(gè)功能性模塊,其中,云平臺(tái)中還可以包含角色認(rèn)證服務(wù)器,那么角色設(shè)定模塊可以為角色認(rèn)證服務(wù)器中的功能性模塊,上述第一權(quán)限設(shè)定判斷模塊為第一數(shù)據(jù)擁有者的服務(wù)器中的一個(gè)功能性模塊。
s107,允許所述目標(biāo)用戶以所述目標(biāo)角色對(duì)所述第一數(shù)據(jù)擁有者服務(wù)器進(jìn)行資源訪問。
其中,在所述允許所述目標(biāo)用戶以所述目標(biāo)角色對(duì)所述第一數(shù)據(jù)擁有者服務(wù)器進(jìn)行資源訪問前,還包括:
獲得所述第一數(shù)據(jù)擁有者的權(quán)限對(duì)所述目標(biāo)角色的信任值,作為第二信任值;
利用所述第二信任值,判斷是否對(duì)所述目標(biāo)角色進(jìn)行權(quán)限設(shè)定;
若是,為所述目標(biāo)用戶分配所述目標(biāo)角色的權(quán)限。
第一數(shù)據(jù)擁有者的權(quán)限對(duì)目標(biāo)角色的信任值,表示第一數(shù)據(jù)擁有者授予目標(biāo)用戶目標(biāo)權(quán)限時(shí)對(duì)目標(biāo)角色的信任程度,即擁有目標(biāo)角色的目標(biāo)用戶若要擁有目標(biāo)權(quán)限,第一數(shù)據(jù)擁有者需要判斷目標(biāo)角色的可信度。
獲得所述第一數(shù)據(jù)擁有者的權(quán)限對(duì)所述目標(biāo)角色的信任值t′,具體的,
獲得所述目標(biāo)角色的角色本身的信任值t2'、角色信譽(yù)的信任值t3'以及角色繼承的信任值t4';
根據(jù)以下表達(dá)式,獲得所述第一數(shù)據(jù)擁有者對(duì)所述目標(biāo)角色的信任值t′:
表達(dá)式為:t′=w2't2'+w3't3'+w4't4',
其中,w2'、w3'和w4'分別為t2'、t3'和t4'所占的權(quán)重,且w2′+w3′+w4′=1。
一種實(shí)現(xiàn)方式中,利用所述第二信任值,判斷是否對(duì)所述目標(biāo)角色進(jìn)行權(quán)限設(shè)定,包括:
將t′與設(shè)定的信任閾值t0'進(jìn)行比較,若t′不小于t0',判定對(duì)所述目標(biāo)角色進(jìn)行權(quán)限設(shè)定。
上述具體實(shí)現(xiàn)方式外,本申請(qǐng)?zhí)岢隽硗鈨煞N具體實(shí)現(xiàn)方式,參見圖2和圖3。
本發(fā)明實(shí)施例中,基于多租戶云環(huán)境的訪問控制中訪問請(qǐng)求包含租戶內(nèi)部的用戶訪問請(qǐng)求和跨租戶的訪問請(qǐng)求。其中,跨租戶的訪問請(qǐng)求包括以下三種情況:
情況一:租戶a中想要訪問租戶b資源的用戶請(qǐng)求加入租戶b的相應(yīng)角色;
情況二:租戶a中的角色請(qǐng)求成為租戶b中相應(yīng)角色,則租戶a中的角色對(duì)應(yīng)的所有用戶請(qǐng)求訪問租戶b的角色相應(yīng)的權(quán)限資源。
情況三:租戶a中的角色請(qǐng)求成為租戶b中某一個(gè)或某幾個(gè)角色的祖先角色,則租戶a中的角色對(duì)應(yīng)的所有用戶請(qǐng)求訪問租戶b中角色相應(yīng)的權(quán)限資源。
其中,第一數(shù)據(jù)擁有者就是本實(shí)施例的租戶b,第二數(shù)據(jù)擁有者就是本實(shí)施例的租戶a,用戶m代表本實(shí)施例的租戶a的目標(biāo)用戶,角色na代表本實(shí)施例的租戶a中的目標(biāo)角色,角色nb代表本實(shí)施例的租戶b中的目標(biāo)角色;
角色nb判斷租戶a中發(fā)出請(qǐng)求的用戶是否可信,把問題轉(zhuǎn)化為角色對(duì)用戶的信任在多租戶環(huán)境中的擴(kuò)展。在第二種情況和第三種情況中,租戶b(對(duì)應(yīng)于第一數(shù)據(jù)擁有者)需要判斷租戶a中發(fā)出請(qǐng)求的角色是否可信,把問題都轉(zhuǎn)化為數(shù)據(jù)擁有者對(duì)角色的信任在多租戶云環(huán)境中的擴(kuò)展,因此,多租戶之間的信任關(guān)系可以歸類為角色對(duì)用戶的信任以及數(shù)據(jù)擁有者對(duì)角色的信任,這最終也決定了是否進(jìn)行用戶角色分配和角色權(quán)限分配。
本實(shí)施例針對(duì)多租戶云環(huán)境,構(gòu)建了基于角色、屬性和信任的訪問控制方法,根據(jù)前面提到的跨租戶訪問的三種情況,其中第一種情況與租戶內(nèi)部的訪問控制方法的具體實(shí)現(xiàn)步驟類似,第二種情況和第三種情況的訪問控制方法與跨租戶訪問控制方法的具體實(shí)現(xiàn)步驟一致。整個(gè)多租戶云環(huán)境中的基于角色、屬性和信任的訪問控制機(jī)制的具體實(shí)現(xiàn)步驟分為如下兩種:
參見圖2,提供了適合第一種情況的多租戶控制訪問方法的流程示意圖,該方法包括:
s201,租戶b的服務(wù)器獲取用戶m向發(fā)出訪問的請(qǐng)求,根據(jù)用戶m的主體屬性和當(dāng)前的環(huán)境屬性,判斷用戶m是否符合預(yù)設(shè)的角色要求;
s202,若符合,根據(jù)用戶m行為的信任值和用戶m信譽(yù)的信任值,計(jì)算角色對(duì)用戶m的信任值t;獲得用戶m的信任值t的過程為:設(shè)t2和t3所占的權(quán)重分配分別為w2和w3,且w2+w3=1,則用戶m的信任值t,t=w2t2+w3t3;將t與設(shè)定的用戶信任閾值t0進(jìn)行比較;
s203,若t大于或等于t0,則接受用戶擁有角色nb的請(qǐng)求,所述角色nb向租戶b請(qǐng)求擁有目標(biāo)權(quán)限時(shí),判斷用戶m發(fā)出請(qǐng)求時(shí)的權(quán)限屬性以及當(dāng)前環(huán)境屬性是否符合權(quán)限設(shè)定的要求;
s204,若符合權(quán)限設(shè)定的要求,根據(jù)角色nb本身的信任值t2'、角色nb信譽(yù)的信任值t'以及基于角色nb的信任值t4',計(jì)算角色nb的信任值t';獲得用戶m的信任值t'的過程為:令t2'、t3'和t4'所占的權(quán)重分別設(shè)為w2'、w3'和w4';那么所述角色nb的信任值t′,t′=w2't2'+w3't3'+w4't4';將t'與設(shè)定的信任閾值t0'進(jìn)行比較,若t'大于或等于t0',則授予用戶m訪問資源的權(quán)限,否則,拒絕用戶m的訪問請(qǐng)求。
第一種情況的訪問方式的實(shí)施例一:
租戶a與租戶b是兩個(gè)租用云服務(wù)的貸款機(jī)構(gòu),u是租戶a中的用戶,且想要向租戶b貸款,即租戶a中的用戶u想要成為租戶b中的某一個(gè)角色k(最高貸款金額為某一金額),那么租戶a中的用戶u就要向租戶b發(fā)出想要加入租戶b中的角色k的請(qǐng)求,則租戶b中的角色k就需要判斷租戶a中的用戶的信任值。
此時(shí),租戶b首先對(duì)租戶a中用戶u的屬性,以及租戶a發(fā)出請(qǐng)求時(shí)的環(huán)境屬性進(jìn)行判斷,如果都符合租戶b中角色預(yù)設(shè)的要求,那么此時(shí)租戶b可以從央行(存儲(chǔ)所有金融機(jī)構(gòu)用戶的信用記錄的中心數(shù)據(jù)庫)調(diào)出用戶u的信任記錄,包括用戶u在租戶a中的信任記錄,用戶u在租戶b中的信任記錄(比如說用戶u曾經(jīng)申請(qǐng)成為租戶b中的角色ri,那么b就對(duì)用戶u有一個(gè)信任記錄),以及在租戶a和租戶b之外的其它貸款機(jī)構(gòu)中的信用記錄,從而可以根據(jù)這些信任記錄來計(jì)算用戶u的信任值。根據(jù)信用值,從而租戶b決定是否授權(quán)用戶u訪問角色k的權(quán)利。
需要說明的是,上述以租戶a的用戶u向租戶b發(fā)出訪問請(qǐng)求為例進(jìn)行說明,僅為本發(fā)明的一具體實(shí)例,并不構(gòu)成對(duì)本發(fā)明的限定。
參見圖3,提供了適合第二種情況或第三種情況的多租戶控制訪問方法的流程示意圖,該方法包括:
s301,租戶b的服務(wù)器獲取用戶m發(fā)出對(duì)目標(biāo)資源進(jìn)行目標(biāo)操作的請(qǐng)求;確認(rèn)租戶a的服務(wù)器確認(rèn)用戶m的主體屬性和當(dāng)前環(huán)境屬性是否符合預(yù)設(shè)的角色要求,若不符合,拒絕該用戶m的訪問請(qǐng)求;
s302,若符合,租戶a的服務(wù)器根據(jù)用戶m行為的信任值和用戶m信譽(yù)的信任值,計(jì)算角色na對(duì)用戶m的信任值ta;
具體的,獲得用戶m的信任值ta的過程為:設(shè)t2a和t3a所占的權(quán)重分配分別為w2a和w3a,且w2a+w3a=1,則用戶m的信任值ta,ta=w2at2a+w3at3a;將ta與設(shè)定的用戶信任閾值t0a進(jìn)行比較;
s303,若ta大于或等于t0a,則用戶m擁有角色na,租戶b根據(jù)角色na,以及當(dāng)前環(huán)境屬性來判斷用戶m發(fā)出請(qǐng)求的權(quán)限屬性是否符合租戶a對(duì)權(quán)限設(shè)定的要求;
租戶b的服務(wù)器判斷用戶m發(fā)出請(qǐng)求時(shí)的權(quán)限屬性和當(dāng)前環(huán)境屬性是否符合租戶b預(yù)設(shè)的角色要求,若不符合,拒絕該用戶m的訪問請(qǐng)求;
s304,若符合,租戶b的服務(wù)器根據(jù)角色na本身的信任值t2″、角色na信譽(yù)的信任值t3″以及角色na繼承的信任值t4″,計(jì)算租戶a對(duì)角色na的信任值t″;將t″與預(yù)先設(shè)定的閾值t0″進(jìn)行比較;
租戶b的服務(wù)器對(duì)角色na的信任值t″的計(jì)算過程,具體為,令t2″、t3″和t4″所占的權(quán)重分別設(shè)為w2″、w3″和w4″;那么所述角色的信任值t″,t″=w2″t2″+w3″t3″+w4″t4″;
s305,若t″小于t0″,則租戶b的服務(wù)器拒絕用戶m的請(qǐng)求,若t″大于或等于t0″,令角色na成為租戶b中的相應(yīng)角色或其祖先角色,即用戶m擁有租戶b中的角色,租戶b的服務(wù)器根據(jù)角色nb判斷當(dāng)前的環(huán)境屬性和用戶m發(fā)出請(qǐng)求的權(quán)限屬性是否符合設(shè)定的權(quán)限要求;
s306,若符合,根據(jù)角色nb本身的信任值t2'、角色nb信譽(yù)的信任值t3'以及角色nb繼承的信任值t4',計(jì)算租戶b對(duì)角色nb的信任值t';將租戶b對(duì)角色nb的信任值t'和與預(yù)先設(shè)定的閾值t0′進(jìn)行比較,若t'小于t0′,則租戶b的服務(wù)器拒絕用戶m的請(qǐng)求,若t'大于或等于t0′,則租戶b的服務(wù)器授予角色na權(quán)限。
第二種情況的訪問控制方式的具體實(shí)施例:
租戶a和租戶b是兩個(gè)租用云服務(wù)的中小型企業(yè),租戶a和租戶b想要達(dá)成某種合作關(guān)系,使得租戶a中具有角色i的所有用戶可以訪問租戶b中具有角色j的用戶才能訪問的資源,這時(shí),可以給租戶a中的角色i賦予租戶b中的角色j。在此之前,租戶b需要對(duì)租戶a中的角色i的信任值進(jìn)行判斷。首先,租戶b要對(duì)租戶a中角色i的屬性,以及租戶a發(fā)出請(qǐng)求時(shí)的環(huán)境屬性進(jìn)行判斷,并根據(jù)計(jì)算后的用戶信任值判斷用戶是否符合租戶a的角色預(yù)設(shè)的要求,如果都符合租戶a中角色預(yù)設(shè)的要求,則租戶b根據(jù)用戶在a中的角色,以及相應(yīng)的環(huán)境屬性來判斷用戶發(fā)出請(qǐng)求的權(quán)限屬性是否符合設(shè)定要求,進(jìn)而租戶b判斷用戶符合角色j預(yù)設(shè)的要求,那么此時(shí)租戶b可以從中心數(shù)據(jù)庫中調(diào)出a中角色i的信任記錄,包括角色i在租戶b中的信任記錄(若租戶a中的角色i曾經(jīng)被賦予租戶b中的某一個(gè)角色),角色i在租戶a中的信任記錄以及角色i在其它企業(yè)的信任記錄(若角色i曾經(jīng)被其它企業(yè)賦予某一角色)。租戶b可以根據(jù)角色i的這些信任記錄來判斷角色i的信任值,從而決定是否可能和租戶a達(dá)成這種合作關(guān)系。
需要說明的是,上述以租戶a中的角色請(qǐng)求成為租戶b中相應(yīng)角色,則租戶a中的角色對(duì)應(yīng)的所有用戶均能訪問租戶b的角色相應(yīng)的權(quán)限資源為例進(jìn)行說明,僅為本發(fā)明的一具體實(shí)例,并不構(gòu)成對(duì)本發(fā)明的限定。
第三種情況的訪問方式的具體實(shí)施例:
租戶b是一家連鎖企業(yè)的總部,租戶b是租戶b旗下的子公司,租戶b中的某一角色k想要訪問租戶b中的角色i能夠訪問的資源以及角色j能夠訪問的資源,那么租戶b中的角色k可以請(qǐng)求成為租戶b中角色i和j的祖先角色,那么租戶b中的角色k就能訪問租戶b中角色i能夠訪問的資源以及角色j能夠訪問的資源。在此之前,租戶b要對(duì)租戶b中的角色k的信任值進(jìn)行判斷。首先,租戶b要對(duì)租戶b中角色k的屬性,它想訪問的資源的屬性,對(duì)該資源的操作屬性以及相應(yīng)的環(huán)境屬性進(jìn)行判斷,如果符合租戶b中角色i和j預(yù)設(shè)的要求,那么此時(shí),租戶b就可以從中心數(shù)據(jù)庫中調(diào)出租戶b中角色k的信任記錄,包括角色k在租戶b中的信任記錄(若租戶b中的角色k曾經(jīng)被賦予租戶b中某一角色或某幾個(gè)角色的祖先角色),角色k在租戶b中的信任記錄以及角色k在租戶b之外的其它子公司內(nèi)的信任記錄(若角色k曾經(jīng)被其它子公司賦予某一角色或某幾個(gè)角色的祖先角色)。租戶b可以根據(jù)這些信任記錄來判斷租戶b中角色k的信任值,從而決定是否接受角色k訪問租戶b中角色i能夠訪問的資源和角色j能夠訪問的資源的請(qǐng)求。
由此可見,該方法易于審查用戶權(quán)限,滿足不同租戶對(duì)權(quán)限細(xì)粒度劃分的需求,有效地實(shí)現(xiàn)了跨租戶訪問的需求,進(jìn)而提高了租戶訪問的靈活性,保證了租戶數(shù)據(jù)的安全性;并且通過引入基于角色和屬性的信任值,解決了當(dāng)屬性滿足要求而用戶或角色的信任值較低時(shí),進(jìn)行用戶角色分配和角色權(quán)限分配就會(huì)降低數(shù)據(jù)安全性的問題,以及當(dāng)用戶跨租戶訪問時(shí),租戶之間進(jìn)行授權(quán)時(shí)的信任問題,提高了租戶數(shù)據(jù)的安全性,滿足了用戶跨租戶訪問的要求,是一種更細(xì)粒度的訪問控制方案。
需要說明的是,上述以租戶a中的角色請(qǐng)求成為租戶b中某一個(gè)或某幾個(gè)角色的祖先角色,則租戶a中的角色對(duì)應(yīng)的所有用戶均能訪問租戶b中角色相應(yīng)的權(quán)限資源,僅為本發(fā)明的一具體實(shí)例,并不構(gòu)成對(duì)本發(fā)明的限定。
與上述解多租戶訪問控制方法相對(duì)應(yīng),本申請(qǐng)實(shí)施例還提供了一種基于多租戶云環(huán)境的訪問控制裝置。
參見圖4,本申請(qǐng)實(shí)施例還提供了一種基于多租戶云環(huán)境的訪問控制裝置。該裝置包括:
請(qǐng)求接收模塊401,用于接收目標(biāo)用戶針對(duì)目標(biāo)角色的訪問請(qǐng)求;
屬性獲取模塊402,用于根據(jù)所述訪問請(qǐng)求獲取所述目標(biāo)用戶的主體屬性;
屬性判斷模塊403,用于確定所述主體屬性和當(dāng)前環(huán)境屬性是否符合所述目標(biāo)角色的設(shè)定要求,若符合所述目標(biāo)角色設(shè)定要求,觸發(fā)判定結(jié)果模塊404;
所述判斷結(jié)果模塊404,用于獲得是否對(duì)所述目標(biāo)用戶進(jìn)行角色設(shè)定的判斷結(jié)果,觸發(fā)角色設(shè)定模塊405;其中,所述判斷結(jié)果是根據(jù)所述目標(biāo)角色對(duì)所述目標(biāo)用戶的信任值判斷得到的;
所述角色設(shè)定模塊405,用于在所述判斷結(jié)果表明進(jìn)行角色設(shè)定時(shí),設(shè)定所述目標(biāo)用戶的角色為所述目標(biāo)角色;
第一權(quán)限設(shè)定判斷模塊406,用于判斷所述目標(biāo)角色是否符合所述第一數(shù)據(jù)擁有者的權(quán)限設(shè)定要求,若符合所述第一數(shù)據(jù)擁有者的權(quán)限設(shè)定要求,觸發(fā)訪問允許模塊407;
所述訪問允許模塊407,用于允許所述目標(biāo)用戶以所述目標(biāo)角色對(duì)所述第一數(shù)據(jù)擁有者服務(wù)器進(jìn)行資源訪問。
具體的,所述權(quán)限設(shè)定判斷模塊,具體用于根據(jù)所述訪問請(qǐng)求攜帶的權(quán)限屬性和當(dāng)前環(huán)境屬性,判斷所述目標(biāo)角色是否符合第一數(shù)據(jù)擁有者的權(quán)限設(shè)定要求。
所述判斷結(jié)果模塊404,包括:
第一信任值獲得子模塊,用于獲得所述目標(biāo)用戶的用戶行為的信任值t2和用戶信譽(yù)的信任值t3;
第二信任值獲得子模塊,用于根據(jù)以下表達(dá)式計(jì)算所述目標(biāo)角色對(duì)所述目標(biāo)用戶的信任值t:
表達(dá)式為:t=w2t2+w3t3,
其中,w2和w3分別為t2和t3所占的權(quán)重,且w2+w3=1;
角色設(shè)定判斷子模塊,用于將t與設(shè)定的用戶信任閾值t0進(jìn)行比較,若t不小于t0,判定對(duì)所述目標(biāo)用戶進(jìn)行角色設(shè)定,其中,t為所述第一信任值。
所述裝置還包括:
第二信任值獲得模塊,用于獲得所述第一數(shù)據(jù)擁有者的權(quán)限對(duì)所述目標(biāo)角色的信任值,作為第二信任值;
第二權(quán)限設(shè)定判斷模塊,用于利用所述第二信任值,判斷是否對(duì)所述目標(biāo)角色進(jìn)行權(quán)限設(shè)定,若是,觸發(fā)權(quán)限分配模塊;
所述權(quán)限分配模塊,用于為所述目標(biāo)用戶分配所述目標(biāo)角色的權(quán)限,并觸發(fā)所述訪問允許模塊。
所述第二信任值獲得模塊,包括:
第三信任值獲得子模塊,用于獲得所述目標(biāo)角色的角色本身的信任值t2'、角色信譽(yù)的信任值t3'以及角色繼承的信任值t4';
第四信任值獲得子模塊,用于根據(jù)以下表達(dá)式計(jì)算所述第一數(shù)據(jù)擁有者對(duì)所述目標(biāo)角色的信任值t′:
表達(dá)式為:t′=w2't2'+w3't3'+w4't4',
其中,w2'、w3'和w4'分別為t2'、t3'和t4'所占的權(quán)重,且w2′+w3′+w4′=1。
所述第二權(quán)限設(shè)定判斷模塊,具體用于將t′與設(shè)定的信任閾值t0'進(jìn)行比較,若t′不小于t0',判定對(duì)所述目標(biāo)角色進(jìn)行權(quán)限設(shè)定。
所述裝置還包括:
角色擁有確定模塊,用于確定第二數(shù)據(jù)擁有者的服務(wù)器已確認(rèn)所述目標(biāo)用戶擁有所述目標(biāo)角色;
其中,所述第二數(shù)據(jù)擁有者的服務(wù)器在判斷所述主體屬性和接收到所述訪問請(qǐng)求時(shí)的環(huán)境屬性符合所述目標(biāo)角色的設(shè)定要求時(shí),確認(rèn)所述目標(biāo)用戶擁有所述目標(biāo)角色。
第五信任值獲得模塊,用于獲得所述第一數(shù)據(jù)擁有者的角色對(duì)所述目標(biāo)角色的信任值,作為第三信任值;
第三權(quán)限設(shè)定判斷模塊,用于獲得所述第一數(shù)據(jù)擁有者的角色對(duì)第二數(shù)據(jù)擁有者的所述目標(biāo)角色的信任值,作為第三信任值;利用所述第三信任值,判斷是否對(duì)所述目標(biāo)角色進(jìn)行角色設(shè)定;若是,為第二數(shù)據(jù)擁有者的所述目標(biāo)角色分配所述角色。
所述權(quán)限分配模塊,用于為所述目標(biāo)用戶分配所述目標(biāo)角色的權(quán)限,并觸發(fā)所述權(quán)限設(shè)定判斷模塊。
第六信任值獲得子模塊,用于獲得所述第一數(shù)據(jù)擁有者的角色對(duì)所述目標(biāo)角色的信任值t2″、角色信譽(yù)的信任值t3″以及角色繼承的信任值t4″;
第七信任值獲得子模塊,用于根據(jù)以下表達(dá)式,獲得所述第一數(shù)據(jù)擁有者對(duì)所述目標(biāo)角色的信任值t″:
表達(dá)式為:t″=w2″t2″+w3″t3″+w4″t4″,
其中,w2'、w3'和w4'分別為t2″、t3″和t4″所占的權(quán)重,且w2″+w3″+w4″=1。
所述第三權(quán)限設(shè)定判斷模塊,用于將t″與設(shè)定的信任閾值t0″進(jìn)行比較,若t″不小于t0″,判定對(duì)所述目標(biāo)角色進(jìn)行權(quán)限設(shè)定,并觸發(fā)所述屬性獲取模塊402。
本申請(qǐng)文件提供的裝置在判定用戶是否符合角色設(shè)定要求和角色是否符合權(quán)限要求時(shí),分別引入了目標(biāo)用戶的主體屬性與當(dāng)前環(huán)境屬性和用戶訪問時(shí)的權(quán)限屬性與當(dāng)前環(huán)境屬性,且只有針對(duì)符合信任值設(shè)定要求的用戶,才根據(jù)獲得的判斷結(jié)果進(jìn)行角色設(shè)定,允許目標(biāo)用戶以所述目標(biāo)角色對(duì)所述第一數(shù)據(jù)擁有者服務(wù)器進(jìn)行資源訪問。可見本申請(qǐng)文件提供的裝置是一種基于角色、屬性和信任的更細(xì)粒度的訪問控制裝置,能夠適應(yīng)多租戶云環(huán)境下不同租戶對(duì)權(quán)限細(xì)粒度劃分的需求。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說明書中的各個(gè)實(shí)施例均采用相關(guān)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于裝置實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。