基于区域的安全性的制作方法

文档序号:6567073阅读:278来源:国知局

专利名称::基于区域的安全性的制作方法
技术领域
:本发明一般涉及计算机系统,尤其涉及为基于对象子集在该子集的区域描述符上提供安全性的系统和方法,以便减少数据传播以及经典对象继承分层结构的存储需求。
背景技术
:现代商业数据库设计包括涉及对如何存储、管理和操纵大量数据的众多复杂数据的考虑。这样的数据通常包括诸如提供各个对象之间的继承属性的对象树中的与其它数据的错综复杂的关系。这些类型的关系通常使对数据库以及管理这样的数据的组件的有效设计变得复杂。例如,数据库设计过程的一个方面在于理解关系数据库管理系统存储数据的方式。为了高效且准确地向用户提供信息,数据库程序需要访问关于存储在分开的表中的不同主题的事实(数据)。例如,一个表可能仅存储关于雇员的事实,而另一表可能仅存储关于销售的事实,而其它表用于某些其它的公司事务。当使用数据时,这些事实然后被自动组合并按照众多不同的方式被呈现。例如,用户可打印组合了关于雇员的事实和关于销售的事实的报告。一般而言,为设计数据库,按某种要求(诸如库中的单独主题)将信息分解,然后数据库程序确定主题如何联系。这些程序通常包括使用诸如结构化查询语言(SQL)的常见数据库语言的关系数据库查询。在这样的语言可被应用于数据之前,通常作出关于哪些类型的数据是重要的以及这样的数据应如何组织的若干决策。例如,这些决策可包括确定数据库的范围,以决定其中存储哪些数据。然后确定将信息分成单独主题所需的表,诸如"雇员"或"定单"。然后每一主题将是数据库中的一个表。其它方面包括确定决定在每一表中存储何种信息所需的各个字段。表中信息的每一目录被称为字段,且被显示为表中的一列。例如,雇员表中的一个字段可以是姓;另一字段可以是雇佣日期。另一考虑是确定诸如决定一个表中的数据如何与其它表中的数据联系的关系。设计者通常按需向表添加字段,或创建新表来说明关系。当设计数据库时可能存在遇到的若干常见的陷阱。这些问题可引起数据更难以使用和维护。这些可包括使一个表具有不是全部都与同一主题有联系的大量字段。例如,一个表可包含关于顾客的字段以及包含销售信息的字段。而且,如果每一表仅包含关于一个主题的数据,这往往是更高效的。在其它情况中,当在众多记录中有意向字段留下空白时产生开支,因为它们并不适用于这些记录。这通常暗示,这些字段属于另一表。当存在其中众多表具有相同字段的大量表时,冗余是另一个问题。例如,当分开一月份销售和二月份销售的表,或本地顾客和远程顾客的表时,存在对同一类型的信息的冗余存储。因此,一种技术是在一个表中合并关于单个主题的所有信息。除如何设置和设计数据库的表和字段的复杂性以外,必须进行其它考虑。这些包括应如何向各个表和字段提供数据安全性(例如,诸如谁和什么可访问文件的安全性)。这包括如何向诸如分层对象等存储在数据库中的复杂结构提供安全性。传统地,在这样的对象的继承分层结构中,安全性考虑被传播,其中如果分层结构中的项目之一被改变,则该结构中的每一项目需要被更新。然而,存在利用关系数据库的表的各行来存储分层对象的任何实现所面临的常见问题,就是如何设置关于每一对象的安全性信息或数据,并基于继承模型将安全性数据填充于其孩子对象。发明概述以下呈现了本发明的简化概述以便提供对本发明的某些方面的基本理解。该概述不是本发明的广泛的概观。它不旨在标识本发明的重要/关键的元素,也不旨在描绘本发明的范围。其唯一目的是以简化形式呈现本发明的某些概念作为稍后呈现的更详细描述的序言。本发明涉及向在对象之间具有分层关系的多个数据库对象提供基于区域的安全性的系统和方法。提供将安全性信息映射到分层结构中存在的对象的子集以便创建独立于分层结构的一个或多个安全区的区域组件。这允许区域或区中存在的对象共享安全性属性,这将减少数据库处理需求(例如,较少的节点要更新安全性数据)。-般而言,经典数据库体系结构通常利用关系数据库表的各行来存储分层对象,这也使得要在每一对象上设置相关的安全性描述符,以及基于继承模型对各个孩子对象填充安全性描述符。这会导致用于每一对象更新的日益增长的处理时间量,而通过引入基于区域的考虑可减少处理时间。区域可以是共享相同或相似安全性描述符的对象的集合(不必位于一邻接树中)。当更新了对象上的安全性描述符时,对象所属的区域可分裂或折叠。例如,如果从该改变得到任何孩子对象上的不同的安全性描述符,则区域可分裂;而如果改变产生与其它区域相同的安全性描述符,则该区域可折叠入另一区域。与每一对象直接拥有其自己的安全性描述符相反,一区域拥有该安全性描述符;从而显著地减少了当改变了一对象上的安全性描述符而可能影响其它对象上的安全性描述符时,对象更新的次数。一般而言,传统上将区域定义为分层对象模型中的对象的子树。在本发明的情况中,区域被定义为共享相同安全性描述符的一组对象,借此共享相同的安全性描述符的那些对象不必位于同一子树下。这种间接性允许管理对象安全性描述符的有效处理。因此,基于区域的安全性实质上将对象域变换到安全性描述符域,并在安全性描述符域上直接地且独立于分层结构地执行安全性描述符操作,这减少了总的数据库处理。为了完成前述和相关目的,本发明的某些说明性的方面在此处将结合以下描述符和附图被描述。这些方面指示可实现本发明的各种方式,它们均旨在由本发明覆盖。当结合附图考虑阅读本发明的以下详细描述时,本发明的其它优点和新颖的特征将是显而易见的。附图简述图1是根据本发明的一方面示出对象安全性系统的示意框图。图2是根据本发明的一方面示出示例安全性域变换的示意图。图3根据本发明的一方面示出了替换安全性域变换。图4根据本发明的一方面示出了示例安全性接口。图5根据本发明的一方面示出了区域组件处理。图6根据本发明的一方面示出了示例区域处理算法。图7根据本发明的一方面示出了安全区域处理。图8是根据本发明的一方面示出合适的操作环境的示意框图。图9是本发明可与之交互的示例计算环境的示意框图。发明的详细描述本发明涉及向具有分层关系的数据库对象提供基于区域的安全性的系统和方法。与为每一对象更新单独的安全性描述符相反,本发明引入了区域的概念,借此从给定对象与区域而非分层结构的关联得到该给定对象的安全性。这与需要各个对象描述并在继承分层结构之间置入安全性的经典体系结构相反。以此方式,数据库处理和存储可被保存,因为众多对象可能共享可在各个区域的更全局的范围上定义的类似的安全属性。在一个方面中,提供使数据库安全性和管理更容易的系统。该系统包括存储在对象之间具有分层关系的多个对象的数据库组件。区域组件为对象子集定义安全区,并将安全性数据映射到该子集,其中安全区独立于对象之间的分层关系、并与其去耦、或分离。如本申请中所使用的,术语"组件"、"系统"、"对象"、"区"等意指计算机-相关实体,或者是硬件、硬件和软件的组合、软件或执行中的软件。例如,组件可以是,但不限于,运行在处理器上的进程、处理器、对象、可执行代码、执行的线程、程序和/或计算机。作为说明,运行在服务器上的应用程序和该服务器本身都可以是组件。一个或多个组件可以驻留在进程和/或执行中的线程内,且组件可以位于一台计算机上和/或分布在两台或多台计算机之间。而且,这些组件可从其上存储各种数据结构的各种计算机可读介质上执行。组件可经由本地和/或远程进程,诸如根据含有一个或多个数据包的信号进行通信(例如,来自一个组件的数据与本地系统、分布式系统中的另一组件和/或跨诸如因特网的网络与其它系统经由信号进行交互)。首先参考图l,根据本发明的一方面示出了对象安全性系统100。系统100包括与区域组件120相关联的关系数据库110(例如,SQL或其它类型的数据库),区域组件120定义一个或多个对象安全区130。一般而言,当作出了对象安全性改变时,对象分层结构的各个节点(例如,见分层结构中参考标号140处的一个对象)不会被一个一个单独地更新。相反,由每个130处的各个安全区的区域组件120分配安全性策略。通过将对象映射至安全区130而不是一个一个单独地更新每一对象,数据库IIO处的读取操作的次数可被减少。因此,区域组件120将安全性策略映射从其中更新每一对象的继承分层结构变换成其中对象区共享类似的安全性策略的对象安全性域。以此方式,当对象的安全性策略改变时,可通过仅更新安全区130縮减的子集而非更新经典继承分层结构中的每一个别对象,来传播安全性更新的较小子集。注意到,可釆用继承概念在系统100中传播策略,然而,继承是位于安全区130之间而非树中对象之间的常规继承。因此,是在以安全性域而非对象域建模的组件之间存在继承。这暗示了,各个对象之间的安全性映射是位于对象及其相关联的区130之间而非为各个对象140显式划定的。因此,区域组件120向所标识的对象的区域提供安全性,且实质上与将安全性改变传播给分层结构中的所有对象的常规对象分层结构去耦、分离或被独立。一般而言,可对数据库110中的项目分配一(标识符)ID用作安全性描述符。数据库包括具有被称为SDID(安全性描述符ID)列的[Table!Item]表。该SDID是例如在隐藏的SQL系统表中存储和维护的安全性描述符的唯一ID。可通过公用视图来展示系统表(例如,Sys.Security—Descriptor)。下表是关于安全性描述符可如何被插入基本对象模型或与之相关联的简化说明<table>tableseeoriginaldocumentpage8</column></row><table>为了有效地将安全性描述符ID(SDID)分配给对象项目,SD区域技术是部分基于对于大多数对象项目往往共享相同的安全性描述符的观察。SD区域是共享相同或相似SDID的一组项目(它们不必如常规系统中的那样为邻接的)。一般,以上所示[Table!Item]中的所有项目可被分组到不同的SD区域。可按照一个SD区域的SD可从上述安全性域中另一SD区域的SD继承来建立SD区域的关系。基本上,建立可与相应的对象项目树进行比较的SD区域树,但它具有较少的节点,如以下关于图2和3所示。SD区域树因此可被用于有效地更新项目的SD。一般,当创建安全性项目树时,创建三个SD区域来将SD分配给树中基本上所有的项目。因此,一个SD区域用于根项目(其中,定义了显式的SD),另一SD区域用于各个容器项目,而最后一个SD用于非容器项目。现在参考图2和3,根据本发明的一方面示出了示例安全性域变换200和300。在图2的200处,示出了对象树的节点,其中210处的黑节点是根项目;220处的灰节点是容器项目,而230处的白节点是非容器项目。如240处所示,当更新项目的安全性标识符(SD)(例如,通过改变SD的所有者、分组、访问控制列表等)时,项目所属的SD区域可被分成三个子组或子集。安全性改变一般通过被称为访问控制条目(ACE)的数据来反映,该数据可以是显式或隐式的形式。当将显式的ACE添加到项目的SD时,可在该项周围创建新的SD区域。在这种情况中,创建三个了SD区域,一个用于项目(添加显式ACE的项目)本身、一个用于其容器孩子,另一个用于其非容器孩子。参考图3,示出了当非传播显式ACE被添加到310处的项目上的SD时的更复杂情况,其中如320处所示,在项目周围创建了五个新区域。在这种情况中,在330为项目本身(即添加显式ACE的项目)创建了一个区域,在340处为其直接容器孩子创建了一个区域,在350处为其直接非容器孩子创建了一个区域,在360处为其非直接容器孩子创建了一个区域,在370处为其非直接非容器孩子创建了一个区域。概括图2和3,当项目的SD被显式更新(不是通过继承)时,创建新区域。一般而言,取决于对SD进行的更新创建3或5个新区域(其它数目也有可能)。如果添加了非传播ACE,则创建五个SD区域,在其它情况中,一般创建三个SD区域。作为示例,把SD包含非继承属性(在大多数情况中为非继承ACE)的项目假定为根项目。如上所述,取决于SD中显式ACE的类型,容器类型根项目可拥有3或5个SD区域。如果非容器其SD具有显式的属性,它可具有其自己的SD区域。如果移除了根项目SD的所有显式属性,则该根项目所拥有的SD区域可被折叠到其双亲项目的SD,这将减少一个一个单独地对象安全性更新。每一SD区域可被表示为Security—Hierachy(安全性分层结构)表中的行,诸如下例表中的一行。每一SD区域在表在中应具有一SH行。<table>tableseeoriginaldocumentpage11</column></row><table>上表中的一行被称为SH行,它对应于一SD区域。该表中的行指示共享相同安全性描述符(上例中的SD1)的一组项目(可以是单个项目)。该组项目由公共的根(Itemld)、公共的类型(容器或非容器)以及范围定义。范围可任选来支持不同的操作系统安全性模型。在520处,描述了区域合并和创建的考虑。在此方面中,可在以下条件下创建一个新的SD区域1.对非容器项目进行了SD改变。在以下条件下可创建三个新的SD区域-1.对容器项目进行了SD改变,且2.该SD改变不包括非传播ACE。在以下条件下可创建五个新的SD区域1.对容器项目进行了SD改变,且2.该SD改变包括非传播ACE。在以下条件下可合并SD区域-1.双亲SD通过刷新(flushing)孩子SD来实施SD继承。或者2.从SD中移除了显式ACE。在530处,提供了可在关于图6所述的以下算法中采用的各个符号。这些概念包括—Item或*——应用该操作的当前项目系统。SDId(x)或SDId—项目x上的安全性描述符的sd—id。SDId—NC(x)或SDId一NC——应用于项目x的非容器孩子对象的SDId。SDId一C(x)或SDId一C——应用于项目x的容器孩子对象的SDId。SDId—NC2(x)或SDId一NC2——应用于项目x的直接非容器孩子对象的SDId。SDId—C2(x)或SDId一C2——应用于项目x的直接容器孩子对象的SDId。SDId—NC3(x)或SDId一NC3——应用于项目x的非直接非容器孩子对象的SDId。SDId一C3(x)或SDId—C3——应用于项目x的非直接容器孩子对象的SDId。SHRow(x,i,j)-[Table!Security—Hierachy]表中—Rootltemld=x,—IsContainer=i,—Scope=j的行UpdateltemSD(01dSDId,NewSDId,Rootltem,IsContainer,Scope)-更新当前SDId=OldSDId、祖先为Rootltem(根项目)、Sc叩e在NewSDId内的类型(IsContainer)的所有项目的SDId。UpdateSDBlob(SDId)——如果其孩子的SDId未能与其SDId形成循环,则更新该SDId及其孩子的安全性描述符的内容。例如,当对于在[Table!Security—Hierachy]表中没有自己的行的文件项目(带SD1)上添加保持链接(SDO)时,将创建三行(SDO,SD1,—Item,0,0)、(SD1,SDO,—Item,0,1)、(SD1,SDO,—Item,1,1)。此处为该项目的孩子项目重新使用SDO以显著地减少[Table!Item]表中更新的次数。UpdateSDId(SDId,SDId—New)——更新[Table!Security—Hierachy]中—SDId=SDId的当前项目的行,以便令—SDId=SDId一New。UpdateParentSDId(SDIdPar,SDWPar—New)-更新[Table!Security—Hierachy]中—ParentSDId=SDIdPar的行以便使—ParentSDId=SDIdPar—New。CreateNewSD(SDId)——从当前SD加上所进行的改变(添加/移除ACE、添加移除/保持链接)来创建新SD。图6根据本发明的一方面示出示例区域处理算法600。在此方面中,可采用至少三个单独或组合的算法600来实现区域处理。这包括在610处设置安全性描述符;添加保持链接620;以及在630处的移除保持链接算法。对于设置安全性描述符610,有各种方式来改变对象上的安全性描述符,至少包括添加/移除可继承显式ACE。添加/移除应用于该项目及其所有孩子的可继承显式ACE。添加/移除仅应用于其孩子的可继承显式ACE。添加/移除仅应用于该项目及其直接孩子的可继承显式ACE。添加/移除仅应用于孩子容器的可继承显式ACE。添加/移除仅应用于孩子对象的可继承显式ACE。添加/移除仅应用于某种类型的对象的可继承显式ACE。改变安全性描述符的所有者。改变安全性描述符的分组。改变安全性描述符控制标志。i.停止ACE继承ii.开始ACE继承iii.改变仅用于该项目的其它控制标志。在620处,当将保持链接添加到项目时,取决于该保持链接是否具有可继承ACE以及该项目上的SD的SE—DACLE—PROTECED标志是否开启,可以或不可以改变该项目上的安全性描述符。然而,应更新[Table!Security一Hierachy]表。当将保持链接添加到一项目上时,如果该项目还没有指定的行,则应在[Table!Security一Hierachy]表中添加该项目的三个新行。为了减少[Table!Item]表中的更新,可使用以下格式来创建这些行(SDO,SD1,*,0,0)、(SD1,SDO,*,0,1)、(SD1,SD0,*,1,1),其中SDO是保持链接的目标项目的老的SDId,SD1是目标项目的新的SDId。按此方案,应仅需更新[Table!Item]表中的源项目。基于该方案,如果稍后将显式不可继承ACE添加到该项目,则不会在[Table!Item]表中执行更新。在630处,可假定要移除的保持链接的安全性描述符的SDId为SDId一HD。在移除保持链接的情况中,SD区域可折叠,因此可合并[Table!Security一Hierachy]表中的各行。图7根据本发明的一方面示出了用于数据库对象安全性的示例安全性区域处理700。尽管,为了描述的简单,该方法被表示和描述为一连串或多个动作,可以理解和领会,本发明不受动作的顺序的限制,因为,根据本发明,某些动作可以按不同的顺序和/或与此处所示和所描述的其它动作同时发生。例如,本领域的技术人员可以理解和领会,方法可以替换地被表示为诸如状态图中的一连串互相关联的状态或事件。而且,并非所有示出的动作都是实现根据本发明的方法所必需的。前进至图7的710,考虑到经典的对象分层结构中的任何潜在更新,通过移除要被更新(安全性方面)的每一对象的需求,使数据库中的各个对象的安全性描述符从该分层结构中去耦或分离。在720处,利用了一个或多个安全性描述符来为驻留在数据库中的对象定义对象区域。如上所述,这可包括折叠或合并来自相似或不相似对象树中的对象安全性数据,以便定义安全性区域或对象子集,它们预定与该区域类似的安全性数据。而且,这样的区域数据可被定义在数据库的行中,其中包括属于该区域的对其它对象的结果性关系。在730处,对数据库中每个所选的区域设置对象安全性策略。如上所述,取决于访问控制条目的类型(隐式/显式)和对象分层结构中安全性改变的位置,从这样的设置中可创建各个安全性区域。在740处,在经典对象域与本发明的安全性域之间发生变换,以便在数据库内传播安全性改变。这可包括当向给定对象请求安全性改变时在该对象周围创建区域子集(例如,取决于安全性改变的类型,创建三或五个区域)。参考图8,用于实现本发明各方面的示例性环境810包括计算机812。计算机812包括处理单元814、系统存储器816和系统总线818。系统总线818将包括但不限于系统存储器816的系统组件耦合至处理单元814。处理单元814可以是任何种类可用的处理器。也可以使用双微处理器和其它多处理器体系结构作为处理单元814。系统总线818可以是若干类型的总线结构中的任一种,包括存储器总线或存储器控制器、外围总线或外部总线、和/或使用各种可用的总线体系结构中的任一种的局部总线,可用的总线体系结构包括,但不限于,11位总线、工业标准体系结构(ISA)、微通道体系结构(MCA)、扩展的ISA(EISA)、智能驱动器电子接口(IDE)、VESA局部总线(VLB)、外围部件互连(PCI)、通用串行总线(USB)、高级图形接口(AGP)、个人计算机存储卡国际协会总线(PCMCIA)以及小型计算机系统接口(SCSI)。系统存储器816包括易失性存储器820和非易失性存储器822。基本输入/输出系统(BIOS)包含在诸如启动时在计算机812中元件之间传递信息的基本例程,它通常存储在非易失性存储器822中。作为说明,而非限制,非易失性存储器822可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦ROM(EEPROM)或闪存。易失性存储器820可以包括用作外部高速缓存的随机存取存储器(RAM)。作为说明,而非限制,RAM以多种形式可用,诸如同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍数据速率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)以及直接RambusRAM(DRRAM)。计算机812也包括可移动/不可以移动、易失性/非易失性计算机存储介质。例如,图8示出磁盘存储824。磁盘存储824包括,但不限于,如磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、Ls-100驱动器、闪存卡或记忆棒的设备。另外,磁盘存储824可以包括独立或与其它存储介质结合的存储介质,包括但不限于,诸如光盘ROM设备(CD-ROM)、CD可记录驱动器(CD-R驱动器)、CD可重写驱动器(CD-RW驱动器)或数字多功能盘ROM驱动器(DVD-ROM)等的光盘驱动器。为了便于将磁盘存储设备824连接至系统总线818,一般使用诸如接口826等可移动或不可移动接口。可以理解,图8描述了用户和在合适的操作环境810中描述的基本计算机资源之间担当中介的软件。这样的软件包括操作系统828。可被存储在磁盘存储824上的操作系统828用来控制和分配计算机系统812的资源。系统应用程序830利用了操作系统828通过存储在系统存储器816或者磁盘存储824上的程序模块832和程序数据834执行的资源管理。可以理解,本发明可以使用各种操作系统或操作系统的组合来实现。用户通过输入设备836向计算机812输入命令或信息。输入设备836包括,但不限于,诸如鼠标、跟踪球、指示笔等定点设备、触摸垫、键盘、话筒、操纵杆、游戏垫、圆盘式卫星天线、扫描仪、TV调谐器卡、数码相机、数码摄像机、网络摄像头等。这些和其它输入设备经由接口端口838通过系统总线818连接至处理单元814。接口端口838包括,例如串行端口、并行端口、游戏端口和通用串行总线(USB)。输出设备840使用某些与输入设备836相同类型的端口。从而,例如,USB端口可以用于向计算机812提供输入,并向输出设备840提供来自计算机812的输出信息。输出适配器842被提供,以表示某些输出设备840,像监视器、扬声器和打印机以及其它需要专用适配器的输出设备840。作为说明而非限制,输出适配器842包括提供输出设备840和系统总线818之间的连接手段的显卡和声卡。应该注意,诸如远程计算机844等其它设备和/或设备系统同时提供输入和输出能力两者。计算机812可在网络化环境中操作,该环境使用一台或多台诸如844的远程计算机的逻辑连接。远程计算机844可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的装置、对等设备或其它常见网络节点等,且通常包括上文相应于计算机812描述的许多或所有元件。为简洁起见,对于远程计算机844仅示出存储器存储设备846。远程计算机844通过网络接口848被逻辑连接至计算机812,并且然后通过通信连接850被物理地连接。网络接口848包括诸如局域网(LAN)和广域网(WAN)的通信网络。LAN技术包括光纤分布式数据接口(FDDI)、铜线分布式数据接口(CDDI)、以太网/IEEE802.3、令牌环/IEEE802.5等。WAN技术包括,但不限于,点对点链路、类似综合业务数字网(ISDN)及其变型的电路交换网络、分组交换网络和数字用户线(DSL)。通信连接850指的是用来将网络接口848连接至总线818的硬件/软件。尽管为说明清楚,将通信连接850示为位于计算机812内,然而通信连接850也可以在计算机812外部。仅为示例的目的,连接至网络接口848所必需的硬件/软件包括内部和外部技术,诸如包括常规电话级调制解调器、线缆调制解调器和DSL调制解调器等的调制解调器、ISDN适配器以及以太网卡。图9是本发明可与之交互的示例计算环境900的示意性框图。系统900包括一个或多个客户机910。客户机910可以是硬件和/或软件(例如,线程、进程、计算设备)。系统900也包括一个或多个服务器930。服务器930也可以是硬件和/或软件(例如,线程、进程、计算设备)。例如,服务器930可以容纳通过使用本发明来执行变换的线程。客户机910和服务器930之间的一种可能的通信可以是适用于在两个或多个计算机进程之间传输的数据包的形式。系统900包括可以被用来方便于客户机910和服务器930之间通信的通信架构950。客户机910可操作地连接至一个或多个客户机数据存储960,它可用来存储信息局部到客户机910。类似地,服务器930可操作地连接至一个或多个服务器数据存储940,它可被用来存储信息局部到服务器930。以上描述包括本发明的示例。当然,不可能为描述本发明而描述每个可想象的组件或方法的组合,但是本领域的普通技术人员可以认识到,本发明的众多其它组合和排列是可能的。从而,本发明旨在包括落入所附权利要求书精神和范围内的所有这样的变更、修改和变化。而且,对于在详细描述和权利要求书中都使用的术语"包括"而言,当被用作权利要求书中的过渡词时,这样的术语旨在类似于解释术语"包含"的方式是包含性的。权利要求1.一种使数据库安全性和管理更容易的系统,包括数据库组件,它存储在对象之间具有分层关系的多个对象;以及区域组件,它为所述对象子集定义一个或多个安全区,并将安全性数据映射到所述子集,所述安全区独立于所述对象之间的所述分层关系。2.如权利要求l所述的系统,其特征在于,所述区域组件提供从对象域到安全性域的变换。3.如权利要求2所述的系统,其特征在于,所述区域组件包括定义所述安全区的至少其中之一的至少一个安全性描述符。4.如权利要求2所述的系统,其特征在于,所述区域组件支持所述安全性域中的区域之间的继承安全性。5.如权利要求l所述的系统,其特征在于,所述区域组件基于对安全性改变的分析支持安全区的展开或安全区的折叠。6.如权利要求5所述的系统,其特征在于,所述区域组件基于所检测的安全性改变将安全性区域展开至少三个区域。7.如权利要求6所述的系统,其特征在于,所述安全性改变由访问控制条目(ACE)检测。8.如权利要求7所述的系统,其特征在于,所述访问控制条目表示显式或隐式的安全性改变。9.如权利要求l所述的系统,其特征在于,还包括使对象项与安全性描述符标识符关联的表。10.如权利要求9所述的系统,其特征在于,还包括将所述安全性描述符标识符映射到安全性描述符的内容的表。11.如权利要求1所述的系统,其特征在于,还包括根节点、孩子、节点、容器项目、非容器项目的至少其中之一。12.如权利要求1所述的系统,其特征在于,还包括在所述安全区之间传播安全性改变的组件。13.如权利要求1所述的系统,其特征在于,还包括与所述区域组件或所述数据库交互的至少一个接口。14.如权利要求13所述的系统,其特征在于,所述接口包括取安全性函数、取描述符函数、设置安全性函数、添加保持链接函数、移除保持链接函数、以及取有效安全性函数。15.如权利要求1所述的系统,其特征在于,还包括在安全性域中定义安全性对象关系的安全性分层结构行。16.—种其上存储用于实现如权利要求1所述的组件的计算机可读指令的计算机可读介质。17.—种用于对象数据库安全性的方法,包括在对象域中定义数据库对象;在安全性域中定义安全性组件;提供所述对象域与所述安全性域之间的映射;以及采用所述映射来为所述数据库对象定义安全性区域。18.如权利要求17所述的方法,其特征在于,还包括在所述安全性域中检测到改变之后生成至少三个安全性区域。19.如权利要求17所述的方法,其特征在于,还包括在所述安全性域内为所述安全性组件提供继承机制。20.—种使数据库对象安全性更容易的系统,包括用于存储数据库对象的装置;用于为所述对象设置安全性区域的装置;用于将所述安全性区域映射到所述对象的装置;以及用于至少部分基于所述安全性区域来访问所述对象的装置。全文摘要本发明涉及向具有分层关系的数据库对象提供基于区域的安全性的系统和方法。在一个方面中,提供使数据库安全性和管理更容易的一个系统。该系统包括存储在对象之间具有分层关系的多个对象的数据库组件。区域组件为对象子集定义安全区,并将安全性数据映射到该子集,其中安全区独立于对象之间的分层关系、与其去耦、或分离。文档编号G06F17/20GK101375275SQ200680012404公开日2009年2月25日申请日期2006年3月9日优先权日2005年5月4日发明者T·杜塔,Z·李申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1