多個限制,選擇或拒絕許可簇,以考慮作為候選角色,這 些限制可被編碼并且存儲在限制數(shù)據庫169中并且能由系統(tǒng)1A00中的模塊進行訪問。嚴 格意義上,作為示例,限制可被編纂為:
[0071] -不將在先前存在的角色層次中未授權的任何權限授權給任何職務、(或人員)。
[0072] -不應該創(chuàng)建會包含構成職責分離違背的權限組合的候選角色。例如,這個限制將 防止"創(chuàng)建供應商"和"授權支付供應商"這對權限被授予同一實體。
[0073] 在企業(yè)環(huán)境中,限制數(shù)據庫169可包括這種職責分離限制的廣泛的集合,以描述 和實施企業(yè)內和企業(yè)外的制衡。
[0074] 遵從這個部分的(和本公開中別處公開的)技術的分派滿足以下目的:
[0075] -最小化角色的數(shù)量
[0076] -最小化角色成員關系的數(shù)量;和/或
[0077]-確保職務沒有被授權發(fā)揮該職務不需要的功能。
[0078] 如所示出的,系統(tǒng)1A00包括職務描述引擎110、簡檔產生器120和安全引擎160, 這些模塊相互通信。職務描述引擎包括:職務描述數(shù)據庫,其用于存儲和檢索一個或多個職 務描述102 ;職責描述數(shù)據庫,其用于存儲和檢索一個或多個職責描述103 ;許可描述數(shù)據 庫,其用于存儲和檢索一個或多個許可描述104。職務描述102 (或職務描述的任何方面) 連同職責描述103 (或職責描述的任何方面)一起,并且連同許可描述104 (或許可描述的 任何方面)一起可被形成為組織圖表(例如,層次示圖118)。這種組織圖表或示圖是計算 機可讀的,并且可被計算機處理器遍歷以執(zhí)行分析(例如,本文中討論的分析)。對分析結 果的應用可用于滿足上述目標。
[0079] 簡檔產生器120用于從職務描述引擎接受輸入,以執(zhí)行分析,并且輸出簡檔記錄, 以便可以用于存儲在員工數(shù)據庫中,并且以便隨后在執(zhí)行職務或角色期間進行檢索。簡檔 記錄可被存儲在員工記錄數(shù)據庫164中,并且簡檔記錄可包括任何形式的人力資源或以員 工為中心的數(shù)據。例如,簡檔記錄(例如,雇員或承包人或代理人的簡檔記錄)可包括雇員 或承包人或代理人的頭銜和/或被分派的職務。簡檔記錄還可包括諸如聯(lián)系方式和人口統(tǒng) 計信息的員工數(shù)據。在一些實施例中,簡檔記錄可包含或引用(例如,直接地或間接地)對 應的職責、角色和/或虛擬角色。
[0080] 在示例性的操作中,用戶105操作人力資源管理系統(tǒng)的模塊,具體地,面試模塊 124。在操作期間,用戶可修改現(xiàn)有員工的簡檔記錄,并且可使用面試模塊124來產生新雇 員的新簡檔記錄。產生新雇員的新簡檔記錄的一種可能操作可以是建立新雇員的頭銜和/ 或職務(例如,使用職務選擇器126),然后列舉對應的職責。可以通過職責列舉器128幫 助列舉對應職責,這樣進而可通過分析職務描述102、職責描述103、和/或許可描述104中 的任一個,或通過讀取層次示圖118來確定與特定職務對應的職責。為了幫助以對系統(tǒng)方 便的形式(例如,層次示圖118)存儲和/或檢索職務描述102、職責描述103、和/或許可 描述104,層次管理器130用于從職務描述引擎110讀取任何數(shù)據項,并且操縱與面試模塊 124之間的輸入/輸出和與發(fā)現(xiàn)引擎140之間的輸入/輸出,如所示出的。
[0081] 如之前指示的,在企業(yè)中被管理的許可的絕對數(shù)量、以及職責和許可之間的關系 需要計算機輔助方法。因此,發(fā)現(xiàn)引擎140用于對許可和職責執(zhí)行分析,以減輕帶給用戶的 負擔。例如,一種方法執(zhí)行簇分析,以提供虛擬角色的緊致集合,使得當用戶正與面試模塊 交互時,每個實際使用的職務到許可集合的映射可被呈現(xiàn)給用戶。
[0082] 再次參照發(fā)現(xiàn)引擎140的操作,如所示出的,層次管理器130可向扁平化器144提 供層次(例如,層次示圖118),分簇引擎146可使用扁平化器144的結果來對許可集合分 簇,并且通過許可分派引擎148將被分簇的許可集合和映射到職責或虛擬角色。被分簇的 許可集合可被存儲在任何存儲位置中(例如,許可簇數(shù)據庫170中)。另外,具有被分簇的 許可集合幫助簡檔驗證器授權將一個或多個特定許可集合(例如,許可簇168)記錄在雇員 的簡檔記錄162中的操作。
[0083] 一旦簡檔記錄得到驗證,它就可被存儲在員工記錄數(shù)據庫164中,任何本領域已 知的技術可以被用于形成可在企業(yè)軟件應用環(huán)境的上下文中使用的驗證表166(可以使用 安全引擎 160)。例如,可使用特定雇員的身份來檢索簡檔記錄162,該簡檔記錄包括被授 予特定雇員的許可集合。可實時使用簡檔記錄和/或任何形式的導出的驗證表。另外,嚴 格意義上,作為示例,在執(zhí)行屬于特定職責的操作的過程期間,可檢索對特定雇員的許可授 權,并且將它跟執(zhí)行該特定職責所需的許可進行匹配,并且如果所需的許可沒有被授予,則 拒絕執(zhí)行該操作(或者,相反地,如果所需的許可被授予特定雇員,則允許執(zhí)行該操作)。
[0084] 返回到對許可簇數(shù)據庫170的討論和其結合安全引擎160的使用,在提供基于角 色的訪問控制模型的系統(tǒng)中,多個角色可按角色層次進行布置。例如,角色層次可由角色 (命名角色和/或虛擬角色)構成,其中,角色層次的葉子是許可。這個層次描述可提供方 便和容易的理解,因為在角色層次的上層,角色有可能對應于職務(但這種可能性只是一 種可能而非必要條件)。在角色層次的下層,角色有可能對應于關于職務描述(例如,職責) 的行。
[0085] 圖IB示出通過分析許可簇發(fā)現(xiàn)對職務授予許可和授權的最佳角色之后分派許可 集合的系統(tǒng)1B00。作為選項,本系統(tǒng)1B00可在本文中描述的實施例的架構和功能的上下文 中實現(xiàn)。另外,系統(tǒng)1B00或本文中的任何方面可在任何希望的環(huán)境中實現(xiàn)。
[0086] 如所示出的,系統(tǒng)1B00被組織成實現(xiàn)在對系統(tǒng)1A00的討論中介紹的一些操作的 一系列步驟。嚴格意義上,作為示例,系統(tǒng)1B00可被分割使得一些步驟實現(xiàn)扁平化器144 的功能,和/或可被分割使得一些步驟實現(xiàn)分簇引擎146的功能,和/或可被分割使得一些 步驟實現(xiàn)許可分派引擎148的功能。在示出的實施例中,這些步驟開始于讀取層次(例如, 層次示圖118),然后將層次扁平化以識別許可全域,其中,全域中映射到任何職責或職務的 每個許可至少出現(xiàn)一次(參見操作171)。然后,在具有許可全域的情況下,操作172可使用 任何已知的技術來窮盡地列舉所有可能的許可組合。這個操作172用于構造包括當前許可 全域的數(shù)據結構。這個當前的許可全域在簇被識別、評級和分派時變?。▍⒁姴僮?78)。 [0087] 在所有可能的許可組合的窮盡列表中,可刪除沒有用于(組合地用于)執(zhí)行職務 的組合的列表。也就是說,操作173用于只列出其中組合中的所有許可用于至少一個特定 職務的許可簇(例如,許可組合)。這里,所得的許可簇可在操作173中被命名并且可在另 一個操作中被重新命名或標記。
[0088] 如之前指示的,本文中的技術公開了形成職責的緊致集合的方法,用于自動化地 進行對先驗已知的職務集合授權先驗已知的許可集合。一種技術涉及分派最大覆蓋的許可 集合(例如,在許可簇中發(fā)現(xiàn)的最大覆蓋的許可集合),然后逐次分派在下一個許可簇中發(fā) 現(xiàn)的最大覆蓋的許可集合,并且迭代地執(zhí)行這種分派,直到已經分派了特定職務(例如,新 雇員的職務)所需的所有許可(參見迭代器測試179)。
[0089] 為了幫助實現(xiàn)上述技術的實施例,被命名的許可簇(再次,參見操作173)可被評 級。特定實施例至少部分基于計算出的給定許可簇覆蓋整個職務集合的程度來對該給定許 可簇進行評級(參見操作174)。這樣做之后,之前描述的迭代地分派最大或最高評級覆蓋 的許可集合的任務,然后逐次分派下一個最大覆蓋的許可集合,等等。在此處理中,最高評 級的許可簇被存儲在角色候選列表中(參見操作175),此后,確定是否要執(zhí)行進一步的迭 代,如果要執(zhí)行,則從當前全域數(shù)據結構中去除與剛剛存儲的許可簇對應的許可(參見操 作 178)。
[0090] 使用許可分派引擎148,可敏捷地(例如,用很少的次數(shù))執(zhí)行大的許可集合的計 算機輔助分派。在一些情況下,名稱被手動地分派給許可簇。然后,使用(被命名或未被命 名的)評級的許可簇,可在操作176中、或在許可分派引擎148的另一個其它操作中、或在 任何其它模塊或操作中執(zhí)行逐次分派。在一些情況下,即使在逐次應用操作176之后,一些 所需的許可有可能仍然保持未分派。因此,一個或多個個體許可可以被獨立地分派(參見 操作177)。
[0091] 圖IC示出用于在挖掘許可簇之后授予許可的系統(tǒng)。作為選項,本層次圖表1C00 可在本文中描述的實施例的架構和功能的上下文中實現(xiàn)。另外,層次圖表1C00或本文中的 任何方面可在任何希望的環(huán)境中實現(xiàn)。
[0092] 如所示出的,系統(tǒng)包括層次示圖118,層次示圖118描述職務和一個或多個職責之 間以及職責和一個或多個許可之間的關系。面試⑶1(例如,許可授予畫面125i)包括職務 下拉菜單127、職責下拉菜單129和許可復選框陣列131。還示出面試GUI (例如,許可授予 畫面1252)的替代實例。許可授予畫面125JP許可授予畫面125 2的替代實例的不同方面 至少在于,許可授予畫面1252的替代實例示出少很多的復選框。然而,即使利用較少的復 選框,也可授予所需的許可。在這種情況下,與許可的關系被挖掘,從而導致許可簇Cl的確 定,進而導致復選框Cl的存在。勾選許可授予畫面125 2的替代實例中的單個復選框Cl,起 到與勾選許可授予畫面125i中的三個復選框相同的目的。在一些情況下,可通過推薦許可 簇下拉菜單135提供點擊許可簇復選框陣列133之中的復選框的操作。
[0093] 圖2A是在使用權限簇分析進行角色發(fā)現(xiàn)的系統(tǒng)中使用的用于分派許可集合的層 次圖表2A00。作為選項,本層次圖表2A00可在本文中描述的實施例的架構和功能的上下文 中實現(xiàn)。另外,層次圖表2A00或本文中的任何方面可在任何希望的環(huán)境中實現(xiàn)。
[0094] 諸如層次圖表2A00或諸如層次示圖118的層次圖表描述職務和一個或多個職責 (例如,職責203i、職責204 2、職責2043、職責2034、職責2045、職責204 6等)之間的關系,并 且描述職責和許可之間的關系。其它關系是可能且合理的,并且在發(fā)現(xiàn)引擎140的各種操 作中考慮這些關系。嚴格意義上,作為示例,第一職務/頭銜(例如,職務202J可與下級 職務和被授予許可(例如,被授予許可2〇1、被授予許可204 2、被授予許可2