專利名稱::基于分類方法的細(xì)粒度權(quán)限管理方法
技術(shù)領(lǐng)域:
:主體分類方法和資源分類方法,是一種動(dòng)態(tài)、智能分類方法??梢赃\(yùn)用于權(quán)限管理、身份認(rèn)證等領(lǐng)域?;诜诸惙椒ǖ募?xì)粒度授權(quán)決策方法和細(xì)粒度授權(quán)查詢方法,運(yùn)用于計(jì)算機(jī)軟件系統(tǒng)權(quán)限管理領(lǐng)域。管理主體對(duì)資源的訪問權(quán)限,管理主體對(duì)資源的査詢權(quán)限。2.
背景技術(shù):
:計(jì)算機(jī)系統(tǒng),尤其是網(wǎng)絡(luò)系統(tǒng),資源放在一起集中共享,這些資源可以是圖片、數(shù)據(jù)庫、文本、計(jì)算機(jī)等。當(dāng)用戶請(qǐng)求對(duì)某資源進(jìn)行操作,為了確保系統(tǒng)安全正常運(yùn)行,系統(tǒng)將對(duì)用戶和資源進(jìn)行權(quán)限判斷,確保該用戶對(duì)該資源有操作權(quán)限,否則拒絕用戶請(qǐng)求。權(quán)限管理,就是管理用戶對(duì)資源的操作權(quán)限。目前應(yīng)用最廣泛的有兩種技術(shù)方法1.基于角色的訪問控制授權(quán)方法;2.XACML(OASISextensibleAccessControlMarkupLanguage)?;诮巧脑L問控制授權(quán)方法,先創(chuàng)建角色,然后授權(quán)該角色.有權(quán)限訪問的資源;將一個(gè)或者多個(gè)角色授權(quán)給用戶。當(dāng)用戶訪問某資源時(shí),首先査找該用'戶有哪些角色,查找出這些角色對(duì)應(yīng)的授權(quán)資源。如果授權(quán)資源里面有被訪問資源,則允許用戶請(qǐng)求;否則拒絕用戶請(qǐng)求。比如創(chuàng)建管理員角色,授權(quán)管理員角色允許訪問"添加機(jī)構(gòu)"、"刪除機(jī)構(gòu)"網(wǎng)頁資源權(quán)限。然后給用戶張三授予管理員角色。當(dāng)張三訪問"添加機(jī)構(gòu)"時(shí),系統(tǒng)將允許該請(qǐng)求。當(dāng)張三訪問"添加用戶"時(shí),因?yàn)閺埲邆涞慕巧紱]用被授予"添加用戶"權(quán)限,系統(tǒng)將拒絕該請(qǐng)求?;诮巧脑L問控制授權(quán)方法是一種粗粒度的權(quán)限控制方法。對(duì)于細(xì)化的需求,基于角色的訪問控制則無能為力。比如在某銀行系統(tǒng)中,有總行用戶張三和北京分行用戶李四,現(xiàn)有訪問控制需求1.總行管理員只能添加各個(gè)分行機(jī)構(gòu),不能添加支行機(jī)構(gòu)2.北京分行管理員只能添加北京分行下屬支行,.不能添加分行機(jī)構(gòu),且不能添加其他分行支行機(jī)構(gòu)。對(duì)于以上需求,基于角色的訪問控制只能授予張三和李四管理員角色,賦予該角色添加機(jī)構(gòu)的權(quán)限。但無法根據(jù)機(jī)構(gòu)的不同層級(jí)的屬性進(jìn)一步授權(quán),所以無法實(shí)現(xiàn)此類細(xì)粒度的訪問控制。.XACML是OASIS的一個(gè)標(biāo)準(zhǔn)。XACML定義了一種通用的用于保護(hù)資源的策略語言和一種訪問決策語言。典型的訪問控制和授權(quán)場(chǎng)景包括三個(gè)主要實(shí)體主體(Subject)、資源(Resource)和動(dòng)作(Action)以及它們的屬性。主體請(qǐng)求得到對(duì)資源執(zhí)行動(dòng)作的權(quán)限。比如在訪問請(qǐng)求"客戶請(qǐng)求査看自己的訂單"中,主體是"客戶",資源是"自己的訂單",動(dòng)作是"査看"。4XACML的授權(quán)由策略(Policy)實(shí)現(xiàn)。策略中定義若干規(guī)則(Rule),規(guī)則指定允許或拒絕請(qǐng)求的條件。當(dāng)主體請(qǐng)求訪問資源時(shí),XACML引擎會(huì)選擇匹配的策略,評(píng)估與策略關(guān)聯(lián)的規(guī)則。評(píng)估過程中,引擎會(huì)根據(jù)規(guī)則的定義對(duì)主體、資源以及運(yùn)行環(huán)境(Environment)的屬性進(jìn)行計(jì)算和評(píng)估,最終做出允許或拒絕請(qǐng)求的決策。其步驟如圖1。由于XACML的規(guī)則支持對(duì)主體、資源以及環(huán)境的屬性進(jìn)行復(fù)雜計(jì)算與評(píng)估,所以具備了進(jìn)行細(xì)粒度訪問控制的能力。例如對(duì)于細(xì)粒度授權(quán)"分行管理員添加下屬支行機(jī)構(gòu)",XACML需要?jiǎng)?chuàng)建一條授權(quán)策略。該策略包含的規(guī)則為1.主體為擁有"管理員"角色,且所屬機(jī)構(gòu)為分行;2.資源為支行機(jī)構(gòu),且隸屬于主體的分行;3.動(dòng)作為添加分支機(jī)構(gòu)。以上條件滿足時(shí),決策的結(jié)果為允許,反之拒絕。在該規(guī)則中,參與評(píng)估的主體屬性有"所擁有的角色"和"所屬機(jī)構(gòu)";資源屬性為"支行機(jī)構(gòu)"和"隸屬于主體分行"。XACML其核心是為授權(quán)策略定義規(guī)則,在規(guī)則中對(duì)主體,資源和環(huán)境屬性進(jìn)行評(píng)估,根據(jù)評(píng)估結(jié)果做出訪問控制決策(允許或拒絕)。目前IBMTivoliAccessManager和OracleEntitlementServer都是采用這種思路來實(shí)現(xiàn)細(xì)粒度訪問控制。該方法并不完善,有以下兩個(gè)缺點(diǎn)1.重用性不強(qiáng)策略包含若干規(guī)則,不同的策略經(jīng)常有類似的規(guī)則,但不完全相同。例如以下兩個(gè)策略策略l:分行管理員添加下屬支行機(jī)構(gòu)。規(guī)則主體的角色為管理員,且所屬機(jī)構(gòu)為分行;資源為支行機(jī)構(gòu),且隸屬于主體的分行。策略2:分行管理員添加分行用戶。主體的角色為管理員,且所屬機(jī)構(gòu)為分行;資源為用戶,且與主體屬于同一分行。策略1和策略2的規(guī)則中都包含了對(duì)主體的限制條件主體的角色為管理員,且所屬機(jī)構(gòu)為分行。2.不支持資源査詢對(duì)于"分行管理員有權(quán)修改下屬支行機(jī)構(gòu)"這一訪問控制,XACML可以判斷某管理員是否能夠修改某支行機(jī)構(gòu),但不能返回該管理員有權(quán)修改的所有支行機(jī)構(gòu)。因?yàn)閄ACML只能返回授權(quán)策略決策結(jié)果,即允許或拒絕,而不能進(jìn)行資源査詢,返回滿足策略規(guī)則的資源集合。而在實(shí)際的應(yīng)用系統(tǒng)中,這種需求是隨處可見的。XACML還不支持這類查詢需求。其實(shí)用性受到限制。3.
發(fā)明內(nèi)容本發(fā)明包含兩大主題1.基于主體分類和資源分類的細(xì)粒度授權(quán)決策方法;2.基于主體分類和數(shù)據(jù)查詢的細(xì)粒度授權(quán)査詢方法。以上主題運(yùn)用了主體分類方法、資源分類方法和數(shù)據(jù)査詢方法。主體分類方法和資源分類方法隸屬本發(fā)明。數(shù)據(jù)査詢方法,是一種常見方法,不隸屬本發(fā)明。主體分類方法定義主體的分類規(guī)則,直接對(duì)給定主體的屬性進(jìn)行評(píng)估,從而判斷主體是否屬于該分類,而不用事先顯示地將主體劃入某分類。主體分類規(guī)則的特征是由表達(dá)式或表達(dá)式組組成,并返回布爾值。表達(dá)式可以是數(shù)學(xué)計(jì)算(+,-,*,/)、邏輯計(jì)算(AND,OR)和函數(shù)等。表達(dá)式的特征是對(duì)主體的屬性、上下文屬性或其他數(shù)據(jù)源數(shù)據(jù)的計(jì)算。主體、上下文環(huán)境和數(shù)據(jù)源都是規(guī)則的輸入?yún)?shù)。資源分類方法定義資源的分類規(guī)則,直接對(duì)給定資源和給定主體(給定主體可選)的屬性進(jìn)行評(píng)估,從而判斷資源是否屬于該分類,而不用事先顯示地將資源劃入某分類。資源分類方法與主體分類方法基本類似,主要有一個(gè)顯著區(qū)別資源分類輸入?yún)?shù)為資源、主體、上下文環(huán)境和數(shù)據(jù)源。而主體分類的輸入?yún)?shù)沒有資源。資源分類方法的主體輸入?yún)?shù)是可選的。資源分類規(guī)則、表達(dá)式、表達(dá)式取值和主體分類一致,不再重復(fù)。數(shù)據(jù)査詢方法定制査詢模板,在運(yùn)行的時(shí)候,對(duì)模板中的占位符賦值,形成完整SQL語句,然后進(jìn)行數(shù)據(jù)庫査詢。數(shù)據(jù)査詢方法是一種常見方法。運(yùn)用于細(xì)粒度權(quán)限管理領(lǐng)域,數(shù)據(jù)査詢占位符代表的數(shù)據(jù),可以來自上下文、主體、資源或者數(shù)據(jù)源。細(xì)粒度授權(quán)決策,為不同請(qǐng)求主體設(shè)置不同資源操作權(quán)限。對(duì)給定主體、給定資源,系統(tǒng)能夠通過計(jì)算,做出決策,允許或者拒絕該請(qǐng)求。基于主體分類和資源分類的細(xì)粒度授權(quán)決策方法,是一^中簡(jiǎn)單、直觀和實(shí)用的細(xì)粒度授權(quán)決策方法。本方法為每個(gè)操作設(shè)定一條或者多條授權(quán)決策策略。如果有多條策略,策略按照優(yōu)先級(jí)排序。當(dāng)某主體請(qǐng)求對(duì)某資源進(jìn)行操作時(shí),評(píng)估為該操作設(shè)置的授權(quán)決策策略,得出決策結(jié)果。決策結(jié)果有兩種情況1,允許;2,拒絕,并返回拒絕理由。細(xì)粒度授權(quán)決策方法,判斷請(qǐng)求主體是否對(duì)請(qǐng)求資源具有操作權(quán)P艮,但不能告訴請(qǐng)求主體具有權(quán)限操作的資源有哪些。細(xì)粒度授權(quán)査詢方法,是用來査詢出請(qǐng)求主體對(duì)哪些資源具有操作權(quán)限。細(xì)粒度授權(quán)查詢方法,基于主體分類和數(shù)據(jù)査詢的細(xì)粒度授權(quán)査詢方法,解決了XACML等以往權(quán)限管理領(lǐng)域未涉及到的領(lǐng)域。本方法為每個(gè)操作設(shè)定一條或者多條授權(quán)査詢策略。如果有多條策略,策略按照優(yōu)先級(jí)排序。對(duì)給定主體,系統(tǒng)能夠通過計(jì)算,選擇匹配的査詢器,進(jìn)行資源查詢。其査詢結(jié)果即請(qǐng)求主體具有權(quán)限操作的資源集合。4.附圖1是XACML工作原理圖附圖2是細(xì)粒度授權(quán)決策方法附圖3是細(xì)粒度授權(quán)決策方法附圖4是細(xì)粒度授權(quán)査詢方法決策過程示意圖。所有策略不滿足時(shí)査詢過程示意圖。評(píng)估拒絕理由示意圖。5.具體實(shí)施例方式5.1.主體分類方法主體分類方法定義主體的分類規(guī)則,直接對(duì)給定主體的屬性進(jìn)行評(píng)估,從而判斷主體是否屬于該分類,而不用事先顯示地將主體劃入某分類。主體分類主要特征是1.動(dòng)態(tài)匹配計(jì)算。通過評(píng)估規(guī)則判斷主體是否屬于該分類,而不用事先將主體劃入分類,為細(xì)粒度授權(quán)提供了前提條件。2.具有更好的復(fù)用性、可讀性。XACML的主體判斷規(guī)則和資源判斷規(guī)則混合在一起。通過將主體判斷規(guī)則提取出來,形成獨(dú)立分類,這種分類與業(yè)務(wù)領(lǐng)域中的概念一致,具有很好的穩(wěn)定性,可以在不同業(yè)務(wù)操作中復(fù)用。分類目的性和可讀性更強(qiáng)。主體分類規(guī)則的特征是由表達(dá)式或表達(dá)式組組成,并返回布爾值。表達(dá)式可以是數(shù)學(xué)計(jì)算(+,-,*,/)、邏輯計(jì)算(AND,OR)和函數(shù)等。表達(dá)式舉例:_//數(shù)學(xué)計(jì)算^^inta=b+l;〃邏輯計(jì)算booleanf=(a&&b)&&(c||d)&&e;〃函數(shù)c=a.add(b.getVahie());表達(dá)式的特征是對(duì)主體的屬性、上下文屬性或其他數(shù)據(jù)源數(shù)據(jù)的計(jì)算。主體、上下文環(huán)境和數(shù)據(jù)源都是規(guī)則的輸入?yún)?shù)。表達(dá)式獲取值舉例:_//主體的屬性Stringorganization=(String)SUBJECT.get("organization");〃上下文屬性Doublemoney=(Double)CONTEXT.get("money");〃執(zhí)行SQL査詢CollectionqueryResult=DATASOURCE.query("selectcolumn1,column2fromtablename");將主體、上下文環(huán)境和數(shù)據(jù)源做為輸入?yún)?shù),執(zhí)行規(guī)則的表達(dá)式或表達(dá)式組,執(zhí)行結(jié)果就是評(píng)估結(jié)果。主體分類實(shí)施例1:名稱規(guī)則描述總行用戶Stringorganization=SUBJECT.get("organization");returnorganization.equals("總行,,);取出主體(用戶)的organization屬性值,然后禾口總行機(jī)構(gòu)名稱"總行"進(jìn)行比較。相等表示屬于總行用戶分類,否則不是。分行用戶Collectionbranches=DATASOURCE.query("selectnamefrom査i旬organization表所有分l亍機(jī)構(gòu)(父機(jī)構(gòu)是"總行"),然7<table>tableseeoriginaldocumentpage8</column></row><table>5.2.資源分類方法資源分類方法定義資源的分類規(guī)則,直接對(duì)給定資源和給定主體(給定主體可選)的屬性進(jìn)行評(píng)估,從而判斷資源是否屬于該分類,而不用事先顯示地將資源劃入某分類。資源分類方法與主體分類方法基本類似,主要有一個(gè)顯著區(qū)別資源分類輸入?yún)?shù)為資源、主體、上下文環(huán)境和數(shù)據(jù)源。而主體分類的輸入?yún)?shù)沒有資源。資源分類規(guī)則、表達(dá)式、表達(dá)式取值和主體分類一致,不再重復(fù)。資源分類實(shí)施例1:<table>tableseeoriginaldocumentpage8</column></row><table>5.3.數(shù)據(jù)查詢方法在不同場(chǎng)景,但査詢語句非常類似的情況下,我們定制査詢模板。在運(yùn)行的時(shí)候,對(duì)模板中的占位符賦值,形成完整SQL語句,然后進(jìn)行數(shù)據(jù)庫査詢。運(yùn)用于細(xì)粒度權(quán)限管理領(lǐng)域,數(shù)據(jù)査詢占位符代表的數(shù)據(jù),可以來自上下文、主體、資源或者數(shù)據(jù)源。5.4.細(xì)粒度授權(quán)決策方法基于主體分類和資源分類的細(xì)粒度授權(quán)決策方法,是一種簡(jiǎn)單、直觀和實(shí)用的細(xì)粒度授權(quán)決策方法。細(xì)粒度授權(quán)決策,為不同請(qǐng)求主體設(shè)置不同資源操作權(quán)限。對(duì)給定主體、給定資源,系統(tǒng)能夠通過計(jì)算,做出決策,允許或者拒絕該請(qǐng)求。本方法為每個(gè)操作設(shè)定一條或者多條授權(quán)決策策略。如果有多條策略,策略按照優(yōu)先級(jí)排序。授權(quán)決策策略包括1.主體分類,描述什么樣的主體;2.資源分類,描述什么樣的資源;3.授權(quán)關(guān)系允許或拒絕;4.拒絕理由。本方法工作原理是當(dāng)某個(gè)主體請(qǐng)求對(duì)某個(gè)資源進(jìn)行操作時(shí)1.按照優(yōu)先級(jí)順序列出為本操作設(shè)置的授權(quán)決策策略,依次評(píng)估授權(quán)決策策略;2.評(píng)估當(dāng)前授權(quán)決策策略,如果請(qǐng)求主體滿足該策略的主體分類規(guī)則,且請(qǐng)求資源滿足該策略的資源分類規(guī)則,則該策略得出決策結(jié)果;否則該策略視為不能得出決策結(jié)果;3.如果決策結(jié)果是允許,直接返回允許,不再評(píng)估下一條策略;如果決策結(jié)果是拒絕,直接返回拒絕,返回的拒絕理由就是當(dāng)前策略的拒絕理由,也不再評(píng)估下一條策略;如果沒有得出決策結(jié)果,返回到步驟2評(píng)估下一條策略,直到?jīng)]有策略可供評(píng)估為止;4.如果所有策略評(píng)估完畢,都不能得出決策結(jié)果,將拒絕做為決策結(jié)果,并評(píng)估出拒絕理由,然后返回拒絕理由。評(píng)估拒絕理由由以下步驟組成a)按照優(yōu)先級(jí)順序列出為本操作設(shè)置的授權(quán)決策策略,依次評(píng)估授權(quán)決策策略;b)評(píng)估當(dāng)前授權(quán)決策策略,如果請(qǐng)求主體滿足該策略的主體分類規(guī)則,則選中該策略的拒絕理由;C)返回到步驟b評(píng)估下一條策略,直到?jīng)]有策略可供評(píng)估為止;d)返回的拒絕理由就是所有選中的拒絕理由,返回的拒絕理由可能是0條、l條或者多條。下面舉例說明本方法的有效性。細(xì)粒度授權(quán)決策方法實(shí)施例1:某銀行管理系統(tǒng),維護(hù)機(jī)構(gòu)操作。細(xì)粒度權(quán)限控制要求是1.總行用戶,可以維護(hù)所有分行機(jī)構(gòu),但不能維護(hù)分行下屬支行機(jī)構(gòu);2.分行用戶,可以維護(hù)本分行下屬支行機(jī)構(gòu),不能維護(hù)其他任意機(jī)構(gòu),比如其他分行下屬支行,本分行機(jī)構(gòu)等。運(yùn)用本細(xì)3險(xiǎn)度授權(quán)決策方法,為維護(hù)機(jī)構(gòu)操作,設(shè)置如下授權(quán)決策策略優(yōu)先級(jí)主體分類資源分類授權(quán)關(guān)系拒絕理由1總行用戶分行機(jī)構(gòu)允許總行用戶只能維護(hù)分行機(jī)構(gòu)2分行用戶本分行下屬支行允許分行用戶只能維護(hù)本分行下屬支行備注:91.總行用戶(主體分類),規(guī)則是請(qǐng)求主體的機(jī)構(gòu)等于總行機(jī)構(gòu);2.分行用戶(主體分類),規(guī)則是請(qǐng)求主體的機(jī)構(gòu)屬于機(jī)構(gòu)表中的査詢出來的分行機(jī)構(gòu)住入朱口;3.分行機(jī)構(gòu)(資源分類),規(guī)則是請(qǐng)求資源的父機(jī)構(gòu)等于總行機(jī)構(gòu);4.本分行下屬支行(資源分類),規(guī)則是請(qǐng)求資源的父機(jī)構(gòu)等于請(qǐng)求主體的機(jī)構(gòu),且請(qǐng)求主體的機(jī)構(gòu)是分行機(jī)構(gòu)。下面考察如下輸入,決策結(jié)果如何:<table>tableseeoriginaldocumentpage10</column></row><table>細(xì)粒度授權(quán)決策方法實(shí)施例2:某企業(yè)客戶關(guān)系系統(tǒng),維護(hù)客戶操作。細(xì)粒度權(quán)限控制要求是:1.普通銷售人員,維護(hù)自己開發(fā)的客戶;2.銷售部部門經(jīng)理,維護(hù)所有客戶;3.被公司管理員列入黑名單的用戶,不能維護(hù)任何客戶。運(yùn)用本細(xì)3險(xiǎn)度授權(quán)決策方法,為維護(hù)客戶操作,設(shè)置如下授權(quán)決策策略<table>tableseeoriginaldocumentpage10</column></row><table>備注1.黑名單用戶(主體分類),規(guī)則是請(qǐng)求主體的ID屬性屬于黑名單表中査詢出來的ID隹么朱口;2.普通銷售人員(主體分類),規(guī)則是請(qǐng)求主體的機(jī)構(gòu)屬性是"銷售部",且請(qǐng)求主體的部門經(jīng)理屬性等于"否";3.銷售部部門經(jīng)理(主體分類),規(guī)則是請(qǐng)求主體的機(jī)構(gòu)屬性是"銷售部",且請(qǐng)求主體的部門經(jīng)理屬性等于"是";4.所有客戶(資源分類),規(guī)則是不做任何判斷直接返回true;5.自己開發(fā)的客戶(資源分類),規(guī)則是請(qǐng)求資源的客戶代表ID屬性等于請(qǐng)求主體的ID屬性。下面考察如下輸入,決策結(jié)果如何:<table>tableseeoriginaldocumentpage11</column></row><table>基于主體分類和資源分類的細(xì)粒度授權(quán)決策方法,主要特征是1.基于主體分類方法和資源分類方法,直接描述出什么樣的主體對(duì)什么樣的資源,具有怎樣的操作權(quán)限;2.提供了一種較XACML更直觀、更實(shí)用、更簡(jiǎn)便的細(xì)粒度控制方法;3.主體分類、資源分類是業(yè)務(wù)域概念,因此主體分類、資源分類定義可以在授權(quán)決策策略中復(fù)用,提高了管理效率。5.5.細(xì)粒度授權(quán)查詢方法細(xì)粒度授權(quán)決策方法,判斷請(qǐng)求主體是否對(duì)請(qǐng)求資源具有操作權(quán)限,但不能告訴請(qǐng)求主體具有權(quán)限操作的資源有哪些。細(xì)粒度授權(quán)査詢方法,是用來查詢出請(qǐng)求主體對(duì)哪些資源具有操作權(quán)限?;谥黧w分類和數(shù)據(jù)査詢的細(xì)粒度授權(quán)查詢方法,為不同請(qǐng)求主體設(shè)置數(shù)據(jù)査詢器。數(shù)據(jù)査詢器,可由本文5.3所描述的數(shù)據(jù)査詢方法實(shí)現(xiàn)。對(duì)給定主體,系統(tǒng)能夠通過計(jì)算,選擇匹配的查詢器,進(jìn)行資源査詢。其查詢結(jié)果即請(qǐng)求主體具有權(quán)限操作的資源集合。本方法為每個(gè)操作設(shè)定一條或者多條授權(quán)査詢策略。如果有多條策略,策略按照優(yōu)先級(jí)排序。授權(quán)査詢策略包括1.主體分類,描述什么樣的主體;2.數(shù)據(jù)査詢器,描述查詢哪些資源。本方法工作原理是當(dāng)某個(gè)主體請(qǐng)求查詢操作時(shí):1.按照優(yōu)先級(jí)順序列出為本操作設(shè)置的授權(quán)査詢策略,依次評(píng)估授權(quán)査詢策略;2.評(píng)估當(dāng)前授權(quán)査詢策略,如果請(qǐng)求主體滿足該策略的主體分類規(guī)則,執(zhí)行該策略的查詢模板得到査詢結(jié)果;3.如果當(dāng)前授權(quán)査詢策略評(píng)估,得出査詢結(jié)果,那么不必評(píng)估下一條策略;否則視為不能得出査詢結(jié)果,發(fā)揮到步驟2評(píng)估下一條策略,直到?jīng)]有策略可供評(píng)估為止;4.如果所有策略評(píng)估完畢,都不能得出查詢結(jié)果,返回空集合,即該請(qǐng)求主體沒有查詢數(shù)據(jù)權(quán)限。下面舉例說明本方法的有效性。細(xì)粒度授權(quán)查詢方法實(shí)施例1:某銀行管理系統(tǒng),查詢機(jī)構(gòu)操作。細(xì)粒度權(quán)限控制要求是1.總行用戶,可以査詢所有機(jī)構(gòu);2.分行用戶,可以査詢本分行機(jī)構(gòu)及本分行下屬支行機(jī)構(gòu)。運(yùn)用本細(xì)3險(xiǎn)度授權(quán)決策方法,為查詢機(jī)構(gòu)操作,設(shè)置如下授權(quán)査詢策略優(yōu)先級(jí)主體分類數(shù)據(jù)查詢器1總行用戶査詢機(jī)構(gòu)表所有數(shù)據(jù)2分行用戶査詢機(jī)構(gòu)表本分行及本分行下屬支行數(shù)據(jù)備注1.總行用戶(主體分類),規(guī)則是請(qǐng)求主體的機(jī)構(gòu)等于總行機(jī)構(gòu);2.分行用戶(主體分類),規(guī)則是請(qǐng)求主體的機(jī)構(gòu)屬于機(jī)構(gòu)表中的査詢出來的分行機(jī)構(gòu)朱口;3.査詢機(jī)構(gòu)表所有數(shù)據(jù)(數(shù)據(jù)査詢器),規(guī)則是查詢機(jī)構(gòu)表所有數(shù)據(jù);4.査詢機(jī)構(gòu)表本分行及本分行下屬支行數(shù)據(jù)(數(shù)據(jù)查詢器),規(guī)則是査詢機(jī)構(gòu)表數(shù)據(jù),查詢條件是機(jī)構(gòu)號(hào)等于請(qǐng)求主體機(jī)構(gòu)號(hào),或者父機(jī)構(gòu)號(hào)等于請(qǐng)求主體機(jī)構(gòu)號(hào)。下面考察如下輸入,査詢結(jié)果如何:輸入查詢結(jié)果說明請(qǐng)求主體總行用戶張三機(jī)構(gòu)表所有機(jī)構(gòu)數(shù)據(jù)請(qǐng)求主體滿足優(yōu)先級(jí)1的授權(quán)查詢策略的主體分類,執(zhí)行該規(guī)則的數(shù)據(jù)査詢器,返回機(jī)構(gòu)表所有數(shù)據(jù)請(qǐng)求主體北京分行用戶李四北京分行及北京分行下屬支行數(shù)據(jù)請(qǐng)求主體滿足優(yōu)先級(jí)2的授權(quán)査詢策略的主體分類,執(zhí)行該規(guī)則的數(shù)據(jù)查詢器,返回北京分行及北京分行下屬支行數(shù)據(jù)請(qǐng)求主體上海分行用戶王上海分行及上海分行下屬支請(qǐng)求主體滿足優(yōu)先級(jí)2的授12<table>tableseeoriginaldocumentpage13</column></row><table>備注:1.黑名單用戶(主體分類),規(guī)則是請(qǐng)求主體的ID屬性屬于黑名單表中査詢出來的ID魚厶.來□;2.普通銷售人員(主體分類),規(guī)則是請(qǐng)求主體的機(jī)構(gòu)屬性是"銷售部",且請(qǐng)求主體的部門經(jīng)理屬性等于"否";3.銷售部部門經(jīng)理(主體分類),規(guī)則是請(qǐng)求主體的機(jī)構(gòu)屬性是"銷售部",且請(qǐng)求主體的部門經(jīng)理屬性等于"是";4.不査詢?nèi)魏慰蛻?數(shù)據(jù)査詢器),規(guī)則是査詢客戶表,查詢條件是1=2。即査詢結(jié)果總是空。5.查詢客戶表銷售人員開發(fā)的客戶(數(shù)據(jù)査詢器),規(guī)則是査詢客戶表,査詢條件是客戶代表ID等于請(qǐng)求主體ID屬性;6.査詢客戶表所有客戶(數(shù)據(jù)查詢器),規(guī)則是査詢客戶表所有數(shù)據(jù)。下面考察如下輸入,査詢結(jié)果如何:<table>tableseeoriginaldocumentpage13</column></row><table><table>tableseeoriginaldocumentpage14</column></row><table>基于主體分類和數(shù)據(jù)査詢的細(xì)粒度授權(quán)査詢方法,主要特征是1.基于主體分類方法和數(shù)據(jù)査詢方法,直接描述出什么樣的主體對(duì)哪些資源具有査詢權(quán)限;2.解決了XACML等以往權(quán)限管理領(lǐng)域未涉及到的領(lǐng)域;3.主體分類、數(shù)據(jù)查詢器是業(yè)務(wù)域概念,因此主體分類、數(shù)據(jù)查詢器定義可以在授權(quán)査詢策略中復(fù)用,提高了管理效率。權(quán)利要求1.一種主體分類方法,其特征是將給定主體做為輸入?yún)?shù),通過運(yùn)算主體分類的分類規(guī)則,判斷該主體是否屬于該分類,而不用事先顯式地對(duì)主體進(jìn)行分類,主要由以下步驟組成a)創(chuàng)建主體分類,定義分類規(guī)則;b)將給定主體做為輸入?yún)?shù),運(yùn)算主體分類的分類規(guī)則;c)得出布爾值的運(yùn)算結(jié)果,該布爾值表示該主體是否屬于該主體分類。2.根據(jù)權(quán)利要求1所述的主體分類方法,其特征是所述分類規(guī)則由表達(dá)式或者表達(dá)式組組成,并返回所述布爾值。3.根據(jù)權(quán)利要求2所述的主體分類方法,其特征是所述表達(dá)式可以對(duì)主體、主體屬性、上下文、數(shù)據(jù)源進(jìn)行運(yùn)算。4.一種資源分類方法,其特征將給定資源和請(qǐng)求該資源的請(qǐng)求主體做為輸入?yún)?shù),通過運(yùn)算資源分類的分類規(guī)則,判斷該資源是否屬于該分類,而不用事先顯式地對(duì)資源進(jìn)行分類,主要由以下步驟組成a)創(chuàng)建資源分類,定義分類規(guī)則;b)將給定資源和請(qǐng)求該資源的請(qǐng)求主體做為輸入?yún)?shù),運(yùn)算資源分類的分類規(guī)則;C)得出布爾值的運(yùn)算結(jié)果,該布爾值表示該資源是否屬于該資源分類。5.根據(jù)權(quán)利要求4所述的資源分類方法,其特征是所述分類規(guī)則由表達(dá)式或者表達(dá)式組組成,并返回布爾值。6.根據(jù)權(quán)利要求5所述的資源分類方法,其特征是所述表達(dá)式可以對(duì)資源、資源屬性、主體、'主體屬性、上下文、數(shù)據(jù)源進(jìn)行運(yùn)算。7.根據(jù)權(quán)利要求4所述的資源分類方法,其特征是所述請(qǐng)求該資源的請(qǐng)求主體,是可選輸入?yún)?shù)。8.—種基于主體分類和資源分類的細(xì)粒度授權(quán)決策方法,主要由以下步驟組成-a)創(chuàng)建一個(gè)或者多個(gè)主體分類,為每個(gè)主體分類定義分類規(guī)則;b)創(chuàng)建一個(gè)或者多個(gè)資源分類,為每個(gè)資源分類定義分類規(guī)則;c)創(chuàng)建授權(quán)決策策略,該策略包括主體分類、資源分類、授權(quán)關(guān)系、拒絕理由4個(gè)要素;d)對(duì)給定操作設(shè)置一條授權(quán)決策策略或者一組授權(quán)決策策略,如果是一組策略,對(duì)策略設(shè)置優(yōu)先級(jí)順序;e)當(dāng)某主體請(qǐng)求對(duì)某資源進(jìn)行操作時(shí),選取該操作對(duì)應(yīng)的授權(quán)決策策略或者一組授權(quán)決策策略進(jìn)行評(píng)估,得出決策結(jié)果,根據(jù)決策結(jié)果,允許或者拒絕請(qǐng)求,如果拒絕請(qǐng)求,并返回拒絕理由。9.根據(jù)權(quán)利要求8所述的細(xì)粒度授權(quán)決策方法,其特征是所述評(píng)估授權(quán)決策策略由以下步驟組成a)按照優(yōu)先級(jí)順序列出為本操作設(shè)置的授權(quán)決策策略,依次評(píng)估授權(quán)決策策略;b)評(píng)估當(dāng)前授權(quán)決策策略,如果請(qǐng)求主體滿足該策略的主體分類規(guī)則,且請(qǐng)求資源滿足該策略的資源分類規(guī)則,則該策略得出決策結(jié)果;否則該策略視為不能得出決策結(jié)果;c)如果決策結(jié)果是允許,直接返回允許,不再評(píng)估下一條策略;如果決策結(jié)果是拒絕,直接返回拒絕,返回的拒絕理由就是當(dāng)前策略的拒絕理由,也不再評(píng)估下一條策略;如果沒有得出決策結(jié)果,返回到步驟b評(píng)估下一條策略,直到?jīng)]有策略可供評(píng)估為止;d)如果所有策略評(píng)估完畢,都不能得出決策結(jié)果,將拒絕做為決策結(jié)果,并評(píng)估出拒絕理由,然后返回拒絕理由。10.根據(jù)權(quán)利要求9所述的細(xì)粒度授權(quán)決策方法,其特征是所述所有策略評(píng)估完畢,都不能得出決策結(jié)果時(shí),評(píng)估出返回拒絕理由由以下步驟組成a)按照優(yōu)先級(jí)順序列出為本操作設(shè)置的授權(quán)決策策略,依次評(píng)估授權(quán)決策策略;b)評(píng)估當(dāng)前授權(quán)決策策略,如果請(qǐng)求主體滿足該策略的主體分類規(guī)則,則選中該策略的拒絕理由;c)返回到步驟b評(píng)估下一條策略,直到?jīng)]有策略可供評(píng)估為止;d)返回的拒絕理由就是所有選中的拒絕理由,返回的拒絕理由可能是0條、l條或者多條。11.一種基于主體分類和數(shù)據(jù)査詢技術(shù)的細(xì)粒度授權(quán)査詢方法,主要由以下步驟組成a)創(chuàng)建一個(gè)或者多個(gè)主體分類,為每個(gè)主體分類定義分類規(guī)則;b)創(chuàng)建一個(gè)或者多個(gè)數(shù)據(jù)査詢模板;C)創(chuàng)建授權(quán)査詢策略,該策略包括主體分類、數(shù)據(jù)査詢模板2個(gè)要素;d)對(duì)給定查詢操作設(shè)置一個(gè)授權(quán)査詢策略或者一組授權(quán)査詢策略,如果是一組策略,對(duì)策略設(shè)置優(yōu)先級(jí)次序;e)當(dāng)某主體請(qǐng)求執(zhí)行某査詢操作時(shí),選取該操作對(duì)應(yīng)的授權(quán)査詢策略或者一組授權(quán)査詢策略進(jìn)行評(píng)估,獲得査詢結(jié)果,返回査詢結(jié)果。12.根據(jù)權(quán)利要求11所述的細(xì)粒度授權(quán)查詢方法,其特征是所述的授權(quán)査詢策略評(píng)估由以下步驟組成'a)按照優(yōu)先級(jí)順序列出為本操作設(shè)置的授權(quán)査詢策略,依次評(píng)估授權(quán)查詢策略;b)評(píng)估當(dāng)前授權(quán)查詢策略,如果請(qǐng)求主體滿足該策略的主體分類規(guī)則,執(zhí)行該策略的査詢模板得到查詢結(jié)果;C)如果當(dāng)前授權(quán)査詢策略評(píng)估,得出査詢結(jié)果,那么不必評(píng)估下一條策略;否則視為不能得出査詢結(jié)果,發(fā)揮到步驟b評(píng)估下一條策略,直到?jīng)]有策略可供評(píng)估為止;d)如果所有策略評(píng)估完畢,都不能得出査詢結(jié)果,返回空集合,即該請(qǐng)求主體沒有査詢數(shù)據(jù)權(quán)限。全文摘要本發(fā)明公開了一種動(dòng)態(tài)智能的主體、資源分類方法,以及基于分類方法的細(xì)粒度權(quán)限管理方法。主體分類方法,是一種動(dòng)態(tài)、智能分類方法,是通過對(duì)主體、主體屬性、上下文、數(shù)據(jù)源進(jìn)行各種運(yùn)算來實(shí)現(xiàn)的。對(duì)于給定主體,只要運(yùn)算規(guī)則,就可判斷主體是否屬于該分類。資源分類方法和主體分類方法非常類似,資源分類方法還可以對(duì)資源、資源屬性進(jìn)行運(yùn)算。細(xì)粒度授權(quán)決策方法和細(xì)粒度授權(quán)查詢方法,都運(yùn)用于權(quán)限管理領(lǐng)域。細(xì)粒度授權(quán)決策方法,基于主體分類、資源分類,定義授權(quán)決策策略。當(dāng)某主體請(qǐng)求對(duì)某資源進(jìn)行操作時(shí),評(píng)估策略,允許或者拒絕請(qǐng)求。如果拒絕請(qǐng)求,并返回拒絕理由。細(xì)粒度授權(quán)查詢方法,基于主體分類、數(shù)據(jù)查詢模板,定義授權(quán)查詢策略。當(dāng)某主體請(qǐng)求進(jìn)行某查詢時(shí),評(píng)估策略,返回查詢結(jié)果。這種基于分類的授權(quán)策略,具有簡(jiǎn)單、復(fù)用性強(qiáng)和易于實(shí)施等特點(diǎn)。文檔編號(hào)G06F21/00GK101493872SQ20091000863公開日2009年7月29日申請(qǐng)日期2009年2月9日優(yōu)先權(quán)日2009年2月9日發(fā)明者汪金保,磊王申請(qǐng)人:汪金保;王磊