策略管理设备、策略管理系统和用于策略管理的方法和程序的制作方法

文档序号:6348278阅读:162来源:国知局
专利名称:策略管理设备、策略管理系统和用于策略管理的方法和程序的制作方法
技术领域
本发明涉及一种策略管理设备、策略管理系统和用于策略管理的方法和程序,具体地,涉及一种策略管理设备、策略管理系统和用于策略管理的方法和程序,能够对具有部分排序结构的策略描述进行总体排序,以产生策略列表或将策略转换为访问控制规则。
背景技术
随着近年来一致性意识的增长,许多公司在其自身的工作系统中提供完全的访问控制。从如Unix(商标)文件系统之类的OS访问机制中可以看到,典型的访问控制规则由 3项信息的组合来描述,这些信息包括“主体”如使用工作系统的雇员;“对象”,如工作系统提供的文件;以及“动作”,如读/写,为用于访问对象的方法,该访问控制规则应用于访问控制机制。存在以下问题,随着雇员和工作文件的数目增加,管理者描述和管理访问控制规则的负担也增加。众所周知,基于角色的访问控制系统(RBAC)是上述问题的解决方案之一。RBAC访问控制规则描述了由雇员的“角色”构成的集合,如部门和职责,并将对象/动作描述为所许可的对角色的访问权。由于可以通过以角色为单位来描述规则而不是以主体为单位来描述规则以进一步防止规则的增加,因此管理者的负担减轻。为了避免混乱,将由“主体”、“对象”和“动作” 构成的访问控制规则称为ACL(访问控制列表),而将RBAC访问控制规则称为“RBAC策略” 或简称策略。为了将RBAC策略集合应用于访问机制,需要将策略集合转换为单一 ACL描述。由于在传统RBAC系统中仅描述肯定策略,即针对预定角色“所许可的访问权”,因此可以通过仅仅计算具有和每个策略相关联的角色的主体集合S与对象/动作的集合OA的直接乘积 SXOA并以任意描述顺序将其链接,可以将RBAC策略转换为单一 ACL。然而,在策略管理的工作中,可以想要一起描述否定策略,即针对预定角色的“所禁止的访问权”。例如,可能期望描述针对较大主体集合的肯定策略(如“会计部门的人可以访问公共服务器上的会计文件(策略1)”),还描述针对较小主体集合的否定策略(如“兼为另一部门的人不能访问会计文件(策略幻”)作为例外策略。转换至单一 ACL仅仅标识了根据同时包括肯定策略和否定策略的策略集合要许可或拒绝的主体、对象和动作的组合。专利文献1描述了一种对策略集合进行分层,并基于层级结构来决定要许可或拒绝的主体、对象和动作的组合。相关文献专利文献[专利文献1]日本专利申请未审公开No.2006-155104(第0071段)

发明内容
为了将同时包括肯定策略和否定策略的策略集合正确转换为单一 ACL,需要根据主体集合之间的包含关系,针对策略集合中的每个元素确定ACL描述顺序。例如,为了将策略集合转换为单一 ACL,如果从策略1导出的ACL描述不是链接在从策略2导出的ACL描述之后,则不能正确反映策略之间的原则/例外关系。如果从策略 1导出的ACL描述链接在前,则访问控制机制将根据从策略1导出的ACL描述,许可兼为会计部门的人访问会计文件。用于本发明的术语定义如下。[策略包含关系的定义]假定存在两个策略pi和p2,与其相对应的主体集合分别为Sl和S2。当且仅当 81[82,定义?1包含?2。包含关系写作pl<p2。[策略集合的总体顺序的定义]当给定策略集合P= {pl,p2,…,pN}时,满足以下性质的P中元素的序列O称为总体顺序。·(性质)“如果对于任意P中的元素pi和pj,满足pi <pj,则在O中pi必定出现在Pj之前。”单一 ACL的正确描述顺序与以上定义的策略集合的总体顺序相对应。换言之, 假定与满足Pi < Pj的策略Pi和Pj相对应的ACL描述分别为A(pi)和A(pj),则通过以 A (pi IA (pj))的顺序来链接ACL描述,从而获得单一 ACL。例如,如果假定针对任意P = {pi, p2,p3,04,p5},与相应策略相对应的主体集合 Si、S2、S3、S4、S5具有图18所示的包含关系。P中包含的策略包含关系为pi > p2,pi > p3,pi > p4,pi > p5,p2 > p4,p2 > p5,p3 > p4,满足顺序(部分顺序)的总体顺序σ 为 <pl, ρ2, ρ3,ρ4,ρ5> 或 <pl, ρ2, ρ3,ρ5,ρ4>。然而,针对RBAC策略管理系统,未公开基于与策略相对应的主体集合之间的包含关系来找到策略集合的总体顺序的具体方法,因此,不能将包括肯定策略和否定策略的策略集合的ACL描述顺序呈现给策略管理者或者正确转换为单一 ACL。例如,对于在专利文献1中描绘的方法,描述了基于对象集合的层级(控制路径) 来分析目标资源重叠的访问控制设置是否矛盾,当检测到矛盾时,根据给定矛盾解决规则 (访问效果值是否等于或大于预定访问效果值)来校正矛盾的访问控制设置中的任一个。然而,专利文献1中描述的方法未考虑以下事实根据主体集合之间的包含关系, 在策略之间出现原则/例外关系。例如,如果由于先前注册的例外而检测到矛盾,即使在正确应用顺序中不出现矛盾,也可以将策略管理者设置的策略检测为违规。因此,本发明的目的是提供一种策略管理系统、策略管理方法和策略管理程序,能够将同时包括肯定策略和否定策略的策略集合正确转换为单一访问控制规则。根据本发明的策略管理设备包括角色信息存储单元,存储包括指示策略所要应用的主体集合的信息在内的角色信息以及能够指定角色信息中包含的主体集合之间的包含关系的信息;策略描述存储单元,存储策略描述,所述策略描述包括指示策略的信息以及用于标识策略所要应用于的主体集合的信息;策略分层单元,针对策略描述存储单元中存储的两个或更多策略,产生策略层级,在所述策略层级中,通过假定每个策略是一节点,基于每个策略所要应用的主体集合之间的包含关系,对两个或更多策略进行分层;以及策略排序单元,基于指示由策略分层单元所产生的策略层级的信息,对由要进行总体排序的两个或更多策略构成的策略集合进行总体排序,同时维持层级中的高/低关系。根据本发明的策略管理系统包括角色存储设备,包括角色信息存储单元,存储包括指示策略所要应用的主体集合的信息在内的角色信息以及能够指定角色信息中包含的主体集合之间的包含关系的信息;策略描述存储设备,包括策略描述存储单元,存储策略描述,所述策略描述包括指示策略的信息以及用于标识策略所要应用的主体集合的信息;策略总体排序设备,包括策略分层单元,针对策略描述存储单元中存储的两个或更多策略,产生策略层级,所述策略层级包括通过假定每个策略是一节点,基于每个策略所应用的主体集合之间的包含关系,由应用于不处于包含关系中的主体集合的策略构成的层;以及策略排序单元,基于指示由策略分层单元所产生的策略层级的信息,对由要进行总体排序的两个或更多策略构成的策略集合进行总体排序,同时维持不同层中的策略之间的层级关系。根据本发明的策略排序方法,用于能够指定主体集合之间的包含关系的给定主体集合以及指示所要应用的主体集合的策略集合,针对策略集合中包含的两个或更多策略, 所述方法包括策略分层步骤,产生策略层级,所述策略层级包括通过假定每个策略是一节点,基于每个策略所应用的主体集合之间的包含关系,由应用于不处于包含关系中的主体集合的策略构成的层;以及策略排序步骤,基于指示策略分层步骤中产生的策略层级的信息,对由要进行总体排序的两个或更多策略构成的策略集合进行总体排序,同时维持不同层中的策略之间的层级关系。根据本发明的策略列表显示方法,用于能够指定主体集合之间的包含关系的给定主体集合以及指示所要应用的主体集合的策略集合,针对策略集合中包含的两个或更多策略,所述方法包括策略分层步骤,产生策略层级,所述策略层级包括通过假定每个策略是一节点,基于每个策略所应用的主体集合之间的包含关系,由应用于不处于包含关系中的主体集合的策略构成的层;策略排序步骤,基于指示策略分层步骤中产生的策略层级的信息,对由要进行总体排序的两个或更多策略构成的策略集合进行总体排序,同时维持不同层中的策略之间的层级关系;以及列表显示步骤,根据策略排序步骤中决定为总体顺序的策略顺序来布置要进行总体排序的策略集合中的元素,并列出所述元素。根据本发明的ACL产生方法,用于能够指定主体集合之间的包含关系的给定主体集合以及指示所要应用的主体集合的策略集合,针对策略集合中包含的两个或更多策略, 所述方法包括策略分层步骤,产生策略层级,所述策略层级包括通过假定每个策略是一节点,基于每个策略所应用的主体集合之间的包含关系,由应用于不处于包含关系中的主体集合的策略构成的层;策略排序步骤,基于指示策略分层步骤中产生的策略层级的信息,对由要进行总体排序的两个或更多策略构成的策略集合进行总体排序,同时维持不同层中的策略之间的层级关系;以及ACL产生步骤,根据策略排序步骤中决定为总体顺序的策略顺序,将要进行总体排序的策略集合中包含的每个策略描述转换为ACL描述。根据本发明的策略排序程序,用于能够指定主体集合之间的包含关系的给定主体集合以及指示所要应用的主体集合的策略集合,使计算机执行策略分层处理,针对策略集合中包含的两个或更多策略,产生策略层级,所述策略层级包括通过假定每个策略是一节点,基于每个策略所应用的主体集合之间的包含关系,由应用于不处于包含关系中的主体
7集合的策略构成的层;以及策略排序处理,基于指示策略分层处理中产生的策略层级的信息,对由要进行总体排序的两个或更多策略构成的策略集合进行总体排序,同时维持不同层中的策略之间的层级关系。根据本发明的策略列表显示程序,用于能够指定主体集合之间的包含关系的给定主体集合以及指示所要应用的主体集合的策略集合,使计算机执行策略分层处理,针对策略集合中包含的两个或更多策略,产生策略层级,所述策略层级包括通过假定每个策略是一节点,基于每个策略所应用的主体集合之间的包含关系,由应用于不处于包含关系中的主体集合的策略构成的层;策略排序处理,基于指示策略分层处理中产生的策略层级的信息,对由要进行总体排序的两个或更多策略构成的策略集合进行总体排序,同时维持不同层中的策略之间的层级关系;以及列表显示处理,根据策略排序处理中决定为总体顺序的策略顺序来布置要进行总体排序的策略集合中的元素,并列出所述元素。根据本发明的ACL产生程序,用于能够指定主体集合之间的包含关系的给定主体集合以及指示所要应用的主体集合的策略集合,使计算机执行策略分层处理,针对策略集合中包含的两个或更多策略,产生策略层级,所述策略层级包括通过假定每个策略是一节点,基于每个策略所应用的主体集合之间的包含关系,由应用于不处于包含关系中的主体集合的策略构成的层;策略排序处理,基于指示策略分层处理中产生的策略层级的信息,对由要进行总体排序的两个或更多策略构成的策略集合进行总体排序,同时维持不同层中的策略之间的层级关系;以及ACL产生处理,根据策略排序步骤中决定为总体顺序的策略顺序,将要进行总体排序的策略集合中包含的每个策略描述转换为ACL描述。根据本发明,可以将同时包括肯定策略和否定策略的策略集合正确转换为单一访问控制规则。


图1是示出了根据第一实施例的策略管理系统的结构示例的框图。图2是示出了策略分层单元103中提供的示例主存储设备的解释图。图3是示出了示例策略层级的解释图。图4是示出了第一实施例的示例操作的流程图。图5是示出了示例策略层级的解释图。图6是示出了分段排序处理的示例处理流程的流程图。图7是示出了主体集合之间的包含关系的具体示例的解释图。图8是示出了策略DB 102中存储的策略描述的具体示例的解释图。图9是示出了策略层级的具体示例的解释图。图10是示出了根据第二实施例的策略管理系统的结构示例的框图。图11是示出了第二实施例的示例操作的流程图。图12是示出了根据第二实施例的策略DB 102的示例模式(策略DB模式)的解释图。图13是示出了转换为ACL描述的处理的示例处理流程的流程图。图14是示出了根据第三实施例的策略管理系统的结构示例的框图。图15是示出了第三实施例的示例操作的流程图。
图16是示出了根据第三实施例的策略DB 102的示例模式(策略DB模式)的解释图。图17是示出了显示策略顺序的示例列表屏幕的解释图。图18是示出了主体集合之间的示例包含关系的解释图。图19是示出了本发明的概述的框图。图20是示出了策略管理设备的另一结构示例作为本发明的概述的框图。
具体实施例方式1.第一实施例1. 1 结构以下参照附图来描述本发明的实施例。图1是示出了根据本发明第一实施例的策略管理系统的结构示例的框图。图1中所示的策略管理系统包括访问控制策略管理设备 1。访问控制策略管理设备1是具有中央处理单元(CPU) 100的计算机,并包括策略数据库 (DB) 102、角色DB 101、策略分层单元103和策略排序单元104。图1示出了访问控制策略管理设备1包括所有上述组件的示例,但是策略DB 102和角色DB 101可以作为通过网络连接的另一设备(数据库系统)来安装。策略DB 102存储策略描述。策略描述是包括以下内容的信息策略标识符(以下称为策略ID)、指定角色标识符(以下称为角色ID)、以及规定针对每个对象要许可或禁止的动作的一个或多个描述元素。策略DB 102响应于来自策略分层单元103的输入策略ID, 从存储的策略描述中输出对应的策略描述。角色DB 101存储指示主体(如与每个角色ID相关联的用户名)的集合的信息。 角色ID与主体集合相关联的信息以下可以称为角色信息。角色DB 101响应于来自策略分层单元103的输入角色ID,从存储的主体集合中输出对应的主体集合。除了角色信息之外,角色DB 101中存储的信息还可以包括能够指定每一项角色信息中包含的主体集合之间的包含关系的信息。例如,可以包括与每个主体集合的所属相关的信息(如,在总体应用范围中,主体集合属于哪个组)。策略分层单元103从策略DB 102中提取对应的策略描述,同时从内部提供的主存储设备1031 (见图幻中存储的策略ID列表1032中顺序提取策略ID。将所提取的策略描述中描述的角色ID输入至角色DB 101,以提取对应主体集合。通过假定策略ID是一节点,按照所提取的主体集合的包含关系,在策略ID节点之间产生添加由有向链接的策略层级数据,并将其输出至策略排序单元104。策略层级数据是描述如下定义的“策略层级”的信息。[策略层级的定义]当给定策略集合P = {pl,p2,…,pN}时,如果P中的每个元素是一节点并且任意元素Pi与Pj具有Pi < Pj的关系,则将添加有从pi指向Pj的有向链接的有向图称为策略层级。在与节点P相邻的节点的集合中,彼此未由有向链接连接的节点的集合称为层。例如,在策略集合的总体顺序的定义中示出的策略集合的示例中,获得图3所示的策略层级。通过对其执行分段排序,可以找到总体顺序。在本发明中,采用主体集合互相包括或被包括的关系作为排序规则,并将该排序规则应用于主体集合的集合,以列出每个策略。即使一些元素不互相包括或被包括,也引入策略层级的概念以列出策略,从而不违反原始规则。例如,当基于部门的访问权是RBAC策略时,针对要从底层向顶层应用的组织层级创建相同类型的策略层级,使得可以以正确顺序应用多个RBAC策略。这里,正确顺序是指基于“较低部分的策略必须先于较高部分的策略应用”的规则而定义的顺序。策略排序单元104输出策略ID串,策略ID串指示通过对策略分层单元103输出的策略层级数据执行分段排序而获得的策略应用顺序。在本实施例中,策略分层单元103和策略排序单元104可以由用于实现功能的程序和用于根据程序执行控制的CPU 100来实现。1. 2 操作以下描述本实施例的操作。图4是示出了根据本实施例的策略管理系统(更具体为访问控制策略管理设备1)的示例操作的流程图。在图4所示的示例中,策略分层单元103首先从头扫描包括N个策略ID的策略ID 列表1032,并提取第k个策略ID pidl·](步骤Al)。k的初始值为1。随后,将pid[k]输入至策略DB 102以获取对应策略描述pDO (步骤A2),将p[k] 中包括的角色ID rid[k]输入至角色DB 101以获取对应主体集合S [k](步骤A3)。此时, 将<pid[k], S[k]>的组合推入主存储设备1031的堆栈区域中(存储在LIFO系统中)。针对所有N个策略ID重复上述处理(步骤A4至A5)。当针对策略ID列表1032完成所有处理(k = N)时,策略分层单元103执行以下操作。堆栈区域存储 <pid[l],S[l]>, <pid[2],S[2]>,…,<pid[N], S[N]>(以下称为 <pid[l], S[l]> 至 <pid[N],S[N]>)。策略分层单元103利用针对<pid[l],S[l]>至<pid[N],S[N]>的输入中包含的S[l]至S[N]中的任意两个来产生所有组合KS[1], S[2]>, <S[1],S[3]>,…,<S[1], S [N] >,…,<S [N-l],S [N] >}(步骤A6),并针对每个组合重复以下描述的步骤A7至A12中的操作。首先,假定在步骤A7中涉及<S[i],S[j]>。策略分层单元103判断S[i]与 S[j]之间的包含关系(步骤A8)。策略分层单元103判断它们的关系是(i) S[i]^S[j],
(ii) S[j]和(iii)无包含关系中的哪一个,作为判断结果,并针对每一种情况操作
如下。可以通过例如参考角色DB 101中存储的与每个主体集合的属性相关的信息来判断主体集合之间的包含关系。在⑴S[i]QS[j]的情况下,分别产生与pid[i]和pid[j]相对应的节点n[i]和 n[j],以产生从n[i]指向n[j]的有向链接(步骤A9)。在(ii) S[j]的情况下,分别产生与pid[i]和pid[j]相对应的节点n[i] 和n[j],以产生从n[j]指向n[i]的有向链接(步骤A10)。在(iii)无包含关系的情况下,分别产生与pid[i]和pid[j]相对应的节点n[i] 和 n[j](步骤 A10)。通过上述操作,策略分层单元103产生指示如图5所示的策略层级的策略层级数据,并将所产生的策略层级数据输入至策略排序单元104。图5是示出了示例策略层级的解
10释图。图5示出了要处理pid[l]至pid[8]的示例,并示出了与高位节点相对应的策略是原则策略,与低位节点相对应的策略是例外策略。然后,策略排序单元104扫描输入的策略层级数据,执行分段排序以决定策略顺序,并输出指示所决定的策略顺序的策略ID串(步骤A13)。分段排序(phase sorting)是一种排序方法,将所有元素布置为一行,同时满足以下条件当给出排序规则和要列出的集合时,“在排序输出期间,对于按照a — b顺序布置的任意两个元素a、b,a — b至少不违反排序规则,即按照规则给出的顺序来布置或者按照规则不适用的组合来布置”。图6是示出了策略排序单元104的分段排序处理的示例处理流程的流程图。在图 6中所示的示例中,策略排序单元104首先扫描输入的策略层级数据以提取不具有输入链接的节点的集合N(步骤Bi)。然后,利用N中每个元素作为原点,根据深度优先搜索,对策略层级数据递归地执行以下步骤B2。在步骤B2中,当所涉及的节点满足以下条件时,将该节点加入预定堆栈。当满足该条件时,向所涉及的节点添加已访问标记。·(条件)节点不具有输出链接,或者,如果具有输出链接,所有链接的目的地节点添加有已访问标记。在从堆栈中逐一提取节点时,产生pid[k]的列表,作为与给予节点的编号k相对应的策略ID (步骤B3)。1. 3 效果在N中的元素(策略层级数据的相应节点)中,按照上述方式产生的列表中的策略ID以“深层一浅层”的顺序来布置。例如,当存在从节点n[j]指向n[i]的有向路径时, 即当n[j]存在于比n[i]更深的层时,pid[j]和pid[i]以该顺序出现在列表中。由于与
pid[i]和pid[j]相对应的主体集合肯定具有S[j]gS[i]的关系,可以获得以下效果策略层级数据产生方法在步骤A8至All中保持与pid[i]和pid[j]相对应的策略描述之间的包含关系。换言之,根据本实施例,可以基于具有部分顺序结构的主体集合之间的包含关系, 唯一获得策略集合的总体顺序。1. 4具体示例以下通过更多具体示例来描述本实施例的操作。首先,假定存储了 4个集合作为角色DB 101中存储的主体集合,这4个集合包括“所有雇员”、“会计部门”、“人事部门”、 “总务部门”和“同时在会计和人事部门的人”,图7中示出了相互包含关系。策略DB 102存储具有以下内容的策略描述,作为与4个主体集合分别对应的策略。 策略ID = pi <全公司策略 > 具有所有雇员角色的用户被许可访问全公司公共 Web服务器。 策略ID = p2 <会计部门策略 > 具有会计部门角色的用户被许可访问会计部门文件服务器。 策略ID = p3 <人事部门策略 > 具有人事部门角色的用户被许可访问人事部门群组web服务器。
策略ID = p4 <总务部门策略 > 具有总务部门角色的用户被许可访问总务部门文件服务器。 策略ID = p5 <会计/人事策略 > 具有会计/人事角色的用户被禁止访问会计部门文件服务器并被禁止访问人事部门群组web服务器。假定策略分层单元103的策略ID列表1032以“pl”、“p2”、“p3”、“p4”和“p5” 的顺序描述了上述策略ID。策略描述格式足以描述“角色”(如会计部门)和“资源”(如 Web服务器或文件服务器),但是在本示例中,使用图8所示的XACML (扩展访问控制标记语言)。图8是示出了策略DB 102中存储的示例策略描述的解释图。此夕卜,假定给出{keiri_ichiro, keiri_jiro, jinji_hanako, jinji_kyouko, soumu_taro}作为所有雇员的用户ID。“keiri_ichiro”和“keiri_jiro”属于会计部门, “ jinji_hanako”属于会计部门和人事部门(同时在会计/人事),“ jinji_ky0uk0”属于人事部门,“ soumujaro ”属于总务部门,他们分别与主体集合相关联。在步骤Al,策略分层单元103首先参考策略ID列表1032来提取策略ID = pl(pid[l] =pl) 0然后,在步骤A2,将pid[l] =pl输入至策略DB 102以提取“所有雇员策略”。在步骤A3,将“所有雇员角色”作为对应角色ID输入至角色DB 101,获取包括所有雇员的用户ID在内的主体集合,并将策略ID和主体集合的组合存储在堆栈区域中。在第一处理中,从策略ID列表1032中提取pid[l] =pl,以获取S[l] = {keiri_ ichiro, keiri_jiro, jinji_hanako, jinji_kyouko, soumu_taro}作为主体集合。然后,将 <pl, {keiri_ichiro, keiri_jiro, jinji_hanako, jinji_kyouko, soumu—taro} > 存伤者在堆栈区域中。对策略ID = p2至p5重复相同操作(步骤A4、A5)。在第二处理中,从策略ID列表1032中提取pid[2] =p2,以获取S[2] = {keiri_ ichiro, keiri_jiro}作为主体集合。然后,将 <p2, {keiri_ichiro, keiri_jiro} > 存储在堆栈区域中。在第三处理中,从策略ID列表1032中提取pid[3] =p3,以获取S[3] = {jinji_ hanako, jinji_kyouko}作为 本然后,Μ#<ρ3,{jinji_hanako, jinji—kyouko} > 存储在堆栈区域中。在第四处理中,从策略ID列表1032中提取pid[4] =p4,以获取S[4] = {soumu_ taro}作为主体集合。然后,将<p4,{soumujaro} >存储在堆栈区域中。在第五处理中,从策略ID列表1032中提取pid[5] =p5,以获取S[5] = {jinji_ hanako}作为主体集合。然后,将<p5,{jinjijmnako} >存储在堆栈区域中。在第五处理后完成重复操作之后,以下数据存储在策略分层单元103的堆栈区域中。<p5, {jinji_hanako}><p4, {soumu_taro} ><p3, {jinji_hanako, jinji_kyouko}><p2, {keiri_ichiro, keiri_jiro}><pl, {keiri_ichiro, keiri_jiro, jinji_hanako, jinji_kyouko, soumu_taro} >随后,策略分层单元103提取堆栈区域中存储的5个主体集合,产生主体集合的10
12种组合(步骤A6)。根据每种组合来产生策略层级数据。根据包含关系,策略层级数据产生方法具有3种方式,因此以下将描述各个方式的具体示例。⑴S[i]gS[j]的情况例如,在{keiri_ichiro, keiri_jiro}禾口 {keiri_ichiro, keiri_jiro, jinji_ hanako, jinji_kyouko, soumu_taro}的组合的情况下,由于与前一主体集合相对应的策略 ID为p2,与后一主体集合相对应的策略ID为pl,因此产生节点p2和节点pl,以给出从节点P2指向节点pl的有向链接(步骤A9)。(ii) S[j]gS[i]的情况例如,在{jinji_hanako,jinji_kyouko}和{jinji_hanako}的组合的情况下,由于与前一主体集合相对应的策略ID为p3,与后一主体集合相对应的策略ID为p5,因此产生节点P3和节点p5,以给出从节点p5指向节点p3的有向链接(步骤A10)。当在先前操作中已经产生节点p3时,不产生重叠的节点。(iii)无包含关系的情况例如,在{jinji_hanako,jinji_kyouko}和{soumu_taro}的组合的情况下,由于与前一主体集合相对应的策略ID为p3,与后一主体集合相对应的策略ID为p4,因此产生节点P3和节点p4,不给出其间的有向链接(步骤All)。当在先前操作中已经产生节点p3 时,不产生重叠的节点。策略分层单元103通过上述操作产生表示图9所示的策略层级的策略层级数据。 图9是示出了示例策略层级的解释图。在图9中所示的示例中,产生了与5个策略相对应的5个节点(节点pl、p2、p3、p4、p5),并给出6个链接作为有向链接(从节点p5指向节点 P2,从节点p5指向节点p3,从节点p4指向节点pl,从节点p3指向节点pl,从节点p2指向节点Pl)。策略排序单元104对策略层级数据执行分段排序,以决定策略顺序(步骤A13)。具体地,首先提取不具有输入链接的节点集合{节点p4,节点p5}(步骤Bi)。可以从这些节点中的任一个开始执行深度优先搜索,这里从节点P5开始。然后,以节点p5为原点,执行深度优先搜索,检测到满足上述条件的节点pl并存储在堆栈中(步骤B2)。向节点pl赋予已访问标记。由于递归执行搜索操作,因此策略排序单元104对节点p2和p3进行上述条件判断。假定涉及节点P2,节点p2的链接目的地仅为节点pl,并且已经向节点pl赋予已访问标记,从而节点P2满足上述条件。然后,将节点p2存储在堆栈中,并向其赋予以访问标记。 这也适用于节点P3。由于最终向从节点p5链接的所有节点pl、节点p2和节点p3赋予了已访问标记,也将节点P5存储在堆栈中,并向节点p5赋予已访问标记。此时,从起始处开始以节点P5、节点p3、节点p2和节点pl的顺序将节点存储在堆栈中。此后,以不具有输入链接的节点p4为原点,执行深度优先搜索。在这种情况下,由于从节点P4仅链接节点pl并且节点pl已被赋予已访问标记,策略排序单元104简单地将节点P4存储在堆栈中,向节点p4赋予已访问标记,并终止搜索处理。因此,从起始处开始以节点p4、节点p5、节点p3、节点p2和节点pl的顺序将节点存储在堆栈中。
通过从堆栈的起始处开始逐一涉及节点,策略排序单元104产生与所涉及的节点相对应的策略ID的列表(步骤B3)。换言之,产生具有按照顺序p4 — p5 — p3 — p2 — pi的布置的策略ID列表。这对应于按照策略层级数据中“深层至浅层”的顺序来布置策略ID的结果。2.第二实施例2.1 结构以下参照附图来描述本发明的第二实施例。图10是示出了根据第二实施例的策略管理系统的结构示例的框图。图10中所示的策略管理系统基于图1中所示的第一实施例,并具有访问控制策略管理设备1,访问控制策略管理设备1还包括ACL产生条件输入单元107和ACL产生单元108。ACL产生条件输入单元107具有如键盘设备或鼠标设备之类的用户输入设备, 并响应于针对策略转换范围的输入条件,以策略ID列表的形式将条件输入策略分层单元 103。从策略DB 102中提取转换范围中包括的策略描述的集合,并将其输入至ACL产生单元 108。ACL产生单元108具有辅助存储设备,并通过参考角色DB 101,按照从策略排序单元104输入的策略顺序,将从ACL产生条件输入单元107输入的策略描述分别顺序转换为 ACL描述,并将转换结果(ACL描述)存储在辅助存储设备中。在本实施例中,可以利用用户输入设备、用于实现接收和转换数据输入的功能的程序、以及用于根据程序来执行控制的CPU 100来实现ACL产生条件输入单元107。ACL产生单元108可以由用于实现其功能的程序以及用于根据程序来执行控制的CPU 100来实现。2. 2 操作图11是示出了根据本实施例的策略管理系统(更具体为访问控制策略管理设备 1)的示例操作的流程图。在图11所示的示例中,ACL产生条件输入单元107接收用户输入设备进行的策略分发条件(也称为ACL产生条件)的指令输入(步骤D1)。该条件至少包括策略产生范围。可以针对策略产生范围指示任何条件,只要其可以指定策略DB 102中存储的策略描述的集合,如“策略DB中存储的所有策略”、“过去未指示过ACL产生的策略”、或者“与指定角色集合相对应的策略”。然后,通过根据策略产生范围的输入条件来参考策略DB 102,ACL产生条件输入单元107标识满足条件的策略集合(步骤拟)。当根据策略DB模式(例如图12所示)将策略描述存储在策略DB 102中时,策略集合标识方法可以参考与产生范围条件相对应的 ACL产生标记栏或角色ID栏,来标识满足条件的策略ID。更具体地,可以通过以下SQL语句来产生视图。·存在/不存在ACL产生的示例SELECT策略ID FROM策略DB WHERE AL产生标记=0 (这里为指示不产生的值)。 角色ID的示例SELECT策略ID FROM策略DB WHERE角色ID=(指定角色ID[1]) OR角色ID=(指定角色ID [2]) OR…在按照这种方式提取策略集合作为能够存储在策略ID列表1032中的策略ID的集合时,ACL产生条件输入单元107将策略集合的列表(策略ID列表)拷贝(存储)至策略分层单元103的主存储设备1031。从策略DB 102中的策略ID列表中提取对应的策略描述的集合,并将其输入至ACL产生单元108。此后,与第一实施例的步骤Al至A13中的操作类似,策略分层单元103和策略排序单元104针对策略分层单元103的主存储设备1031中存储的策略的集合,产生策略顺序数据(步骤D3)。ACL产生单元108根据从策略排序单元104输入的策略顺序数据,将从ACL产生条件输入单元107输入的每个策略描述转换为ACL描述,并将其添加至辅助存储设备中的相同文件(步骤D4)。以下参照图13来更具体地描述将策略描述转换为ACL描述的方法。图13是示出了转换为ACL描述的处理的示例处理流程的流程图。在图13所示的示例中,ACL产生单元 108首先提取当前涉及的策略描述中包含的角色ID和对象/动作的组合的集合OA(步骤 El)。这里,对象是指要访问的文件或计算机,动作是指要对对象执行的操作(如从文件读取/向文件写入)。然后,将角色ID输入至角色DB 101以获取对应的主体集合S (步骤E2)。然后,计算主体集合S与对象/动作的组合OA的直接乘积S X OA (步骤E3)。例如,在S= {sato,suzuki,tanaka},OA = {(文件 1,只读),(文件 2,读-写)} 的情况下,获得以下六种(S,0,A)组合。(1) (sato,文件 1,只读)(2) (sato,文件2,读-写)(3) (suzuki,文件 1,只读)(4) (suzuki,文件2,读-写)(5) (tanaka,文件 1,只读)(6) (tanaka,文件2,读-写)最终,将(S,0,A)组合分别转换为ACL描述,并添加至辅助存储设备(步骤E4)。 可以使用任何ACL描述形式,只要能够标识S、0、A。例如,当使用以逗号定界方式列出每个元素的CSV(逗号,分离值)形式时,可以产生以下ACL描述。(1)8站0,文件1,只读(换行符)(2) sato,文件2,读-写(换行符)(3) suzuki,文件1,只读(换行符)(4) suzuki,文件2,读-写(换行符)(5) tanaka,文件1,只读(换行符)(6) tanaka,文件2,读-写(换行符)2. 3 效果如上所述,根据本实施例,可以将策略之间的例外/原则关系合适地转换为ACL描述(即有利于例外)。这是因为,策略分层单元103将例外策略布置在较深层,并产生策略层级数据,并且策略排序单元104从策略层级数据的较深层向较浅层对策略ID进行排序, 并基于该顺序来将数据转换为ACL描述。3.第三实施例3.1 结构
以下将参照附图来描述本发明的第三实施例。图14是示出了根据第三实施例的策略管理系统的结构示例的框图。图14中所示的策略管理系统基于图1中所示的第一实施例,访问控制策略管理设备1还包括策略显示条件输入单元105和策略列表显示单元106。策略显示条件输入单元105具有如键盘设备或鼠标设备之类的用户输入设备,并响应于针对策略显示范围和显示顺序的输入条件,将策略显示范围转换为策略ID列表,并将其输入至策略分层单元103。显示顺序输入至策略列表显示单元106。策略列表显示单元106具有如液晶显示设备(IXD)之类的显示设备,在从策略显示条件输入单元105接收到针对按照显示顺序显示的显示条件的输入时,按照从策略排序单元104输出的策略顺序,在显示设备上列出每个策略的信息(如策略ID)。在本实施例中,可以利用用户输入设备、用于实现接收和转换数据输入的功能的程序、以及用于根据程序来执行控制的CPU 100来实现策略显示条件输入单元105。策略列表显示单元106可以由用于实现其功能的程序、用于根据程序来执行控制的CPU 100、以及显示设备来实现。3. 2 操作图15是示出了根据本实施例的策略管理系统(更具体为访问控制策略管理设备 1)的示例操作的流程图。在图15所示的示例中,策略显示条件输入单元105从用户输入设备接收显示条件的指令输入。显示条件至少包括针对策略显示范围和显示顺序的条件。 对于策略显示范围,可以指定任何条件,只要其可以指定策略DB 102中存储的策略描述的集合,如“策略DB中存储的所有策略”、“更新日期和时间的时间段”、以及“策略创建管理者 ID”。对于显示顺序,除了“策略应用顺序”之外,还可以指定“策略名称字典顺序”或“策略更新日期和时间顺序”。接下来,通过根据针对策略显示范围的输入条件来参考策略DB102,策略显示条件输入单元105标识满足条件的策略集合(步骤C2)。对于策略集合标识方法,当根据例如图 16所示的策略DB模式将策略描述存储在策略DB 102中时,可以通过参考与显示范围条件相对应的更新日期和时间栏或者管理者ID栏来标识满足条件的策略ID。更具体地,可以利用以下SQL语句来产生视图。·更新日期和时间的示例=SELECT策略ID FROM策略DB WHERE (指定时间段起始点)<更新时间AND更新日期和时间< (指定时间段的结束点) 管理者ID的示例SELECT策略ID FROM策略DB WHERE管理者ID =(指定管理者ID)如果提取策略集合作为能够存储在策略ID列表1032中的策略ID的集合,则策略显示条件输入单元105将策略集合的列表(策略ID列表)拷贝(存储)至策略分层单元 103的主存储设备1031。将所接受的显示条件输入至策略列表显示单元106。此后,利用与根据第一实施例的步骤Al至A13中的操作类似的操作,策略分层单元103和策略排序单元104针对策略集合产生策略顺序数据(步骤Ο)。策略列表显示单元106根据所产生的策略顺序数据,在显示设备上显示策略ID或相关联策略名称,作为策略集合中的每个元素。策略列表显示单元106可以显示例如图17所示的列表屏幕。在图 17所示的示例中,按照策略ID指定顺序来显示列表。显示了单选框,用于选择“优先级顺序”、“名称顺序”和“创建日期和时间顺序”中的任一项作为显示顺序切换指令。
3. 3 效果如上所述,根据本实施例,按照策略顺序来显示列表,使得作为访问控制策略管理设备1的用户的策略管理者可以直观地识别应用策略的顺序,并且可以容易地找到策略之间的不一致性。例如,策略管理者可以仅仅通过确认比其所创建的策略更晚显示的策略 (即低优先级策略),来找到与其创建的策略不一致并且被实际应用的另一策略。以下描述本发明的概述。图19是示出本发明的概述的框图。根据本发明的策略管理设备10包括角色信息存储单元11、策略描述存储单元12、策略分层单元13和策略排序单元14。角色信息存储单元11(如角色DB 101)存储包括指示策略所要应用的主体集合的信息在内的角色信息、以及能够指定角色信息中包含的主体集合之间的包含关系的信息。策略描述存储单元12 (如策略DB 102)存储策略描述,包括指示策略的信息和用于标识策略所要应用的主体集合的信息。策略分层单元13 (如策略分层单元10 针对策略描述存储单元12中存储的两个或更多策略产生策略层级,所述策略层级包括通过假定每个策略是一节点,基于每个策略所应用的主体集合之间的包含关系,由应用于不处于包含关系中的主体集合的策略构成的层。例如,策略分层单元13可以通过产生策略层级数据来产生策略层级,策略层级数据具有按照主体集合之间的包含关系,在策略节点之间添加的有向链接。策略排序单元14 (如策略排序单元104)基于指示由策略分层单元13所产生的策略层级的信息,对由要进行总体排序的两个或更多策略构成的策略集合进行总体排序,同时维持不同层中的策略之间的层级关系。策略排序单元14可以通过以节点集合中不具有输入链接的每个元素为原点,根据深度优先搜索来对策略层级数据执行分段排序,来对要进行总体排序的策略集合进行总体排序。利用该结构,可以根据主体集合之间的包含关系来导出策略之间的包含关系,可以基于所导出的策略之间的包含关系来唯一确定策略集合的总体顺序,使得可以将同时包括肯定策略和否定策略的策略集合正确地转换为单一访问控制规则。图20是示出了策略管理设备的另一结构示例作为本发明的概述的框图。例如,如图20所示,根据本发明的策略管理设备1还可以包括策略列表显示单元15。策略列表显示单元15 (如策略列表显示单元106)根据策略排序单元14决定为总体顺序的策略顺序来布置要进行总体排序的策略集合中的元素,并列出所述元素。利用该结构,对于策略集合中的每个元素,可以列出单一 ACL中的描述顺序,从而可以协助策略管理者进行策略确认。如图20所示,根据本发明的策略管理设备1还可以包括ACL产生单元16。ACL产生单元16(如ACL产生单元108)根据策略排序单元决定为总体顺序的策略顺序,将要进行总体排序的策略集合中包含的每个策略描述转换为ACL描述。利用该结构,由于可以按照符合包含肯定策略和否定策略的策略集合的总体顺序的描述顺序来产生单一 ACL,因此可以在访问控制机制中合适地执行根据以例外方式决定的策略的访问控制。
除了如图19和20所示一个物理上分离的设备(策略管理设备)具有所有单元的示例之外,两个或更多物理上分离的设备可以包括上述图19和20中示出的单元,并且可以以有线或无线方式连接,以配置策略管理系统。例如,策略管理系统可以由包括角色信息存储单元的角色存储设备、包括策略描述存储单元的策略描述存储设备、以及包括策略分层单元和策略排序单元的策略总体排序设备来配置。策略总体排序设备还可以包括策略列表显示单元或ACL产生单元。利用该结构,在存在许多项角色信息和/或策略描述的大规模环境中,提供了多个策略总体排序设备,从而实现负载分散。本申请要求基于2009年2月10日提交的日本专利未审公开No. 2009-028985的优先权,其全部公开并入此处。[工业实用性]本发明适用于针对数据库中的策略,根据策略顺序来产生搜索视图的策略搜索设备,或者用于设置远程服务器中所产生的访问控制列表的策略分发设备。
18
权利要求
1.一种策略管理设备,包括角色信息存储单元,存储包括指示策略所要应用的主体集合的信息在内的角色信息、 以及能够指定所述角色信息中所包含的主体集合之间的包含关系的信息;策略描述存储单元,存储策略描述,所述策略描述包括指示策略的信息、以及用于标识所述策略所要应用的主体集合的信息;策略分层单元,针对所述策略描述存储单元中存储的两个或更多个策略,产生策略层级,在所述策略层级中,通过假定每个策略是一节点,基于每个策略所要应用的主体集合之间的包含关系,对两个或更多个策略进行分层;以及策略排序单元,基于指示由所述策略分层单元所产生的策略层级的信息,对策略集合进行总体排序,同时维持层级中的高/低关系,所述策略集合由要进行总体排序的所述两个或更多个策略构成。
2.根据权利要求1所述的策略管理设备,包括策略列表显示单元,根据所述策略排序单元决定为总体顺序的策略顺序,将要进行总体排序的策略集合中的元素布置为一行,并列出所述元素。
3.根据权利要求1或2所述的策略管理设备,包括ACL产生单元,根据所述策略排序单元决定为总体顺序的策略顺序,将要进行总体排序的策略集合中所包含的每个策略描述转换为ACL描述。
4.根据权利要求1至3中任一项所述的策略管理设备,其中,所述策略分层单元产生策略层级数据,所述策略层级数据具有按照主体集合之间的包含关系在策略节点之间添加的有向链接,从而产生策略层级。
5.根据权利要求4所述的策略管理设备,其中,所述策略排序单元以节点集合中不具有输入链接的每个元素为原点,根据深度优先搜索,对策略层级数据执行排序,从而对要进行总体排序的策略集合进行总体排序。
6.一种策略管理系统,包括角色存储设备,包括角色信息存储单元,存储包括指示策略所要应用的主体集合的信息在内的角色信息、以及能够指定所述角色信息中所包含的主体集合之间的包含关系的信息;策略描述存储设备,包括策略描述存储单元,存储策略描述,所述策略描述包括指示策略的信息、以及用于标识所述策略所要应用的主体集合的信息;以及策略总体排序设备,包括策略分层单元,针对所述策略描述存储单元中存储的两个或更多个策略,产生策略层级,所述策略层级包括由以下策略构成的层通过假定每个策略是一节点,基于每个策略所应用的主体集合之间的包含关系,所述策略应用于不处于包含关系中的主体集合;以及策略排序单元,基于指示由所述策略分层单元所产生的策略层级的信息,对策略集合进行总体排序,同时维持不同层中的策略之间的层级关系,所述策略集合由要进行总体排序的所述两个或更多个策略构成。
7.根据权利要求6所述的策略管理系统,其中,所述策略总体排序设备还包括策略列表显示单元,根据所述策略排序单元决定为总体顺序的策略顺序来布置要进行总体排序的策略集合中的元素,并列出所述元素。
8.根据权利要求6或7所述的策略管理系统,其中,所述策略总体排序设备还包括 ACL产生单元,根据所述策略排序单元决定为总体顺序的策略顺序,将要进行总体排序的策略集合中所包含的每个策略描述转换为ACL描述。
9.一种策略排序方法,用于给定主体集合和策略集合,所述主体集合能够指定主体集合之间的包含关系,所述策略集合指示了所要应用的主体集合,所述策略排序方法包括策略分层步骤,针对所述策略集合中所包含的两个或更多个策略,产生策略层级,所述策略层级包括由以下策略构成的层通过假定每个策略是一节点,基于每个策略所应用的主体集合之间的包含关系,所述策略应用于不处于包含关系中的主体集合;以及策略排序步骤,基于指示所述策略分层步骤中产生的策略层级的信息,对策略集合进行总体排序,同时维持不同层中的策略之间的层级关系,所述策略集合由要进行总体排序的两个或更多个策略构成。
10.一种策略列表显示方法,用于给定主体集合和策略集合,所述主体集合能够指定主体集合之间的包含关系,所述策略集合指示了所要应用的主体集合,所述策略列表显示方法包括策略分层步骤,针对所述策略集合中所包含的两个或更多个策略,产生策略层级,所述策略层级包括由以下策略构成的层通过假定每个策略是一节点,基于每个策略所应用的主体集合之间的包含关系,所述策略应用于不处于包含关系中的主体集合;策略排序步骤,基于指示所述策略分层步骤中产生的策略层级的信息,对策略集合进行总体排序,同时维持不同层中的策略之间的层级关系,所述策略集合由要进行总体排序的两个或更多个策略构成;以及列表显示步骤,根据所述策略排序步骤中决定为总体顺序的策略顺序来布置要进行总体排序的策略集合中的元素,并列出所述元素。
11.一种ACL产生方法,用于给定主体集合和策略集合,所述主体集合能够指定主体集合之间的包含关系,所述策略集合指示了所要应用的主体集合,所述ACL产生方法包括策略分层步骤,针对所述策略集合中所包含的两个或更多个策略,产生策略层级,所述策略层级包括由以下策略构成的层通过假定每个策略是一节点,基于每个策略所应用的主体集合之间的包含关系,所述策略应用于不处于包含关系中的主体集合;策略排序步骤,基于指示所述策略分层步骤中产生的策略层级的信息,对策略集合进行总体排序,同时维持不同层中的策略之间的层级关系,所述策略集合由要进行总体排序的两个或更多个策略构成;以及ACL产生步骤,根据所述策略排序步骤中决定为总体顺序的策略顺序,将要进行总体排序的策略集合中所包含的每个策略描述转换为ACL描述。
12.—种策略排序程序,用于给定主体集合和策略集合,所述主体集合能够指定主体集合之间的包含关系,所述策略集合指示了所要应用的主体集合,所述策略排序程序使计算机执行策略分层处理,针对所述策略集合中所包含的两个或更多个策略,产生策略层级,所述策略层级包括由以下策略构成的层通过假定每个策略是一节点,基于每个策略所应用的主体集合之间的包含关系,所述策略应用于不处于包含关系中的主体集合;以及策略排序处理,基于指示所述策略分层处理中产生的策略层级的信息,对策略集合进行总体排序,同时维持不同层中的策略之间的层级关系,所述策略集合由要进行总体排序的两个或更多个策略构成。
13.一种策略列表显示程序,用于给定主体集合和策略集合,所述主体集合能够指定主体集合之间的包含关系,所述策略集合指示了所要应用的主体集合,所述策略列表显示程序使计算机执行策略分层处理,针对所述策略集合中所包含的两个或更多个策略,产生策略层级,所述策略层级包括由以下策略构成的层通过假定每个策略是一节点,基于每个策略所应用的主体集合之间的包含关系,所述策略应用于不处于包含关系中的主体集合;策略排序处理,基于指示所述策略分层处理中产生的策略层级的信息,对策略集合进行总体排序,同时维持不同层中的策略之间的层级关系,所述策略集合由要进行总体排序的两个或更多个策略构成;以及列表显示处理,根据所述策略排序处理中决定为总体顺序的策略顺序来布置要进行总体排序的策略集合中的元素,并列出所述元素。
14.一种ACL产生程序,用于给定主体集合和策略集合,所述主体集合能够指定主体集合之间的包含关系,所述策略集合指示了所要应用的主体集合,所述ACL产生程序使计算机执行策略分层处理,针对所述策略集合中所包含的两个或更多个策略,产生策略层级,所述策略层级包括由以下策略构成的层通过假定每个策略是一节点,基于每个策略所应用的主体集合之间的包含关系,所述策略应用于不处于包含关系中的主体集合;策略排序处理,基于指示所述策略分层处理中产生的策略层级的信息,对策略集合进行总体排序,同时维持不同层中的策略之间的层级关系,所述策略集合由要进行总体排序的两个或更多个策略构成;以及ACL产生处理,根据所述策略排序步骤中决定为总体顺序的策略顺序,将要进行总体排序的策略集合中所包含的每个策略描述转换为ACL描述。
全文摘要
本发明提供了角色信息存储单元(11),存储包括指示主体集合的信息在内的角色信息、以及能够指定主体集合之间的包含关系的信息;策略描述存储单元(12),存储策略描述,所述策略描述包括指示策略的信息以及用于标识策略所要应用的主体集合的信息;策略分层单元(13),产生策略层级,在所述策略层级中,基于每个策略所要应用的主体集合之间的包含关系,对两个或更多策略进行分层;策略排序单元(14),基于指示策略层级的信息,对由要进行总体排序的两个或更多策略构成的策略集合进行总体排序,同时维持层级中的高/低关系。
文档编号G06F21/60GK102308302SQ201080007099
公开日2012年1月4日 申请日期2010年1月26日 优先权日2009年2月10日
发明者中江政行 申请人:日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1