Rbac權(quán)限體系中的角色優(yōu)化方法和裝置的制造方法
【專利摘要】本申請(qǐng)實(shí)施例提供了一種RBAC權(quán)限體系中的角色優(yōu)化方法及裝置。該方法包括:計(jì)算指定角色中任兩個(gè)角色之間的相似度;以所述指定角色中的其中一個(gè)角色為起點(diǎn),依據(jù)角色之間相似度最大為遍歷條件,在所述指定角色中進(jìn)行有向圖遍歷;根據(jù)遍歷結(jié)果確定相似角色;依據(jù)所述相似角色之間相同權(quán)限的集合及差異權(quán)限的集合,確定所述相似角色的優(yōu)化角色。本申請(qǐng)實(shí)施例使得各角色之間的權(quán)限集合盡可能完全獨(dú)立,并共同代表一個(gè)業(yè)務(wù)含義,從而減少了不同角色中出現(xiàn)權(quán)限相同或重疊的情況,進(jìn)而減少了給用戶分配角色不合理所導(dǎo)致的系統(tǒng)安全隱患問題。
【專利說明】
RBAC權(quán)限體系中的角色優(yōu)化方法和裝置
技術(shù)領(lǐng)域
[0001] 本申請(qǐng)?jiān)O(shè)及訪問控制技術(shù)領(lǐng)域,特別是設(shè)及一種RBAC權(quán)限體系中的角色優(yōu)化方 法和一種RBAC權(quán)限體系中的角色優(yōu)化裝置。
【背景技術(shù)】
[0002] 權(quán)限是對(duì)一個(gè)或一組資源操作所需要具備的許可條件,用戶是權(quán)限的擁有者,當(dāng) 用戶訪問某一資源時(shí),需要具有相應(yīng)的權(quán)限。其中,資源是用戶訪問的對(duì)象,可W是網(wǎng)頁 扣化資源)、敏感信息(數(shù)據(jù)資源)等。
[0003] 在RBAC(Role-BasedAccess Control,基于角色的訪問控制)權(quán)限體系中,權(quán)限與 角色相關(guān)聯(lián),角色是權(quán)限的分配單位與載體,一個(gè)角色中包含了一個(gè)或多個(gè)權(quán)限,是某些權(quán) 限的集合,通過給用戶賦予某一角色而使用戶得到該角色的權(quán)限,運(yùn)就極大地簡(jiǎn)化了權(quán)限 的管理。
[0004] 然而,隨著時(shí)間的推移,需要基于權(quán)限控制的資源會(huì)越來越多,對(duì)應(yīng)的權(quán)限也會(huì)越 來越多,角色也會(huì)越來越多,極易在不同角色中出現(xiàn)權(quán)限相同或重疊的情況。例如,當(dāng)一個(gè) 新用戶要求獲得一個(gè)web網(wǎng)站的訪問權(quán)限時(shí),權(quán)限管理員可能會(huì)同時(shí)找到多個(gè)帶有該權(quán)限 的角色,在運(yùn)種情況下,就極有可能給用戶分配一個(gè)權(quán)限集合較大的角色,增大了用戶對(duì)于 該系統(tǒng)的訪問權(quán)限,給了該用戶可W進(jìn)行越權(quán)操作的機(jī)會(huì),進(jìn)而給系統(tǒng)帶來安全隱患。
【發(fā)明內(nèi)容】
陽0化]本申請(qǐng)實(shí)施例所要解決的技術(shù)問題是提供一種RBAC權(quán)限體系中的角色優(yōu)化方 法,能夠減少不同角色中權(quán)限相同或重疊的情況。
[0006] 相應(yīng)的,本申請(qǐng)實(shí)施例還提供了一種RBAC權(quán)限體系中的角色優(yōu)化裝置,用W保證 上述方法的實(shí)現(xiàn)及應(yīng)用。
[0007] 為了解決上述問題,本申請(qǐng)公開了一種RBAC權(quán)限體系中的角色優(yōu)化方法,包括:
[0008] 計(jì)算指定角色中任兩個(gè)角色之間的相似度;
[0009] W所述指定角色中的其中一個(gè)角色為起點(diǎn),依據(jù)角色之間相似度最大為遍歷條 件,在所述指定角色中進(jìn)行有向圖遍歷;
[0010] 根據(jù)遍歷結(jié)果確定相似角色;
[0011] 依據(jù)所述相似角色之間相同權(quán)限的集合及差異權(quán)限的集合,確定所述相似角色的 優(yōu)化角色。
[0012] 進(jìn)一步,所述計(jì)算指定角色中任兩個(gè)角色之間的相似度,包括:
[0013] 計(jì)算指定角色中任兩個(gè)角色的權(quán)限集合之間的化ccard相似度,作為所述任兩個(gè) 角色之間的相似度。
[0014] 進(jìn)一步,在所述依據(jù)所述相似角色之間相同權(quán)限的集合及差異權(quán)限的集合,確定 所述相似角色的優(yōu)化角色之前,所述方法還包括:
[0015] 判斷所述相似角色之間的相似度是否大于或等于相似度闊值,若是,再依據(jù)所述 相似角色之間相同權(quán)限的集合及差異權(quán)限的集合,確定所述相似角色的優(yōu)化角色。
[0016] 進(jìn)一步,所述根據(jù)遍歷結(jié)果確定相似角色,包括:
[0017] 若所述遍歷結(jié)果為鏈?zhǔn)浇Y(jié)果,則確定所述鏈?zhǔn)浇Y(jié)果中位于第一位和第二位的角色 或者所述鏈?zhǔn)浇Y(jié)果中相似度最高的兩個(gè)角色為相似角色,其中,所述鏈?zhǔn)浇Y(jié)果為在所述有 向圖遍歷中,所述指定角色遍歷完畢后形成的角色間依次指向的結(jié)果。
[0018] 進(jìn)一步,所述根據(jù)遍歷結(jié)果確定相似角色,包括:
[0019] 若所述遍歷結(jié)果為雙子結(jié)果,則確定所述雙子結(jié)果中相互指向的兩個(gè)角色為相似 角色,其中,所述雙子結(jié)果為在所述有向圖遍歷中,兩個(gè)角色相互指向的結(jié)果。
[0020] 進(jìn)一步,所述根據(jù)遍歷結(jié)果確定相似角色,包括:
[0021] 若所述遍歷結(jié)果為循環(huán)結(jié)果,則確定出循環(huán)指向的角色,其中,所述循環(huán)結(jié)果為在 所述有向圖遍歷中,多個(gè)角色循環(huán)指向的結(jié)果。
[0022] 將所述循環(huán)指向的角色中相似度最大的兩個(gè)角色確定為相似角色。
[0023] 進(jìn)一步,所述依據(jù)所述相似角色之間相同權(quán)限的集合及差異權(quán)限的集合,確定所 述相似角色的優(yōu)化角色,包括:
[0024] 計(jì)算所述相似角色之間相同權(quán)限的集合及差異權(quán)限的集合;
[00巧]統(tǒng)計(jì)所述差異權(quán)限的集合中各權(quán)限的上線使用率;
[00%] 刪除所述差異權(quán)限的集合中權(quán)限上線使用率低于預(yù)設(shè)使用率闊值的權(quán)限,獲得最 終差異權(quán)限的集合;
[0027] 將所述相似角色之間相同權(quán)限的集合及所述最終差異權(quán)限的集合確定為所述優(yōu) 化角色的權(quán)限集合。
[002引本申請(qǐng)還公開了一種RBAC權(quán)限體系中的角色優(yōu)化裝置,包括:
[0029] 計(jì)算單元,被配置為計(jì)算指定角色中任兩個(gè)角色之間的相似度;
[0030] 遍歷單元,被配置為W所述指定角色中的其中一個(gè)角色為起點(diǎn),依據(jù)角色之間相 似度最大為遍歷條件,在所述指定角色中進(jìn)行有向圖遍歷;
[0031] 角色確定單元,被配置為根據(jù)遍歷結(jié)果確定相似角色;
[0032] 優(yōu)化單元,被配置為依據(jù)所述相似角色之間相同權(quán)限的集合及差異權(quán)限的集合, 確定所述相似角色的優(yōu)化角色。
[0033] 進(jìn)一步,所述裝置還包括:
[0034] 判定單元,被配置為判斷所述相似角色之間的相似度是否大于或等于相似度闊 值;
[0035] 所述優(yōu)化單元,被配置為當(dāng)所述判定單元判定所述相似角色之間的相似度大于或 等于相似度闊值時(shí),依據(jù)所述相似角色之間相同權(quán)限的集合及差異權(quán)限的集合,確定所述 相似角色的優(yōu)化角色確定優(yōu)化角色。
[0036] 進(jìn)一步,所述角色確定單元,具體被配置為若所述遍歷結(jié)果為鏈?zhǔn)浇Y(jié)果,則確定所 述鏈?zhǔn)浇Y(jié)果中位于第一位和第二位的角色為相似角色,其中,所述鏈?zhǔn)浇Y(jié)果為在所述有向 圖遍歷中,所述指定角色遍歷完畢后形成的角色間依次指向的結(jié)果;若所述遍歷結(jié)果為雙 子結(jié)果,則確定所述雙子結(jié)果中相互指向的兩個(gè)角色為相似角色,其中,所述雙子結(jié)果為在 所述有向圖遍歷中,兩個(gè)角色相互指向的結(jié)果;若所述遍歷結(jié)果為循環(huán)結(jié)果,則確定出循環(huán) 指向的角色,其中,所述循環(huán)結(jié)果為在所述有向圖遍歷中,多個(gè)角色循環(huán)指向的結(jié)果;將所 述循環(huán)指向的角色中相似度最大的兩個(gè)角色確定為相似角色。 陽037] 進(jìn)一步,所述優(yōu)化單元包括:
[0038] 計(jì)算子單元,被配置為計(jì)算所述相似角色之間相同權(quán)限的集合及差異權(quán)限的集 合;
[0039] 統(tǒng)計(jì)子單元,被配置為統(tǒng)計(jì)所述差異權(quán)限的集合中各權(quán)限的上線使用率;
[0040] 刪除子單元,被配置為刪除所述差異權(quán)限的集合中權(quán)限上線使用率低于預(yù)設(shè)使用 率闊值的權(quán)限,獲得最終差異權(quán)限的集合;
[0041] 確定子單元,被配置為將所述相似角色之間相同權(quán)限的集合及所述最終差異權(quán)限 的集合確定為所述優(yōu)化角色的權(quán)限集合。
[0042] 與現(xiàn)有技術(shù)相比,本申請(qǐng)實(shí)施例包括W下優(yōu)點(diǎn):
[0043] 本申請(qǐng)實(shí)施例通過獲得角色之間的相似度,依據(jù)角色之間相似度最大為遍歷條件 進(jìn)行角色遍歷,在確定出需要進(jìn)行優(yōu)化的相似角色后,依據(jù)相似角色之間相同權(quán)限的集合 及差異權(quán)限的集合對(duì)相似角色進(jìn)行優(yōu)化,使得各角色之間的權(quán)限集合盡可能完全獨(dú)立,并 共同代表一個(gè)業(yè)務(wù)含義,從而減少了不同角色中出現(xiàn)權(quán)限相同或重疊的情況,進(jìn)而減少了 給用戶分配角色不合理所導(dǎo)致的系統(tǒng)安全隱患問題。
【附圖說明】
[0044] 圖1是本申請(qǐng)的一種RBAC權(quán)限體系中的角色優(yōu)化方法實(shí)施例的步驟流程圖; W45] 圖2是本申請(qǐng)的另一種RBAC權(quán)限體系中的角色優(yōu)化方法實(shí)施例的步驟流程圖;
[0046] 圖3是本申請(qǐng)中的一種根據(jù)循環(huán)結(jié)果確定相似角色的方法實(shí)施例的步驟流程圖;
[0047] 圖4是本申請(qǐng)中的一種確定相似角色的優(yōu)化角色的方法實(shí)施例的步驟流程圖; W48]圖5是本申請(qǐng)的一種RBAC權(quán)限體系中的角色優(yōu)化裝置實(shí)施例的結(jié)構(gòu)框圖; W例圖6是本申請(qǐng)的另一種RBAC權(quán)限體系中的角色優(yōu)化裝置實(shí)施例的結(jié)構(gòu)框圖;
[0050] 圖7是本申請(qǐng)中的一種優(yōu)化單元的實(shí)施例的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0051] 為使本申請(qǐng)的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí) 施方式對(duì)本申請(qǐng)作進(jìn)一步詳細(xì)的說明。
[0052] 參照?qǐng)D1,示出了本申請(qǐng)的一種RBAC權(quán)限體系中的角色優(yōu)化方法實(shí)施例的步驟流 程圖,具體可W包括如下步驟:
[0053] 步驟101,計(jì)算指定角色中任兩個(gè)角色之間的相似度。
[0054] 本步驟中,指定角色可W是RBAC權(quán)限體系下某系統(tǒng)的角色一權(quán)限關(guān)系表中所有 角色或部分需要優(yōu)化的角色。兩個(gè)角色之間的相似度可W依據(jù)兩角色的權(quán)限集合來進(jìn)行計(jì) 算,W計(jì)算jaccard相似度為例: 陽化引
[0056] 其中,J(A,B)是角色A與角色B之間的相似度,是角色A的權(quán)限集合與角色B的 權(quán)限集合的合集,除W角色A的權(quán)限集合與角色B的權(quán)限集合的并集。當(dāng)A、B相互獨(dú)立的 時(shí)候,相似度為0。當(dāng)A與B的合集等于A與B的并集的時(shí)候,相似度為100%。
[0057] 在獲得指定角色中任一角色與其它角色之間的相似度后,可將所獲得的角色之間 的相似度加入相似度列表中,W便于后續(xù)查詢。
[0058] 步驟102, W指定角色中的其中一個(gè)角色為起點(diǎn),依據(jù)角色之間相似度最大為遍歷 條件,在指定角色中進(jìn)行有向圖遍歷。
[0059] 本步驟中可W在指定角色中任意選一個(gè)角色作為起點(diǎn),也可W根據(jù)需要或預(yù)置規(guī) 則在指定角色中選擇一個(gè)角色作為起點(diǎn),此處不做限定。
[0060] 在選定作為起點(diǎn)的角色后,可W依據(jù)相似度列表,選擇與其相似度最大的角色作 為該起點(diǎn)角色指向的角色,然后再選擇與該指向的角色相似度最大的角色作為下一個(gè)指向 的角色,依次遞歸循環(huán),依據(jù)角色之間相似度最大為遍歷條件,在指定角色中進(jìn)行有向圖遍 歷,獲得遍歷結(jié)果。例如,1 一 2 - 3 -.......
[0061] 遍歷結(jié)果可能有多種,例如遍歷結(jié)果為鏈?zhǔn)浇Y(jié)果,或雙子結(jié)果,或循環(huán)結(jié)果。
[0062] 其中,鏈?zhǔn)浇Y(jié)果為在有向圖遍歷中,指定角色遍歷完畢后形成的角色間依次指向 的結(jié)果。例如,遍歷順序是:1 一 2 - 3 - 4,一次性完成所有指定角色的遍歷,該結(jié)果中不 存在重復(fù)的角色。 W63] 雙子結(jié)果為在有向圖遍歷中,兩個(gè)角色相互指向的結(jié)果。例如,角色 1 一 2 - 3 - 2 - 3,其中,角色2、3相互指向。 W64] 循環(huán)結(jié)果為在有向圖遍歷中,多個(gè)角色循環(huán)指向的結(jié)果。例如,角色 1 一 2 - 3 - 4 一 2 - 3 - 4,其中,角色2、3、4循環(huán)指向。 陽0化]步驟103,根據(jù)遍歷結(jié)果確定相似角色。
[0066] 上步驟獲得的遍歷結(jié)果后,本步驟即可根據(jù)遍歷結(jié)果確定需要進(jìn)行優(yōu)化的角色, 記為相似角色。
[0067] 對(duì)于鏈?zhǔn)浇Y(jié)果,可W將鏈?zhǔn)浇Y(jié)果中位于第一位和第二位的角色作為相似角色,例 如1 一 2 - 3 - 4 一 5 - 6中的角色1、2 ;或者將鏈?zhǔn)浇Y(jié)果中相似度最高的兩個(gè)角色為相 似角色,例如1 一 2 - 3 - 4 一 5 - 6中的角色3、4。
[0068] 對(duì)于雙子結(jié)果,可W將雙子結(jié)果中相互指向的兩個(gè)角色為相似角色,例如, 1一2 - 3 - 2 - 3 中的角色 2>3〇
[0069] 對(duì)于循環(huán)結(jié)果,可W將循環(huán)指向的角色中所有或部分角色作為相似角色,例如, 1 一 2 - 3 - 4 一 2 - 3 - 4中的角色2、3、4或角色2、3等。
[0070] 步驟104,依據(jù)相似角色之間相同權(quán)限的集合及差異權(quán)限的集合,確定相似角色的 優(yōu)化角色。
[0071] 本步驟中,可W獲得相似角色之間的相同權(quán)限的集合及差異權(quán)限的集合,然后根 據(jù)運(yùn)些集合確定出對(duì)相似角色優(yōu)化后的優(yōu)化角色。具體的,可W直接將相似角色之間的相 同權(quán)限的集合及差異權(quán)限的集合作為優(yōu)化角色的權(quán)限集合,也可W對(duì)該相同權(quán)限的集合及 差異權(quán)限的集合分別進(jìn)行一定的權(quán)限篩選后,最終確定為優(yōu)化角色的權(quán)限集合。
[0072] 該優(yōu)化角色中的權(quán)限集合更加傾向于相互獨(dú)立,角色之間的相似度降低。
[0073] 上述步驟101~104可W重復(fù)執(zhí)行,直至所有需要優(yōu)化的角色優(yōu)化完成。
[0074] 本申請(qǐng)實(shí)施例通過獲得角色之間的相似度,依據(jù)角色之間相似度最大為遍歷條件 進(jìn)行角色遍歷,在確定出需要進(jìn)行優(yōu)化的相似角色后,依據(jù)相似角色之間相同權(quán)限的集合 及差異權(quán)限的集合對(duì)相似角色進(jìn)行優(yōu)化,使得各角色之間的權(quán)限集合盡可能完全獨(dú)立,并 共同代表一個(gè)業(yè)務(wù)含義,從而減少了不同角色中出現(xiàn)權(quán)限相同或重疊的情況,進(jìn)而減少了 給用戶分配角色不合理所導(dǎo)致的系統(tǒng)安全隱患問題。
[00巧]參照?qǐng)D2,示出了本申請(qǐng)的另一種RBAC權(quán)限體系中的角色優(yōu)化方法實(shí)施例的步驟 流程圖,具體可W包括如下步驟:
[0076] 步驟201,計(jì)算指定角色中任兩個(gè)角色之間的相似度。
[0077] 步驟202, W指定角色中的其中一個(gè)角色為起點(diǎn),依據(jù)角色之間相似度最大為遍歷 條件,在指定角色中進(jìn)行有向圖遍歷。
[0078] 步驟201~202與前述實(shí)施例類似。
[0079] 在本步驟中,例如,W角色1作為起點(diǎn),依據(jù)相似度列表,選擇與其相似度最大的 角色2作為該角色1指向的角色,即1 一 2,然后再選擇與該角色2相似度最大的角色3作 為下一個(gè)指向的角色,即1 一 2 - 3,依次遞歸循環(huán),依據(jù)角色之間相似度最大為遍歷條件, 在指定角色中進(jìn)行有向圖遍歷,獲得遍歷結(jié)果。本實(shí)施例中,在每獲得一個(gè)相似度最大的角 色后,也即在該鏈表1 一 2 - 3 -......中每加入一個(gè)角色時(shí),都可W檢測(cè)一下該鏈表中是 否存在循環(huán)的角色,例如1 一 2 - 3 - 2 - 3,1 一 2 - 3 - 4 一 2 - 3 - 4等,如果存在, 則將該循環(huán)的角色如2、3或2、3、4存放至高相似度角色列表中,如果在整個(gè)遍歷過程中不 存在循環(huán)的角色,則完成有向圖遍歷后,即可獲得整個(gè)遍歷出來的鏈表。
[0080] 步驟203,根據(jù)遍歷結(jié)果確定相似角色。
[0081] 本步驟中,根據(jù)鏈?zhǔn)浇Y(jié)果及雙子結(jié)果確定相似角色的方法與前述實(shí)施例中的步驟 103類似。在本實(shí)施例中,根據(jù)循環(huán)結(jié)果確定相似角色時(shí),如圖3所示,可W進(jìn)一步包括:
[0082] 步驟301,若遍歷結(jié)果為循環(huán)結(jié)果,則確定出循環(huán)指向的角色,其中,循環(huán)結(jié)果為在 有向圖遍歷中,多個(gè)角色循環(huán)指向的結(jié)果。
[0083] 例如,遍歷結(jié)果為1 一 2 - 3 - 4 一 2 - 3 - 4,則循環(huán)指向的角色即為2、3、4。
[0084] 步驟302,將循環(huán)指向的角色中相似度最大的兩個(gè)角色確定為相似角色。
[0085] 在對(duì)Ξ個(gè)或Ξ個(gè)W上角色同時(shí)進(jìn)行優(yōu)化時(shí),由于復(fù)雜度較高,所W在本步驟中,可 W先從中選擇兩個(gè)相似角色進(jìn)行優(yōu)化,后續(xù)可W通過重復(fù)優(yōu)化步驟來進(jìn)行逐步優(yōu)化,從而 降低角色優(yōu)化的復(fù)雜度。
[0086] 例如,循環(huán)指向的角色2、3、4中3、4相似度最大,則將角色3、4確定為相似角色。
[0087] 步驟204,判斷相似角色之間的相似度是否大于或等于相似度闊值。
[0088] 本實(shí)施例中,在確定出相似角色后,還要進(jìn)一步判斷相似角色之間的相似度是否 大于或等于預(yù)設(shè)相似度闊值,若是,則轉(zhuǎn)入步驟205進(jìn)行優(yōu)化,若否,則無需優(yōu)化。
[0089] 不同的遍歷結(jié)果可W對(duì)應(yīng)不同的預(yù)設(shè)相似度闊值,該相似度闊值可W根據(jù)需要設(shè) 置和變更。
[0090] 步驟205,依據(jù)相似角色之間相同權(quán)限的集合及差異權(quán)限的集合,確定相似角色的 優(yōu)化角色。
[0091] 本步驟中,確定優(yōu)化角色的過程,如圖4所示,可W進(jìn)一步包括:
[0092] 步驟401,計(jì)算相似角色之間相同權(quán)限的集合及差異權(quán)限的集合。
[0093] 例如,相似角色1的權(quán)限集合為A、B、C,相似角色2的權(quán)限集合為A、B、D、E,則相 似角色1、2之間的相同權(quán)限的集合即為A、B,差異權(quán)限的集合為C、D、E。
[0094] 步驟402,統(tǒng)計(jì)差異權(quán)限的集合中各權(quán)限的上線使用率。
[0095] 本步驟具體可W統(tǒng)計(jì)預(yù)定時(shí)間段內(nèi)各權(quán)限的上線使用率,例如差異權(quán)限集合中C、 D、E在近一個(gè)月內(nèi)的上線使用率為C :0, D :5, E :10。
[0096] 步驟403,刪除差異權(quán)限的集合中權(quán)限上線使用率低于預(yù)設(shè)使用率闊值的權(quán)限,獲 得最終差異權(quán)限的集合。
[0097] 該使用率闊值可W根據(jù)需要設(shè)置,可W隨時(shí)變更。例如,該使用率闊值為1,則可W 將差異權(quán)限集合中的權(quán)限C刪除。
[0098] 步驟404,將相似角色之間相同權(quán)限的集合及最終差異權(quán)限的集合確定為優(yōu)化角 色的權(quán)限集合。
[0099] 相同權(quán)限的集合及最終差異權(quán)限的集合即可作為相似角色1、2優(yōu)化后的優(yōu)化角 色的權(quán)限集合。例如,優(yōu)化角色Γ的權(quán)限集合為(A、B),替代相似角色1;優(yōu)化角色2'的權(quán) 限集合為值、E),替代相似角色2。
[0100] 在獲得優(yōu)化角色后,本實(shí)施例還可W重復(fù)執(zhí)行步驟201~205,尤其是對(duì)于上述步 驟302中循環(huán)指向角色中其它相似度較高的角色,直至相似角色之間的相似度小于相似度 闊值,無需進(jìn)行優(yōu)化。 陽101] 通過循環(huán)上述優(yōu)化步驟可W逐漸降低角色之間的相似度,使得各角色之間的權(quán)限 集合盡可能完全獨(dú)立。 陽102] 在收回用戶的原角色并重新分配優(yōu)化角色時(shí),需要保持用戶的權(quán)限不變。 陽103] 需要說明的是,對(duì)于方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組 合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請(qǐng)實(shí)施例并不受所描述的動(dòng)作順序的限制,因?yàn)橐?據(jù)本申請(qǐng)實(shí)施例,某些步驟可W采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該 知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所設(shè)及的動(dòng)作并不一定是本申請(qǐng)實(shí)施 例所必須的。
[0104] 參照?qǐng)D5,示出了本申請(qǐng)一種RBAC權(quán)限體系中的角色優(yōu)化裝置實(shí)施例的結(jié)構(gòu)框 圖,具體可W包括如下單元: 陽105] 計(jì)算單元501,被配置為計(jì)算指定角色中任兩個(gè)角色之間的相似度。 陽106] 遍歷單元502,被配置為W所述指定角色中的其中一個(gè)角色為起點(diǎn),依據(jù)角色之間 相似度最大為遍歷條件,在所述指定角色中進(jìn)行有向圖遍歷。 陽107] 角色確定單元503,被配置為根據(jù)遍歷結(jié)果確定相似角色。
[0108] 優(yōu)化單元504,被配置為依據(jù)所述相似角色之間相同權(quán)限的集合及差異權(quán)限的集 合,確定所述相似角色的優(yōu)化角色。
[0109] 本申請(qǐng)實(shí)施例通過上述單元獲得角色之間的相似度,依據(jù)角色之間相似度最大為 遍歷條件進(jìn)行角色遍歷,在確定出需要進(jìn)行優(yōu)化的相似角色后,依據(jù)相似角色之間相同權(quán) 限的集合及差異權(quán)限的集合對(duì)相似角色進(jìn)行優(yōu)化,使得各角色之間的權(quán)限集合盡可能完全 獨(dú)立,并共同代表一個(gè)業(yè)務(wù)含義,從而減少了不同角色中出現(xiàn)權(quán)限相同或重疊的情況,進(jìn)而 減少了給用戶分配角色不合理所導(dǎo)致的系統(tǒng)安全隱患問題。
[0110] 另一實(shí)施例中,計(jì)算單元501,可W具體被配置為計(jì)算指定角色中任兩個(gè)角色的權(quán) 限集合之間的化ccard相似度,作為所述任兩個(gè)角色之間的相似度。
[01川在本申請(qǐng)另一實(shí)施例中,如圖6所示,該裝置還可W包括:
[0112] 判定單元601,被配置為判斷所述相似角色之間的相似度是否大于或等于相似度 闊值。
[0113] 優(yōu)化單元504,被配置為當(dāng)所述判定單元601判定所述相似角色之間的相似度大 于或等于相似度闊值時(shí),依據(jù)所述相似角色之間相同權(quán)限的集合及差異權(quán)限的集合,確定 所述相似角色的優(yōu)化角色確定優(yōu)化角色。
[0114] 另一實(shí)施例中,角色確定單元503,具體被配置為若所述遍歷結(jié)果為鏈?zhǔn)浇Y(jié)果,貝U 確定所述鏈?zhǔn)浇Y(jié)果中位于第一位和第二位的角色為相似角色,其中,所述鏈?zhǔn)浇Y(jié)果為在所 述有向圖遍歷中,所述指定角色遍歷完畢后形成的角色間依次指向的結(jié)果;若所述遍歷結(jié) 果為雙子結(jié)果,則確定所述雙子結(jié)果中相互指向的兩個(gè)角色為相似角色,其中,所述雙子結(jié) 果為在所述有向圖遍歷中,兩個(gè)角色相互指向的結(jié)果;若所述遍歷結(jié)果為循環(huán)結(jié)果,則確 定出循環(huán)指向的角色,其中,所述循環(huán)結(jié)果為在所述有向圖遍歷中,多個(gè)角色循環(huán)指向的結(jié) 果;將所述循環(huán)指向的角色中相似度最大的兩個(gè)角色確定為相似角色。
[0115] 在另一實(shí)施例中,如圖7所示,優(yōu)化單元504可W進(jìn)一步包括:
[0116] 計(jì)算子單元701,被配置為計(jì)算所述相似角色之間相同權(quán)限的集合及差異權(quán)限的 集合。
[0117] 統(tǒng)計(jì)子單元702,被配置為統(tǒng)計(jì)所述差異權(quán)限的集合中各權(quán)限的上線使用率。
[0118] 刪除子單元703,被配置為刪除所述差異權(quán)限的集合中權(quán)限上線使用率低于預(yù)設(shè) 使用率闊值的權(quán)限,獲得最終差異權(quán)限的集合。
[0119] 確定子單元704,被配置為將所述相似角色之間相同權(quán)限的集合及所述最終差異 權(quán)限的集合確定為所述優(yōu)化角色的權(quán)限集合。
[0120] 本申請(qǐng)實(shí)施例還提供了 一種電子設(shè)備,包括存儲(chǔ)器和處理器。 陽121] 處理器與存儲(chǔ)器通過總線相互連接;總線可W是ISA總線、PCI總線或EISA總線 等。所述總線可W分為地址總線、數(shù)據(jù)總線、控制總線等。
[0122] 其中,存儲(chǔ)器用于存儲(chǔ)一段程序,具體地,程序可W包括程序代碼,所述程序代碼 包括計(jì)算機(jī)操作指令。存儲(chǔ)器可能包含高速RAM存儲(chǔ)器,也可能還包括非易失性存儲(chǔ)器 (non-volatile memoir),例如至少一個(gè)磁盤存儲(chǔ)器。 陽123] 處理器用于讀取存儲(chǔ)器中的程序代碼,執(zhí)行W下步驟:
[0124] 計(jì)算指定角色中任兩個(gè)角色之間的相似度;
[01巧]W所述指定角色中的其中一個(gè)角色為起點(diǎn),依據(jù)角色之間相似度最大為遍歷條 件,在所述指定角色中進(jìn)行有向圖遍歷; 陽126] 根據(jù)遍歷結(jié)果確定相似角色;
[0127] 依據(jù)所述相似角色之間相同權(quán)限的集合及差異權(quán)限的集合,確定所述相似角色的 優(yōu)化角色。
[0128] 對(duì)于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所W描述的比較簡(jiǎn)單,相關(guān) 之處參見方法實(shí)施例的部分說明即可。
[0129] 本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與 其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。
[0130] 本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請(qǐng)實(shí)施例的實(shí)施例可提供為方法、裝置、或計(jì)算 機(jī)程序產(chǎn)品。因此,本申請(qǐng)實(shí)施例可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和 硬件方面的實(shí)施例的形式。而且,本申請(qǐng)實(shí)施例可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可 用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上 實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。 陽131] 在一個(gè)典型的配置中,所述計(jì)算機(jī)設(shè)備包括一個(gè)或多個(gè)處理器(CPU)、輸入/輸出 接口、網(wǎng)絡(luò)接口和內(nèi)存。內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲(chǔ)器,隨機(jī)存取存儲(chǔ) 器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲(chǔ)器(ROM)或閃存(flash RAM)。內(nèi)存是 計(jì)算機(jī)可讀介質(zhì)的示例。計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動(dòng)和非可移動(dòng)媒體 可W由任何方法或技術(shù)來實(shí)現(xiàn)信息存儲(chǔ)。信息可W是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模 塊或其他數(shù)據(jù)。計(jì)算機(jī)的存儲(chǔ)介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機(jī)存取 存儲(chǔ)器(SRAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器值RAM)、其他類型的隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ) 器(ROM)、電可擦除可編程只讀存儲(chǔ)器巧EPROM)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只 讀存儲(chǔ)器(CD-ROM)、數(shù)字多功能光盤值VD)或其他光學(xué)存儲(chǔ)、磁盒式磁帶,磁帶磁磁盤存儲(chǔ) 或其他磁性存儲(chǔ)設(shè)備或任何其他非傳輸介質(zhì),可用于存儲(chǔ)可W被計(jì)算設(shè)備訪問的信息。按 照本文中的界定,計(jì)算機(jī)可讀介質(zhì)不包括非持續(xù)性的電腦可讀媒體(transitory media), 如調(diào)制的數(shù)據(jù)信號(hào)和載波。 陽132] 本申請(qǐng)實(shí)施例是參照根據(jù)本申請(qǐng)實(shí)施例的方法、終端設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序 產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框 圖中的每一流程和/或方框、W及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商?供運(yùn)些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理 終端設(shè)備的處理器W產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處 理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多 個(gè)方框中指定的功能的裝置。
[0133] 運(yùn)些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備 W特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包 括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方 框或多個(gè)方框中指定的功能。
[0134] 運(yùn)些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備上,使得 在計(jì)算機(jī)或其他可編程終端設(shè)備上執(zhí)行一系列操作步驟W產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在 計(jì)算機(jī)或其他可編程終端設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程 和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0135] 盡管已描述了本申請(qǐng)實(shí)施例的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基 本創(chuàng)造性概念,則可對(duì)運(yùn)些實(shí)施例做出另外的變更和修改。所W,所附權(quán)利要求意欲解釋為 包括優(yōu)選實(shí)施例W及落入本申請(qǐng)實(shí)施例范圍的所有變更和修改。
[0136] 最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將 一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示運(yùn)些實(shí)體或操作 之間存在任何運(yùn)種實(shí)際的關(guān)系或者順序。而且,術(shù)語"包括"、"包含"或者其任何其他變體 意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設(shè)備不僅 包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為運(yùn)種過程、方法、物 品或者終端設(shè)備所固有的要素。在沒有更多限制的情況下,由語句"包括一個(gè)......"限定 的要素,并不排除在包括所述要素的過程、方法、物品或者終端設(shè)備中還存在另外的相同要 素。 陽137] W上對(duì)本申請(qǐng)所提供的一種RBAC權(quán)限體系中的角色優(yōu)化方法和一種RBAC權(quán)限體 系中的角色優(yōu)化裝置,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本申請(qǐng)的原理及實(shí)施方 式進(jìn)行了闡述,W上實(shí)施例的說明只是用于幫助理解本申請(qǐng)的方法及其核屯、思想;同時(shí),對(duì) 于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請(qǐng)的思想,在【具體實(shí)施方式】及應(yīng)用范圍上均會(huì)有改變 之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本申請(qǐng)的限制。
【主權(quán)項(xiàng)】
1. 一種RBAC權(quán)限體系中的角色優(yōu)化方法,其特征在于,包括: 計(jì)算指定角色中任兩個(gè)角色之間的相似度; 以所述指定角色中的其中一個(gè)角色為起點(diǎn),依據(jù)角色之間相似度最大為遍歷條件,在 所述指定角色中進(jìn)行有向圖遍歷; 根據(jù)遍歷結(jié)果確定相似角色; 依據(jù)所述相似角色之間相同權(quán)限的集合及差異權(quán)限的集合,確定所述相似角色的優(yōu)化 角色。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述計(jì)算指定角色中任兩個(gè)角色之間的 相似度,包括: 計(jì)算指定角色中任兩個(gè)角色的權(quán)限集合之間的Jaccard相似度,作為所述任兩個(gè)角色 之間的相似度。3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述依據(jù)所述相似角色之間相同權(quán)限 的集合及差異權(quán)限的集合,確定所述相似角色的優(yōu)化角色之前,所述方法還包括: 判斷所述相似角色之間的相似度是否大于或等于相似度閾值,若是,再依據(jù)所述相似 角色之間相同權(quán)限的集合及差異權(quán)限的集合,確定所述相似角色的優(yōu)化角色。4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)遍歷結(jié)果確定相似角色,包括: 若所述遍歷結(jié)果為鏈?zhǔn)浇Y(jié)果,則確定所述鏈?zhǔn)浇Y(jié)果中位于第一位和第二位的角色或者 所述鏈?zhǔn)浇Y(jié)果中相似度最高的兩個(gè)角色為相似角色,其中,所述鏈?zhǔn)浇Y(jié)果為在所述有向圖 遍歷中,所述指定角色遍歷完畢后形成的角色間依次指向的結(jié)果。5. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)遍歷結(jié)果確定相似角色,包括: 若所述遍歷結(jié)果為雙子結(jié)果,則確定所述雙子結(jié)果中相互指向的兩個(gè)角色為相似角 色,其中,所述雙子結(jié)果為在所述有向圖遍歷中,兩個(gè)角色相互指向的結(jié)果。6. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)遍歷結(jié)果確定相似角色,包括: 若所述遍歷結(jié)果為循環(huán)結(jié)果,則確定出循環(huán)指向的角色,其中,所述循環(huán)結(jié)果為在所述 有向圖遍歷中,多個(gè)角色循環(huán)指向的結(jié)果。 將所述循環(huán)指向的角色中相似度最大的兩個(gè)角色確定為相似角色。7. 根據(jù)權(quán)利要求1至6中任意一項(xiàng)所述的方法,其特征在于,所述依據(jù)所述相似角色之 間相同權(quán)限的集合及差異權(quán)限的集合,確定所述相似角色的優(yōu)化角色,包括: 計(jì)算所述相似角色之間相同權(quán)限的集合及差異權(quán)限的集合; 統(tǒng)計(jì)所述差異權(quán)限的集合中各權(quán)限的上線使用率; 刪除所述差異權(quán)限的集合中權(quán)限上線使用率低于預(yù)設(shè)使用率閾值的權(quán)限,獲得最終差 異權(quán)限的集合; 將所述相似角色之間相同權(quán)限的集合及所述最終差異權(quán)限的集合確定為所述優(yōu)化角 色的權(quán)限集合。8. -種RBAC權(quán)限體系中的角色優(yōu)化裝置,其特征在于,包括: 計(jì)算單元,被配置為計(jì)算指定角色中任兩個(gè)角色之間的相似度; 遍歷單元,被配置為以所述指定角色中的其中一個(gè)角色為起點(diǎn),依據(jù)角色之間相似度 最大為遍歷條件,在所述指定角色中進(jìn)行有向圖遍歷; 角色確定單元,被配置為根據(jù)遍歷結(jié)果確定相似角色; 優(yōu)化單元,被配置為依據(jù)所述相似角色之間相同權(quán)限的集合及差異權(quán)限的集合,確定 所述相似角色的優(yōu)化角色。9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括: 判定單元,被配置為判斷所述相似角色之間的相似度是否大于或等于相似度閾值; 所述優(yōu)化單元,被配置為當(dāng)所述判定單元判定所述相似角色之間的相似度大于或等于 相似度閾值時(shí),依據(jù)所述相似角色之間相同權(quán)限的集合及差異權(quán)限的集合,確定所述相似 角色的優(yōu)化角色確定優(yōu)化角色。10. 根據(jù)權(quán)利要求8所述的裝置,其特征在于, 所述角色確定單元,具體被配置為若所述遍歷結(jié)果為鏈?zhǔn)浇Y(jié)果,則確定所述鏈?zhǔn)浇Y(jié)果 中位于第一位和第二位的角色為相似角色,其中,所述鏈?zhǔn)浇Y(jié)果為在所述有向圖遍歷中,所 述指定角色遍歷完畢后形成的角色間依次指向的結(jié)果;若所述遍歷結(jié)果為雙子結(jié)果,則確 定所述雙子結(jié)果中相互指向的兩個(gè)角色為相似角色,其中,所述雙子結(jié)果為在所述有向圖 遍歷中,兩個(gè)角色相互指向的結(jié)果;若所述遍歷結(jié)果為循環(huán)結(jié)果,則確定出循環(huán)指向的角 色,其中,所述循環(huán)結(jié)果為在所述有向圖遍歷中,多個(gè)角色循環(huán)指向的結(jié)果;將所述循環(huán)指 向的角色中相似度最大的兩個(gè)角色確定為相似角色。11. 根據(jù)權(quán)利要求8至10中任意一項(xiàng)所述的裝置,其特征在于,所述優(yōu)化單元包括: 計(jì)算子單元,被配置為計(jì)算所述相似角色之間相同權(quán)限的集合及差異權(quán)限的集合; 統(tǒng)計(jì)子單元,被配置為統(tǒng)計(jì)所述差異權(quán)限的集合中各權(quán)限的上線使用率; 刪除子單元,被配置為刪除所述差異權(quán)限的集合中權(quán)限上線使用率低于預(yù)設(shè)使用率閾 值的權(quán)限,獲得最終差異權(quán)限的集合; 確定子單元,被配置為將所述相似角色之間相同權(quán)限的集合及所述最終差異權(quán)限的集 合確定為所述優(yōu)化角色的權(quán)限集合。
【文檔編號(hào)】G06F21/45GK105989276SQ201510076610
【公開日】2016年10月5日
【申請(qǐng)日】2015年2月12日
【發(fā)明人】張翔
【申請(qǐng)人】阿里巴巴集團(tuán)控股有限公司