基于模型的访问控制的制作方法

文档序号:6476758阅读:221来源:国知局
专利名称:基于模型的访问控制的制作方法
基于模型的访问控制
站旦冃牙、
计算机和计算机系统在多个环境(例如,企业、个人等等)中得到广泛利用。 一般向执行对于计算机和/或计算机系统的功能(例如,创建、修改、存储、删除、数据输入等)的个人提供访问权限,该访问权限允许这个人执行各种功能或使用各种应用程序但不允许执行其他功能和/或利用其他应用程序。例如,可给予主管修改员工记录和査看员工工资包的访问权,而可能不向下属给予对这些类型的信息的访问权。
管理员和计算机系统的其他用户可利用基础结构来实现并管理各种访问
权限。这需要为多个资源和多个人配置访问许可。配置不同的计算机、设置和其他信息不仅耗时而且需要管理员记住每一个设置。另外,管理员应向类似的各个人(例如,执行相同的工作功能的个人)提供相似但不相同的访问权限。在对每一个人的访问权限作出改变时,这些访问权限的原始意图可能由于在创建和/或修改访问权限时发生的错误,或由于尤其在最初不知道如何操纵设置时为了创建所需访问权限设置而作出的多个不正确的改变而丢失。由此,执行类似功能的用户可能具有不同的访问权限,这可能导致问题,尤其是在用户可访问他们不应访问的东西的情况下。
由此,当今的访问管理涉及配置资源管理程序专用的低级设置并且具有与策略作者的"意图"的极少的相似之处。 一旦配置完成,这些设置就难以维护并且难以与策略意图协调。此外,当将对许多域重复应用同一策略时,需要重复作出低级配置。这管理起来很昂贵,而且提供极少的相对于意图来查询和理解所配置的策略的形式的支持。
概述
以下呈现了简化概述以提供对所公开的各实施例的某些方面的基本理解。该概述并不是广泛的纵览,且既非旨在标识诸实施例的关键或重要元素,也非旨在描绘此类实施例的范围。其唯一目的是以简化的形式给出所描述实施例的一些概念,作为后面给出的更加详细的描述的序言。
根据一个或多个实施例及其相应的公开内容,结合基于模型的访问控制和许可权限描述了各方面。创建抽象用户角色模型和/或抽象资源模型,这些模型可以是模块化的并且可跨许多不同的应用程序来利用。抽象出的安全策略可以与每一个用户角色模型相关联,以使得这一模型及相关联的访问权限对于特定
角色或功能统一。特定个人或不止一个人可以与每一个用户角色模型相关联并且授予这些人的许可能够基于授予该用户角色模型的许可。
为实现上述和相关目的, 一个或多个实施例包括以下全面描述且在权利要求书中特别指出的特征。以下描述和附图详细地阐明了某些说明性方面,且仅指示了可采用本发明的原理的各种方式中的几种。当结合附图考虑时,将从以下详细描述中清楚其它优点和新颖特征,并且所公幵的实施例旨在包括所有这些方面及其等效方面。
附图简述


图1示出了提供基于模型的访问控制的系统。
图2示出了能够方便基于模型的访问控制的系统。
图3示出了用于系统子集的模型的视图。
图4示出了向多个用户分配访问权限的示例性手动管理。
图5示出了可以与所公开的各实施例一起利用的示例性系统。
图6示出了可以与所公开的各实施例一起利用的另一系统。
图7示出了所公开的各实施例的可扩展特性。
图8示出了用于家庭个人计算机或域的简化的模板。
图9示出了用于提供模块化的基于模型的访问控制的方法。
图IO示出了可用于执行所公开的各实施例的计算机的框图。
图11示出了可用于执行所公开的实施例的示例性计算环境的示意性框
详细描述
各实施例现在参考各附图来描述。在以下描述中,为解释起见,阐明了众
6多具体细节以提供对一个或多个方面的全面理解。然而,显然,各实施例能够在无需这些具体细节的情况下实施。在其它情况中,以框图形式示出公知的结构和设备以便于描述这些实施例。
如在本申请中所使用的,术语"组件"、"模块"和"系统"等旨在表示计算机相关的实体,它可以是硬件、硬件和软件的组合、软件、或者执行中的软件。例如,组件可以是,但不限于是,在处理器上运行的进程、处理器、对象、可执行码、执行的线程、程序和/或计算机。作为说明,运行在服务器上的应用程序和服务器都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程中,并且组件可以位于一个计算机内和/或分布在两个或更多的计算机之间。
在本文中使用的词语"示例性"意味着用作示例、实例或说明。在此被描述为"示例性"的任何方面或设计并不一定要被解释为相比其它方面或设计更优选或有利。
此外, 一个或多个实施例可以使用产生用于控制计算机实现所公开的各实施例的软件、固件、硬件或其任意组合的标准编程和/或工程技术实现为的方法、装置或制品。此处所用的术语"制品"(或作为替换,"计算机程序产品")旨在涵盖可从任何计算机可读设备、载体或介质访问的计算机程序。例如,计算机可读介质可包括但不限于,磁存储设备(例如,硬盘、软盘、磁带……)、
光盘(例如,紧致盘(CD)、数字多功能盘(DVD)……)、智能卡、以及闪存设备(例如,卡、棒)。另外应该明白,可以采用载波来承载计算机可读电子数据,例如那些用于发送和接收电子邮件或用于访问如因特网或局域网(LAN)等网络的数据。当然,本领域的技术人员将会认识到,在不背离所公开的实施例的范围的前提下可以对这一配置进行许多修改。
各实施例将按照可包括多个组件、模块等的系统来呈现。可以理解和明白,各种系统可包括其他组件、模块等和/或可不包括结合各附图讨论的所有组件、模块等。也可使用这些方法的组合。此处所公开的各实施例可以在电子设备上执行,包括利用触摸屏显示技术和/或鼠标键盘类型接口的设备。这些设备的示例包括计算机(台式和移动)、智能电话、个人数字助理(PDA)、以及有线和无线的其它电子设备。最初参考图l,示出了提供基于模型的访问控制的系统100。系统100提 供安全策略,该安全策略可从资源管理程序原语中抽象出并且可指定具有可反
映策略作者的意图的较高级抽象的策略。另外地或另选地,系统100可方便跨
各种不同的授权上下文创建并应用安全策略的多个实例。系统ioo还可被配置
成在嵌套模型中指定安全策略。
当管理员或负责控制对资源的访问并保护资源的其他人为各种资源和多 个人配置访问许可时,变得难以直接在资源本身上配置低级设置。还可能在存 在用户对其应具有访问许可的大量资源时存在管理问题。这些资源可以是其中 存在可加载的应用程序的任何东西(例如,文件共享、共享点站点、对传统应 用程序的访问等)。访问控制配置有时通过在不明白或理解修改的衍生结果
(ramification)或所涉及的策略的情况下修改底层授权机制的各种设置来执 行。 一般而言,配置无法从一个上下文复制到另一上下文,而必须手动重新配 置。这可能产生或不产生相同的配置,尤其是在配置设置点中的一个或多个中 存在错误的情况下。这在诸如存在期望关于确切的企业访问管理策略的信息的
遵从性问题和其他规章强制的情况下可导致问题。系统100可被配置成维护策 略并针对具有基本上相同的访问权限的一组用户保持这些策略。
更详细地,系统100包括抽象组件102,其可被配置成从各种应用程序和 参数的底层实现中抽象出用于保护资源的安全策略。部分地基于该安全策略, 抽象组件102可构建一个或多个抽象用户模型、 一个或多个抽象资源模型或抽 象用户模型和抽象资源模型两者。抽象用户模型可以是特定用户角色的抽象或 标识应可访问类似资源的类似用户以创建模型(例如,生产监察员、银行出纳 员、收费公路亭操作员、图书管理员等)的另一种手段。抽象用户模型可以是 资源和用户的组织的模型。例如,该抽象用户模型可以是与组中的用户的分层 结构相关的资源(或范围)的分层结构。
抽象组件102可独立于实际用于保护资源(例如,程序、应用程序、格式、 文件等)的机制或配置和/或实际访问资源的用户的类型。例如,不管利用什么 机制,都应允许需要访问财务文档的人访问这些财务文档。通过利用抽象组件 102,管理员或负责坚持安全策略的其他人不必手动地为每一个用户和/或资源 执行低级配置,但可修改用户模型和/或资源模型。另外,抽象组件102可被配置成帮助保持策略意图。因为安全策略是从资 源管理原语中抽象出的,所以可提供能够允许策略作者以更接近实际意图(例
如,诸如编纂(codified)意图)而不是保护资源的底层实现的方式来指定一个
或多个策略的抽象。
另外,抽象组件102可被配置成提供抽象模型配置的可重复性。以此方式, 抽象模型(例如,用户、资源)可以是模块化的并且可跨不同应用程序或通过 各种不同的角色和功能来应用。例如,国家银行可具有分行并且想要确保每一 个分行都具有相同种类的配置(例如,经理具有比副经理更多的许可并且出纳
员具有低级许可)。尽管不同的人执行相应的功能(例如,经理、出纳员), 但这些资源、角色和相关联的许可对于每一个分行都是相同的。由此,许可配 置的可重复性能够在所有分行中持久保持。
分配组件104可被配置成将一个或多个特定用户标识或指定到一抽象用 户模型或不止一个抽象用户模型。例如,角色可以是银行出纳员、银行主管、 机器车间领班、接待员、孩子、成人等。分配组件104可被配置成维护关于用
户角色或用户组角色为何可访问特定许可的信息和/或可将抽象模型转换为具 体术语,由此向用户分配许可以便使用具体资源。分配组件104还可被配置成 向抽象资源模型分配一个或多个资源。
系统中还包括授权组件106,其可被配置成部分地基于模型来设置对具体 资源的许可(例如,具有其权限的专用名称用户/组)。在与标识用户并将其放 入所需的一个或多个组中的基本上同时,作为用特定用户模型来标识用户的结 果,可自动创建适当的许可和成员资格。
另外,授权组件106可被配置成维护关于特定个人为何可访问各种许可的 信息。如果用户扮演不同的角色,则可取决于所执行的任务来给予该用户与这 些角色中的每一个有关的许可。例如,如果该用户是接待员但也在薪酬员工外 出时补缺,则该用户可具有两个许可(接待员和薪酬员工)。然而,如果该用 户不代替薪酬员工,则可禁用与薪酬功能有关的许可并且在薪酬员工外出期间 只允许接待员许可。
图2示出了能够方便基于模型的访问控制的系统200。系统200可被配置 成简化授权策略以及该授权策略的实现。在每一个计算机上都可能存在多个安全调节器(knob)(例如,特权、资源名称等)。在大型安装中可能存在数百 或数千台计算机,这将使得即使不是不可能也难以手动配置和监视这些设置。
系统200可被配置成向用户和管理员隐藏底层实现的复杂性。在某些实施例中,
用户和管理员可在需要时访问底层实现。
系统200可减轻管理员在对多个对象应用复杂策略时的重复手动工作。系 统200还可保留关于策略的信息,从而使得即使已经存在较长的增量变更历史 也可能确定策略的参数。
系统200包括抽象组件202,其可被配置成从各种应用程序和参数的底层 实现中抽象出或概念化用于保护资源的安全策略并创建抽象用户模型、抽象资 源模型或这两个模型。还包括分配组件204,其可被配置成将抽象出的安全策 略和用户模型与特定的一个或多个用户相关并将资源模型与特定的一个或多 个资源相关。系统200中还包括许可组件206,其可被配置成基于模型来自动 设置对特定资源的许可。
抽象组件202可包括资源模块208和功能模块210,这两个模块独立或协 力获取如管理员所查看的各种资源、用户和许可的模型。资源模块208可包括 关于各种可用资源的信息并基于这些可用资源来创建抽象资源模型。功能模块 210可包括关于潜在角色(例如,用户)的信息,人们可通过该信息来具有访 问权(例如,人力资源经理、库存管理员等)。抽象组件202能够(例如,通 过资源模块208和/或功能模块210)提供允许用抽象术语来指定模型的机制或 词汇。
例如,可能存在诸如Emerald项目等抽象资源,并且存在由于其作为促进 员(facilitator)的角色而应具有各种访问权的项目促进员。由此,抽象组件202 不聚焦于所保护的特定资源,而是聚焦于这些资源的概念组织以及用户和对于 每一个用户的对这些资源的各种许可的概念组织。
分配组件204可包括范围模块212和角色模块214。范围模块212可包括 或可访问资源的集合并且可将这些资源的子集分配给一个或多个抽象资源模 型216,其被标记为资源,到资源p其中尺是整数。还包括角色模块214,其 可访问或维护可被分配给一个或多个抽象用户模型的主体的集合。这些主体可 以是用户218或用户角色,其被标记为用户,到用户w,其中W是整数。由系
10统200创建的模型可以用特定用户和/或资源(例如,磁盘文件、数据库、模型 中所指定的其他东西)来填充。
应当理解,存在可表示模型的其他方式并且角色和范围只是表示模型的一 个示例。因此,无论使用什么机制或词汇,资源和用户组或角色都可基于它们 彼此之间的关系来定义。许可能够基于这些原语而不是实际物理资源和真实用
来指定。
可能存在抽象系统的第一人、将抽象出的或概念性的组织实例化为特定资 源的另一人、以及将用户添加到适当的工具的另一人。因此,这些资源能够以 独立于意图的方式来传达,并且可能存在在不同的上卜'文中实例化的复杂关 系。
另外,模块化概念可被配置成创建嵌套模型。可在这些嵌套模型中指定安 全策略。模型可被指定用于访问控制并且该模型可用作用于为较大的系统构建 模型的组件。
因为角色是通用或抽象的,所以模型能够在其他模型或子模型中并以模块 化的方式使用。例如,可能存在用于每一个银行分行以及每一个城市中的首要 分行的模板。可能存在指定谁被允许指定后勤经理的模型。然而,不为了描述 分行而发明该分行本身或对其建模。相反,可重复使用已经构建的分行模型并 将其与后勤经理模块组合。
图3示出了用于系统子集的模型的视图300。该模型视图300可以是从负 责将特定个人分配到特定角色或访问权(例如,安全访问权)的管理员、用户 和/或实体的观点来看的。示出了两个项目储存库302和304,这两个项目储存 库可表示组织中的同时对其工作的两个项目。在某些实施例中,储存库302、 304可表示其他项目、作业、任务等,这些项目、作业、任务具有在其涉及这 些项目、作业、任务时应被分配不同的访问权限的多个用户。这些储存库302、 304可以是资源的范围, 一个对应于第一项目302, 一个对应于第二项目304。
每--个项目302、 304都可具有在其涉及项目302、 304时被分配来执行各 种功能的用户的各种角色或逻辑类。例如,第一项目302具有两个角色,这两 个角色可以是开发者306和项目经理308。在该简单示例中,第二项目304也 具有类似的角色,即开发者306和项目经理308。然而,应当理解,可能存在多个角色,并且两个角色只是出于简单的目的而示出的。另外地或另选地,可
将不止--个用户分配到每一个角色并且这些角色可跨如角色306和308所表示 的储存库302、 304来利用。在部署项目储存库302、 304时,可创建对应于每 一个角色的组。该组可包括对于项目执行该角色的功能的用户。由此,范围是 资源的集合而角色是主体的集合。
在该简单图示中,管理员(或其他负责方)将用户310放入所需的一个或 多个组中并且作为用特定角色306、 308来标识用户308的结果,自动创建适 当的许可和成员资格。即,对于每一个储存库302、 304,可分配多个角色306 和308,这些角色可以是与所示及所描述的角色不同和/或不同数量的角色。向 每一个角色分配一个或多个人并且对该用户应用对应于该角色的相应的访问 权限。这一分配可基于诸如用户id、用户口令等与该个人相关联的唯一标识符 或基于其他标识符。如图所示,用户310被分配到第一储存库302中的开发者 角色306以及第二储存库304中的项目经理308。
图4示出了向多个用户分配访问权限的示例性手动管理400。该示例类似 于上述示例并且包括第--项目402和第二项目404。标识开发者406和项目经 理408并将其与每一个项目402、 404相关联。用户410可负责第一项目中的 开发者408的角色以及第二项目404中的项目经理406的角色。
然而,在手动向相关联的项目402和404分配角色406、 408时(例如, 不利用所公开的各实施例),角色406、 408无法跨应用程序402、 404利用。 因此,需要用于向项目402、 404分配角色和个人的进一步的手动动作。在以 下讨论中,出于简单的目的将只讨论一个角色。对于手动管理,对每一个角色 利用服务器412。手动地将每一个或每一组用户406、 408与诸如例如,编辑许 可414和阅读许可416等一个或多个操作相关联。手动地将每一个许可414、 416与用户或用户组406、 408相关联,并且对于每一个角色(例如,开发者 406和项目经理408),将必须手动配置许可多次。
手动配置可导致错误,因为存在太多需要手动修改的配置。因此,所公开 的各实施例可通过提供可跨多个项目利用的模块化角色来减轻管理员的重复 手动工作。另外,所公开的各实施例可使得在较长的增量变更(例如,对访问 权限的改变)历史后确定策略及其目的变得简单。现在参考图5,示出了可与所公开的各实施例一起利用的示例性系统500。 该系统可包括虚线502所示的模板以及虚线504所示的实例。模板502及其实 例504可被称为可对应于服务实例及其资源子集的叶范围(leaf node)。除了 对服务的编码之外,创建可定义该服务的角色的范围模板502。角色可确定用 户可在执行该角色的功能时拥有的许可。图5的角色被示为贡献者506和阅读 者或査看者508。可定制每一个角色506、 508以使得用户或用户组能够执行任 务(例如,银行出纳员、HR福利员、文档的贡献者或査看者等)在该示例中, 贡献者506可编辑文档并且如图所示,也可以是查看者508,这是角色嵌套的 示例。
预定义角色506、 508可帮助确定应测试以确保其正确地启用所需任务并 遵照范围内的授权策略的许可组合。实例化范围模板502以创建范围。可利用 相同的模板502来创建许多范围,如图5所示。在该图示中,贡献者506和査 看者508角色在对应的角色模板在该模板中所具有的范围中具有对资源的相同 许可。用户510被示为被放入查看者角色。每一个范围都可精确地反映范围模 板并具有模板502中所定义的资源、角色和许可。
图6示出了可以与所公开的各实施例一起利用的另一系统600。可利用各 种程序应用来创建较高级的模板。系统600包括项目储存库602,其可包括至 少两个子部分,被示为规约604和源606。项目经理角色608可被分配到规约 服务器604中的共享者角色610以及源服务器606中的阅读者角色612。 一部 分的角色可包括该角色将其导出到包含范围的接口。最小的部分是实际服务并 且包括诸如项目所包含的子部分等复合部分。这些部分可如所需要地深度嵌套 以提供各种角色和子角色。因为这可对所有项目储存库定义,所以管理员实例 化模型即可而无需理解所涉及的所有细节。该项目模板的两个实例将类似于图 3所示的系统那样出现。因此,可利用较小的部分或子角色来创建较大的角色 而无需上述多个手动配置。
图7示出了所公开的各实施例的可扩展特性。示出了用于银行出纳员应用 程序的模板700以展示商业应用程序中的可扩展策略。可对银行服务的账户 706应用低角色702和高角色704。每一个角色702、 704都可具有相应的转账 金额许可,诸如对于低角色702的1000美元以及对于高角色的100000美元。在外部分行应用程序中,出纳员角色708和经理角色710可被分别分配到 低账户和高账户。管理员或负责分配角色的其他用户可向应用程序逻辑添加当 前交易的金额值并且策略系统可评估该表达。由此,角色是模块化的并且策略 可通过基于模型的访问控制来更新而不改变应用程序代码。
图8示出了用于家庭个人计算机或域的简化的模板。基于模块的访问控制 可用于企业应用程序并且还可使得授权对于小型企业和消费者变得较不复杂。 应当注意,图8出于简单的目的而仅示出了家庭域的子部分。
单个机器的桌面可具有若干预定义角色(例如,抽象用户模型),诸如成 人802、孩子804和朋友806。还可包括若干预定义范围,诸如家务808、社区 810和用户范围模板812。这些范围808、 810和812可从同一基本范围模板中 构建。该范围模板在该附图中出现四次。在家务范围808和社区范围810上, 成人802可以是所有者814而孩子可以是贡献者。每一个用户都可具有伙伴列 表并且伙伴816是对于城堡818的朋友并且另外是用户的共享子范围上的阅读 者820。应当注意,这是简单的示例并且小型企业可具有若干更多的部分。
图9示出了用于提供模块化的基于模型的访问控制的方法900。尽管出于 简化解释的目的,各方法被显示和描述为一系列的框,但应该理解和明白,所 公开的各实施例不受框的顺序所限,因为一些框能够以与在此所叙述和描述所 不同的顺序发生和/或与其他框同时发生。而且,并非所有示出的框都是实现以 下描述的方法所必需的。可以理解,与各框相关联的功能可以由软件、硬件、 其组合、或任何其它合适的装置(例如,设备、系统、进程、组件)来实现。 另外,还应该明白,下文以及本说明书全文中所公开的方法能够被存储在制品 上,以便于把此类方法传送和转移到各种设备。本领域技术人员将会明白并理 解,方法可替换地被表示为一系列相互关联的状态或事件,诸如以状态图的形 式。
在902,创建抽象安全策略。该安全策略能够以独立于实际用于保护资源 (例如,程序、应用程序、格式、文件等)的机制或配置的类型的方式创建。 在904,可创建或开发抽象用户模型和/或抽象资源模型。这些模型并非特定用 户和/或特定资源专用的,而是涉及不同的资源、角色或功能以及对于各种资源、 用户或用户角色的应授权的访问控制。
14在906,将特定用户和/或特定资源与一个或多个抽象用户模型或抽象资源 模型相关联。例如, 一用户模型可以用于应具有涉及下属的功能的安全策略的 主管。以此方式,主管应被给予对应于该主管的抽象出的安全策略以及对应于 下属的抽象出的安全策略。另外,可通过以使得模型能够被指定用于访问控制 并且该模型可用作用于为较大系统构建模型的组件的方式嵌套模型来将不止
一个用户模型与不止一个抽象安全策略相关联。在906,该关联还允许模块性, 其中抽象用户模型及相关联的抽象安全策略或抽象资源模型可跨应用程序或 在不同的应用程序中使用。
在908,可基于模型来自动设置对特定资源的许可(例如,具有其权限的 专用名称用户/组)。在某些实施例中,不止一个人与抽象出的用户模型和抽象 出的安全策略中的任一个或两者相关联。
现在参见图10,示出了可用于执行所公开的体系结构的计算机的框图。 为了提供用于此处所公开的各方面的附加上下文,图IO及以下讨论旨在提供 对其中可实现各方面的合适的计算环境1000的简要概括描述。尽管以上在可
在一个或多个计算机上运行的计算机可执行指令的一般上下文中描述一个或 多个实施例,但是本领域的技术人员将认识到,各实施例也可结合其它程序模 块和/或作为硬件和软件的组合来实现。
一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、 程序、组件、数据结构等等。此外,本领域的技术人员可以理解,本发明的方 法可用其它计算机系统配置来实施,包括单处理器或多处理器计算机系统、小 型机、大型计算机、以及个人计算机、手持式计算设备、基于微处理器的或可 编程消费电子产品等,其每一个都可操作上耦合到一个或多个相关联的设备。
所示各方面也可以在其中某些任务由通过通信网络链接的远程处理设备 来执行的分布式计算环境中实践。在分布式计算环境中,程序模块可以位于本 地和远程存储器存储设备中。
计算机通常包括各种计算机可读介质。计算机可读介质可以是可由计算机 访问的任何可用介质,并包括易失性和非易失性介质、可移动和不可移动介质。 作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计 算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其
15他数据的信息的任何方法和技术实现的易失性和非易失性、可移动和不可移动
介质。计算机存储介质包括但不限于RAM、 ROM、 EEPROM、闪存或者其它 存储器技术、CD-ROM、数字视频盘(DVD)或其它光盘存储、磁带盒、磁带、 磁盘存储或其它磁存储设备、或可以用于存储所需信息并且可以由计算机访问 的任何其它介质。
通信介质通常以诸如载波或其它传输机制等已调制数据信号来体现计算 机可读指令、数据结构、程序模块或其它数据,且包含任何信息传递介质。术 语"已调制数据信号"指的是其一个或多个特征以在信号中编码信息的方式被 设定或更改的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网 络或直接线连接,以及无线介质,诸如声学、RP、红外线和其它无线介质。上 述中的任意组合也应包括在计算机可读介质的范围之内。
再次参考图10,用于实现各方面的示例性环境1000包括计算机1002,计 算机1002包括处理单元1004、系统存储器1006和系统总线1008。系统总线 1008将包括但不限于系统存储器1006的系统ia件耦合到处理单元1004。处理 争元1004可以是巿场上可购买到的各种处理器中的任意一种。双微处理器和 其它多处理器体系结构也可用作处理单元1004。
系统总线1008可以是若干种总线结构中的任一种,这些总线结构还可互 连到存储器总线(带有或没有存储器控制器)、外围总线、以及使用各类市场 上可购买到的总线体系结构中的任一种的局部总线。系统存储器1006包括只 读存储器(ROM) 1010和随机存取存储器(RAM) 1012。基本输入/输出系统 (BIOS)储存在诸如ROM、 EPROM、 EEPROM等非易失性存储器1010中, 其中BIOS包含帮助诸如在启动期间在计算机1002内的元件之间传输信息的基 本例程。RAM 1012还可包括诸如静态RAM等高速RAM来用于高速缓存数 据。
计算机1002还包括内置硬盘驱动器(HDD) 1014 (例如,EIDE、 SATA), 该内置硬盘驱动器1014还可被配置成在合适的机壳(未示出)中供外部使用; 磁软盘驱动器(FDD) 1016 (例如,从可移动磁盘1018中读取或向其写入); 以及光盘驱动器1020 (例如,从CD-ROM盘1022中读取,或从诸如DVD等 其它高容量光学介质中读取或向其写入)。硬盘驱动器1014、磁盘驱动器1016和光盘驱动器1020可分别通过硬盘驱动器接口 1024、磁盘驱动器接口 1026 和光盘驱动器接口 1028来连接到系统总线1008。用于外置驱动器实现的接口 1024包括通用串行总线(USB)和IEEE 13104接口技术中的至少一种或两者。 其它外置驱动器连接技术在一个或多个实施例所构想的范围之内。
驱动器及其相关联的计算机可读介质提供了对数据、数据结构、计算机可 执行指令等的非易失性存储。对于计算机1002,驱动器和介质容纳适当的数字 格式的任何数据的存储。尽管以上对计算机可读介质的描述涉及HDD、可移 动磁盘以及诸如CD或DVD等可移动光学介质,但是本领域的技术人员应当 理解,示例性操作环境中也可使用可由计算机读取的任何其它类型的介质,诸 如zip驱动器、磁带盒、闪存卡、盒式磁带等等,并且任何这样的介质可包含 用于执行此处所公开的方法的计算机可执行指令。
多个程序模块可存储在驱动器和RAM 1012中,包括操作系统1030、 一 个或多个应用程序1032、其它程序模块1034和程序数据1036。所有或部分操 作系统、应用程序、模块和/或数据也可被高速缓存在RAM 1012中。可以理 解,各实施例可用各种市场上可购得的操作系统或操作系统的组合来实现。
用户可以通过一个或多个有线/无线输入设备,例如键盘1038和诸如鼠标 1040等定点设备将命令和信息输入到计算机1002中。其它输入设备(未示出) 可包括话筒、IR遥控器、操纵杆、游戏手柄、指示笔、触摸屏等等。这些和其 它输入设备通常通过耦合到系统总线1008的输入设备接口 1042连接到处理单 元1004,但也可通过其它接口连接,如并行端口、 IEEE 1394串行端口、游戏 端口、 USB端口、 IR接口等等。
监视器1044或其它类型的显示设备也经由接口,诸如视频适配器1046 连接至系统总线1008。除了监视器1044之外,计算机通常包括诸如扬声器和 打印机等其它外围输出设备(未示出)。
计算机1002可使用经由有线和/或无线通信至一个或多个远程计算机,诸 如远程计算机1048的逻辑连接在网络化环境中操作。远程计算机1048可以是 工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器 的娱乐设备、对等设备或其它常见的网络节点,并且通常包括以上相对于计算 机1002描述的许多或所有元件,尽管为简明起见仅示出了存储器/存储设备1050。所描绘的逻辑连接包括到局域网(LAN) 1052和/或例如广域网(WAN) 1054等更大的网络的有线/无线连接。这一 LAN和WAN联网环境常见于办公 室和公司,并且方便了诸如内联网等企业范围计算机网络,所有这些都可连接 到例如因特网等全球通信网络。
当在LAN网络环境中使用时,计算机1002通过有线和/或无线通信网络 接口或适配器1056连接到局域网1052。适配器1056可以方便到LAN 1052的 有线或无线通信,并且还可包括其上设置的用于与无线适配器1056通信的无 线接入点。
当在WAN连网环境中使用时,计算机1002可包括调制解调器1058,或 连接到WAN 1054上的通信服务器,或具有用于通过WAN 1054,诸如通过因 特网建立通信的其它装置。或为内置或为外置的调制解调器1058以及有线或 无线设备经由串行端口接口 1042连接到系统总线1008。在网络化环境中,相 对于计算机1002所描述的程序模块或其部分可以存储在远程存储器/存储设备 1050中。应该理解,所示网络连接是示例性的,并且可以使用在计算机之伺建 立通信链路的其它手段。
计算机1002可用于与操作上设置在无线通信中的任何无线设备或实体通 信,这些设备或实体例如有打印机、扫描仪、台式和/或便携式计算机、便携式 数据助理、通信卫星、与无线可检测标签相关联的任何一个设备或位置(例如, 公用电话亭、报亭、休息室)以及电话。这至少包括Wi-Fi和蓝牙TM无线技术。 由此,通信可以如对于常规网络那样是预定义结构,或者仅仅是至少两个设备 之间的自组织(adhoc)通信。
Wi-Fi,即无线保真,允许从家中、在酒店房间中、或在工作时连接到因 特网而不需要线缆。Wi-Fi是一种类似蜂窝电话中使用的无线技术,它使得诸 如计算机等设备能够在室内和室外,在基站范围内的任何地方发送和接收数 据。Wi-Fi网络使用称为IEEE 802.11 (a、 b、 g等等)的无线电技术来提供安 全、可靠、快速的无线连接。Wi-Fi网络可用于将计算机彼此连接、连接到因 特网以及连接到有线网络(使用IEEE 802.3或以太网)。Wi-Fi网络在未许可 的2.4和5 GHz无线电波段内工作,例如以11 Mbps (802.11a)或54 Mbps (802.11b)数据速率工作,或者具有包含两个波段(双波段)的产品,因此该
18网络可提供类似于许多办公室中使用的基本10BaseT有线以太网的真实性能。 现在参见图11,示出了根据各实施例的示例性计算环境1100的示意性框 图。系统1100包括一个或多个客户机1102。客户机1102可以是硬件和/或软 件(例如,线程、进程、计算设备)。客户机1102可例如通过采用各实施例 而容纳cookie和/或相关联的上下文信息。
系统1100还包括一个或多个服务器1104。服务器1104也可以是硬件和/ 或软件(例如,线程、进程、计算设备)。服务器1104可以例如通过使用各 实施例来容纳线程以执行变换。在客户机1102和服务器1104之间的一种可能 的通信能够以适合在两个或多个计算机进程之间传输的数据分组的形式进行。 数据分组可包括例如cookie和/或相关联的上下文信息。系统1100包括可以用 来使客户机1102和服务器1104之间通信更容易的通信框架1106 (例如,诸如 因特网等全球通信网络)。
通信可经由有线(包括光纤)和/或无线技术来促进。客户机1102操作上 被连接到可以用来存储对客户机1102本地的信息(例如,cookie和/或相关联 的...匕下文信息)的一个或多个客户机数据存储1108。同样地,服务器1104可 在操作上连接到可以用来存储对服务器1104本地的信息的一个或多个服务器 数据存储1110。
以上所描述的包括各实施例的示例。当然,出于描绘各实施例的目的而描 述组件或方法的每一个可以想到的组合是不可能的,但本领域内的普通技术人 员可以认识到,许多进一步的组合和排列都是可能的。因此,本说明书旨在涵 盖所有这些落入所附权利要求书的精神和范围内的更改、修改和变化。
特别地,对于由上述组件、设备、电路、系统等执行的各种功能,除非另 外指明,否则用于描述这些组件的术语(包括对装置摂的引用)旨在对应于执 行所描述的执行此处在示例性方面中所示的功能的组件的指定功能(例如,功 能上等效)的任何组件,即使这些组件在结构上不等效于所公开的结构。在这 一点上,也可认识到各方面包括用于执行各方法的动作和/或事件的系统以及具 有用于执行这些动作和/或事件的计算机可执行指令的计算机可读介质。
另外,尽管可相对于若干实现中的仅一个来公开一个特定特征,但是这一 特征可以如对任何给定或特定应用所需且有利地与其它实现的一个或多个其
19它特征相组合。此外,就在说明书或权利要求书中使用术语"包括"和"含有" 及其变体而言,这些术语旨在以与术语"包含"相似的方式为包含性的。此外,在说明书或权利要求书中使用的术语"或"意味着"非排他性或"。
权利要求
1.一种方便基于模型的访问控制的系统,包括抽象组件(102、202),其构建至少一个抽象用户模型或抽象资源模型或这两个模型;分配组件(104、204),其将至少一个特定用户与所述抽象用户模型相关并将至少一个特定资源与所述抽象资源模型相关;以及许可组件(106、206),其部分地基于所述抽象资源模型来设置对所述特定资源的至少一个许可。
2. 如权利要求1所述的系统,其特征在于,所述抽象组件独立于用于保护资源的机制。
3. 如权利要求1所述的系统,其特征在于,所述抽象组件保持策略意图。
4. 如权利要求1所述的系统,其特征在于,所述分配组件维护关于用户角色及其访问许可的信息。
5. 如权利要求1所述的系统,其特征在于,所述抽象组件提供用户角色配置的可重复性。
6. 如权利要求l所述的系统,其特征在于,所述抽象用户模型和抽象资源模型是模块化的并跨不同的应用程序来应用。
7. 如权利要求1所述的系统,其特征在于,所述许可组件将所述抽象用户模型和抽象资源模型转换成具体术语。
8. 如权利要求1所述的系统,其特征在于,所述抽象组件提供用抽象术语来指定所述模型的机制。
9. 如权利要求1所述的系统,其特征在于,安全策略在嵌套模型中定义。
10. 如权利要求9所述的系统,其特征在于,所述嵌套模型允许所述抽象用户模型和所述抽象资源模型被指定用于访问控制并用作用于为较大的系统构建模型的组件。
11. 如权利要求l所述的系统,其特征在于,所述分配组件基于唯一标识符来识别所述特定用户。
12. 如权利要求l所述的系统,其特征在于,所述许可组件在所述用户用所述模型来标识时创建适当的许可和成员资格。
13. —种用于提供基于模型的访问控制的方法,包括创建抽象用户模型和抽象资源模型;将至少一个特定用户与所述抽象用户模型相关联;将至少一个特定资源与所述抽象资源模型相关联;以及部分地基于抽象用户角色来设置对所述特定资源的至少一个许可。
14. 如权利要求13所述的方法,其特征在于,创建抽象用户模型和抽象资模型还包括创建独立于用于保护资源的机制的类型的模型。
15. 如权利要求13所述的方法,其特征在于,部分地基于所述抽象用户角色来设置对所述特定资源的至少一个许可是自动的。
16. 如权利要求13所述的方法,其特征在于,还包括嵌套相关联的抽象用户模型。
17. 如权利要求13所述的方法,其特征在于,创建抽象用户模型和抽象资源模型提供模块性。
18. 如权利要求13所述的方法,其特征在于,还包括将两个或更多个人与所述抽象用户模型和所述抽象资源模型相关联。
19. 一种提供访问控制的计算机可执行系统,包括用于创建抽象用户模型和抽象资源模型的装置;用于将至少一个用户与所述抽象用户模型相关联并将至少一个资源与所述抽象资源模型相关联的装置。
20. 如权利要求19所述的系统,其特征在于,还包括用于对所述至少一个资源应用许可的装置。
全文摘要
访问控制在其涉及策略或许可时基于所创建的模型来提供。抽象出安全策略并且该安全策略可独立于用于保护资源的机制。创建潜在用户、用户角色和/或资源的抽象模型而不将特定个人和/或资源与模型相关联。这些抽象用户模型和抽象资源模型可跨应用程序或在不同的应用程序中使用。可选择性地对模型应用抽象出的安全策略。特定用户和/或资源可以与一个或多个抽象用户模型或抽象资源模型相关联。可嵌套这些模型以便为较大的系统提供配置。
文档编号G06F15/16GK101652767SQ200880010688
公开日2010年2月17日 申请日期2008年2月28日 优先权日2007年3月30日
发明者B·兰普森, C·M·埃利森, C·W·考夫曼, M·帕拉玛斯万姆, P·J·里奇, R·N·潘德雅 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1