CN102236763B - 基于数据驱动角色的安全 - Google Patents

基于数据驱动角色的安全 Download PDF

Info

Publication number
CN102236763B
CN102236763B CN201110122748.5A CN201110122748A CN102236763B CN 102236763 B CN102236763 B CN 102236763B CN 201110122748 A CN201110122748 A CN 201110122748A CN 102236763 B CN102236763 B CN 102236763B
Authority
CN
China
Prior art keywords
access
user
data
license
role
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110122748.5A
Other languages
English (en)
Other versions
CN102236763A (zh
Inventor
S·伊万诺夫
J·A·巴罗斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102236763A publication Critical patent/CN102236763A/zh
Application granted granted Critical
Publication of CN102236763B publication Critical patent/CN102236763B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/105Multiple levels of security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Storage Device Security (AREA)

Abstract

提供了基于数据驱动角色的安全。在登录时,系统查询与对计算系统的计算对象的访问有关的数据上下文。当计算系统接收到对计算对象的访问请求时,对为正被访问的计算对象指定的一个或多个控制表达式进行求值。对控制表达式的求值可以引用用户上下文或先前建立的数据上下文,并返回有效许可集。如果该许可集包括对该访问请求的适当许可,则授予对该计算对象的访问。

Description

基于数据驱动角色的安全
技术领域
本发明涉及在数据上下文和对与该数据上下文有关的控制表达式的求值的基础上的基于角色的访问控制。
背景技术
作为关于某些常规系统的背景,经由访问控制系统对数据资源的访问和/或对受保护系统的操作在传统上通过将一个或多个访问特权分配给受保护系统的一个或多个用户来实现。在这点上,常规的基于角色的访问控制(RBAC)技术使得用户能够基于分配给该用户的角色来访问受保护的系统资源。由此,用户被准许基于分配给该角色的一个或多个访问特权来访问受保护系统和/或对其执行操作。例如,可以将诸如“创建存储卷”和“删除存储卷”之类的受保护系统操作(在这种情况下,存储系统是受保护系统)分配给“管理员”角色。当用户被分配管理员角色时,用户可以创建和/或删除存储系统中包括的任何存储卷。
RBAC因此是基于角色和为该角色定义的许可来将系统或系统资源的访问限于经授权的用户的一种方法。在组织内,为各种职业职责,诸如经理或管理员创建角色。将执行特定操作的许可分配给特定角色。员工或其他系统用户的成员被分配特定角色,并且那些用户通过这些角色分配来获得执行特定系统功能的许可。因为许可不是直接分配给用户而是通过他们的角色,所以对各个用户权限的管理变成了向合适的用户分配合适的角色的问题。通常,角色被表示为标识符(角色名或ID)和角色成员ID列表,例如,作为安全标识符(SID)存储在基于Windows的系统中的用户或组,或者基于Unix的系统中的用户实体名。
为了补充角色分配,在常规访问控制列表(ACL)模型中,对象或资源可被分配描述可向其授予对对象或资源的访问权的用户的有效集的角色ID集。通常在操作中,基于用户对操作或资源作出请求的用户上下文,即,基于用户被允许承担什么角色并且基于这些角色根据对正被访问的给定对象或资源施加的访问控制列表(ACL)决定什么许可集,系统作出是否准许给定用户正在采取的动作的确定。在这点上,用户可以承担的角色集和为给定角色在对象上定义的许可集两者都是完全声明性的并因此是静态地定义的。虽然这对于已知范围和规模的系统或资源的分层结构一般是足够的,但当用户数量和角色类型以及他们之间的关系变得重要或频繁变化时,静态地定义访问许可和用户角色并使得他们保持最新并且与正在变化的资源和资源分层结构保持一致可能造成麻烦的安全配置管理挑战。
在这点上,传统的访问控制管理模型是基于对象的,由此在该对象或对象容器处(例如,在ACL中)指定访问控制,并且通常管理员或其他经授权的实体指定要授予该对象的许可。管理员因此将组织授权策略转换成对对象的许可:每一对象具有授予表示组织内的各个用户和组的角色的访问许可列表。与必须定义用于控制对给定数据系统的许可的自定义代码的情形相比,RBAC通过允许按用户职业职责来管理许可来简化访问控制管理并提升企业环境中的可管理性。
基于角色的访问控制的某些目标可以使用组来实现。组对应于员工角色,而应用管理员可以通过在ACL中向该组授予对对象的许可来指定该角色所需的许可。然而,随着对象集合增长,管理员管理许可的场所数量也随之增长。频繁使用资源组和用户组可以帮助最小化这一效果,但这需要持续的实践和管理员之间的协调以及资源组的精确定义。这些过程减缓了管理过程,所以管理员常常避免使用组。
另外,随着对象数量的增长,跨应用查询对特定组或角色的经授予的访问变得困难。例如,为了准确地确定向用户或组授予了什么许可,管理员一般检查每一对象上的许可。因为有太多的对象要查询,所以可能难以验证关于特定组或用户的访问控制的状态。此外,在重要得多的变化发生在组织的资源分层结构中的情况下,诸如例如当人力资源信息管理系统记录到不同部门的职员调动时,可能需要对受影响的用户对象和任何适用的ACL都进行更新,并且如果未能这么做的话,则可能导致不正确的访问许可或系统的未定义状态。具体地,这些困难是由于在ACL中显式地分配许可而没有顾及受保护资源的扩展属性而导致的。
当今基于角色的安全系统的上述缺点仅旨在提供常规系统的一些问题的概览,并且不旨在是穷尽性的。在仔细阅读了以下具体实施方式后,当今领域的其他问题和各非限制性实施例的对应好处可变得显而易见。
发明内容
此处提供了简化概述以帮助能够对以下更详细的描述和附图中的示例性、非限制性实施例的各方面有基本或大体的理解。然而,本发明内容并不旨在作为详尽的或穷尽的概览。相反,本发明内容的唯一目的是以简化的形式来提出与一些示例性非限制性实施例相关的一些概念,作为以下各实施例的更为详细的描述的序言。
在各实施例中,提供了基于数据驱动角色的安全。在一个实施例中,在登录时,系统采用连接用户的用户上下文来查询与对计算系统的计算对象的访问有关的数据上下文。然后,当计算系统接收到对计算对象的访问请求时,对为正被访问的计算对象指定的一个或多个控制表达式进行求值。对控制表达式的求值可以引用用户上下文或先前建立的数据上下文,并且基于该数据上下文来形成有效许可集。如果该许可集包括对该访问请求的适当许可,则授予对计算对象的访问。
在另一实施例中,计算机实现的系统包括被配置成响应于用户登录来为对计算系统的数据对象的访问请求查询数据上下文的登录组件,其中数据上下文是基于正被访问的数据对象来检索的。该系统还包括被配置成响应于对数据对象的访问请求动态地对访问控制对象的确定有效许可集的控制表达式进行求值的访问控制组件,这进一步确定了是否授予访问权。在另一实施例中,方法包括经由计算设备的用户界面接收关于应用的应用功能的第一输入,对于该应用的应用功能,要为该应用功能的用户应用基于角色的安全控制。该方法还包括经由用户界面接收关于适用于执行应用功能的数据集的至少一个数据字段的第二输入,并且结合对应用功能的潜在使用,经由用户界面接收关于要从该数据集中提取来建立在登录时适用于给定用户的数据上下文的数据实例的第三输入。此外,该方法包括经由用户界面接收第四输入,该第四输入至少部分地基于第一、第二和第三输入来定义用于与对应用功能的潜在使用有关的动态求值的基于角色的访问控制对象的至少一个控制表达式。
以下更详细地描述其他实施例和各非限制性示例、场景和实现。
附图说明
各非限制性实施例参考附图来进一步描述,附图中:
图1是采用树来表示数据对象和属性的基于角色的安全系统的说明性示例的框图;
图2是可以结合保护图1的数据对象来使用的访问控制对象的说明性示例的框图;
图3是图1的说明性示例的框图,其中将员工重新组织到组织的不同部分和相应结果;
图4是基于图3中示出的员工的重新组织对图2的访问控制对象作出的变更的框图;
图5是示出基于数据驱动角色的安全的非限制性实施例的系统图;
图6是示出根据基于数据驱动角色的安全的一个方面的在用户登录时对数据上下文的检索的框图;
图7是示出根据基于数据驱动角色的安全的一个实施例的访问控制对象中的控制表达式的示例求值的框图;
图8是示出基于从访问控制对象的控制表达式的求值中导出的访问控制对象的许可集的对访问的授予(或拒绝)的框图;
图9是用于定义控制表达式以结合访问控制对象来使用以实现基于数据驱动角色的安全的示例性、非限制性用户界面的框图;
图10是根据一个实施例的基于数据驱动角色的安全的示例性、非限制性过程的流程图;
图11是根据一个实施例的基于数据驱动角色的安全的另一示例性、非限制性过程的流程图;
图12是表示其中可实现此处所描述的各实施例的示例性、非限制性联网环境的框图;以及
图13是表示其中可实现此处所描述的各实施例的一个或多个方面的示例性、非限制性计算系统或操作环境的框图。
具体实施方式
概览
如在背景技术中所讨论的,基于角色的访问控制允许管理员通过创建被称为角色的对象来按照公司的组织结构指定访问控制。用户被分配角色来执行相关联的职业职责。角色定义资源集上的授权许可。在RBAC模型中,管理员使用角色来管理许可和分配。例如,公司可以创建被称为销售经理的角色,该角色具有销售经理为他们的工作所需的许可。在雇用销售经理时,他们被分配销售经理角色并且因此立即具有该职业的许可。当他们离开销售经理的职位时,他们从销售经理角色中被移除并且不再具有销售经理访问权。因为角色允许按照公司的组织模型来授予访问权,所以RBAC是管理员指定访问控制的一种直观的方式。
简言之,RBAC将用户角色映射到应用许可,从而使得访问控制管理可以按用户角色来实现。RBAC系统随后将用户的角色成员资格转换成应用许可。因为许可是经由角色来授予的,所以可以经由角色而不必检查特定资源来查询和改变许可。
然而,如以上背景技术中所提到的,复杂组织的实际情况是:在角色之间存在数据依赖性,从而使得在可能导致对编辑给定资源的许可的授予的一个时刻适用的用户角色在另一时刻可能导致对编辑该给定资源的访问权的拒绝。例如,对于跟踪员工信息的人力资源应用,每一员工进而具有经理,而经理又具有经理,后者进而还有经理,以此类推,该序列在最高层员工,例如,公司的创建者处终止。因此,术语“经理”作为角色具有意义并且该经理角色具有特定许可,但这些许可是针对由该经理管理的人的而不是针对所有员工的。
因此,当个体改变公司内的子组织时,许可结构方面的改变多于该个体许可的改变。具体地,该个体的经理的许可结构改变,并且作为该个体调职到不同子组织的结果,取决于先前由该个体管理的人最终在组织结构中的位置,他们的许可和角色也可能已经改变。因此应该将这些改变传播到ACL,ACL管理组织的人员对各个合适资源的访问权,以确保个体不再对该个体曾经具有访问权的特定的先前资源具有访问权,并且确保该个体对适于分层结构中的新职位的特定新资源具有访问权。如果未作出这些改变,则将得到不正确的许可,甚至更糟的是,系统可能进入可能难以从中恢复的未定义状态。
下面提供这些和其他各示例性、非限制性实施例和场景的进一步细节。
基于数据驱动角色的访问
如所提到的,在基于角色的许可的上下文中,在大量的分层结构重新组织的情况下,底层数据的复杂分层结构可能引入极大的负担,以及作为该重新组织的结果可能受到影响的数据依赖性。更一般地,对于其安全不仅取决于请求许可的个体是谁,还取决于可能频繁变更的其他底层数据的任何应用,个体信息和相关连的ACL的更新对于系统的管理员确保对应用施加正确的许可结构而言可能是一个沉重的负担。
作为说明性示例,图1示出跟踪公司的全球员工和员工属性的人力资源应用,如树结构100所表示的。虽然用相对较少数量的员工来示出图1,但可以理解,某些全球最大的公司具有几万或几十万员工,并且因此,该示例是为了概念说明的简明起见,而非旨在弱化由可能导致管理具有内部对象依赖性的大量数据对象的问题所引入的复杂性或负担。如所描绘的,顶层员工具有用户(例如,用户名或ID)102,接着是向用户102报告的用户104、106和108。用户104和108进而具有向他们报告的员工(未示出),并且用户106具有向用户106报告的用户110、112和114。在这点上,用户对象拥有可能适用于给定应用,此处作为示例为人力资源应用的特定属性120。例如,属性120可以包括地址信息122(例如,家庭地址)、头衔信息124(例如,产品单元经理)、联系信息126(例如,电话号码或电子邮件地址)或工资/级别信息128。
在这点上,这些属性120中的某些可由用户114直接编辑,诸如家庭地址信息122。然而,某些属性可能是不可编辑的,诸如头衔信息124。某些信息对于全体人员或全体人员的子集可能是公共的,诸如联系信息126。其他信息对除了所选的少数个体之外的全体人员可能是不公开的,诸如工资/级别信息128。例如,情况可能是只有用户114的经理,即用户106或用户102可以改变与用户114相关连的头衔信息124。
在ACL侧,为实现这些种类的许可,例如,谁可以查看以及谁不可以查看,谁可以授权变更或作出变更以及谁不可以等等,与用户114相关连的ACL将指定什么角色可以编辑头衔、改变工资等等。然而,与在这样的大型组织内的角色有关的问题是角色“经理”对不同的员工具有不同的意义,因为大多数员工具有不同的经理。并且因此,将在ACL中为给定用户对象,诸如用户114对象指定特定经理,即,图1中的用户106和102,而用户108尽管在用户114之上但无法改变用户114的头衔信息124,因为用户108不是用户114的经理。
为了说明,图2示出与用户114相关联的对象,即,表示用户114和属性120的数据。在这点上,为实现ACL的安全,ACL130包括角色和这些角色的许可的列表。如所提到的,因为经理角色140本身不是确定给定用户是否具有改变与用户114相关联的头衔信息的许可的足够信息,所以在ACL130中枚举确实具有许可的经理ID,例如,用户102(例如,经理ID1142)和用户106(例如,经理ID2144)两者都被标识为具有编辑头衔或对用户114执行其他动作的许可,因为他们是用户114名副其实的经理。ACL130中未列出的用户114的任何经理将不能够作为关于用户114的经理进行动作。
如所提到的,当用户114(或任何用户)切换到树结构100的不同部分时问题产生了,例如,从公司的一个子组重新组织到另一子组,诸如从一个产品组到另一产品组。员工本身从树结构100的一个部分到另一部分的移动是相对直接的。在这种情况下,一旦移动被授权并如图3所示,管理员将用户114从树结构100的一个部分重新定位到另一部分。然而,树结构100中的这种移动不改变与表示用户114的对象相关联的安全设置。如图4所示,这种重新组织还将伴随与用户114相关联的ACL的手动变更。例如,如果需要更新的许可集,则要改变与经理角色140相关联的、定义哪些经理能够执行与用户114有关的经理角色的经理ID。具体地,用户106不再是用户114的经理并因此用户106将从ACL130中被删除,并且表示用户104的经理ID3146被添加到定义谁可以用关于该个体的经理角色来进行动作的经理ID列表。
如果这种类型的事件偶尔发生,或者如果树相对较小,则管理开销保持相对较低。然而,如果树较大或如果移动发生地较频繁,或者如果经由ACL对对象授予的许可集较大且复杂,则管理负担可能是压倒性的。另外,如果管理员无法正确地更新ACL,或在这么做的时候犯了错误,则安全系统在授予许可时可能易于出错,或到达其他依赖性被破坏的不稳定状态或变成循环。
因此,在各非限制性实施例中,提供了数据驱动的基于角色的系统。具体地,代替ACL中的显式ID或除此之外,可以提供基于该用户的当前数据上下文来进行求值的控制表达式,从而极大地简化复杂安全要求的设计,其中单个角色不能被推广用于承担该角色的职责的所有成员。而在过去,系统使用自定义应用代码来处理复杂的安全表达式的求值,这些系统花费时间来设计,并且如果安全要求频繁地改变,则每一次更新自定义应用代码都牵涉到极大的开发和维护成本。如果这些自定义应用代码包含逻辑或编程差错,则可能无意地损害安全或者可能招致系统停机时间。因此,除了应用本身之外,根据底层数据用编程方式驱动安全访问决策的能力是有益的。
因此,在各实施例中,提供了用于基于角色的安全的数据驱动机制来实现使用数据本身作为访问控制决策的输入的基于角色的访问控制。在某些合适的应用中,依赖上下文且通常无法用上下文无关的方式被映射到用户列表的概念可被表示为安全角色。现有方法的某些非限制性好处是围绕许可管理的减少的开销和访问控制意图的更直接的表达式。
如所提到的,访问控制的常规方法依赖于与数据集分开维护的静态许可授予集,该许可授予集授权用户、组或角色集来访问特定数据元素。虽然是可推广的,但在受保护数据集的结构足以具备描述性来通知访问控制的情况下,例如,经理可以修改Employee.Salary(员工.工资),如果User.ID(员工.ID)=Employee.ManagerID(员工.经理ID),则能够用公式方式来表达访问控制意图是有用的。作为对比,常规的基于角色的安全过程迫使组织中的每个个体经理被授予修改他们的直接下属的工资的许可。
因此,使用根据此处描述的各实施例的数据驱动的机制提供了一种关于在受保护数据集中定义的结构表达访问控制策略的方式。然后,可以将诸如上面的经理定义之类的一次性表达式形的安全角色定义用于访问控制,而不必将用户身份的特定集合指定为经理角色的成员。以下结合依赖数据的角色的实现、依赖数据的角色成员资格确定和依赖数据的许可求值来讨论附加详细内容和示例。
在一个实施例中,用于数据安全的数据驱动的机制包括两个部分。第一部分是基于角色的访问控制的一般框架内的一种新的安全角色,它可以被称为派生角色(DROL),因为DROL用来表达不是由用户ID的显式枚举来填充,而是由他们出现在其中的数据上下文的某一方面来定义的角色。第二部分是对访问控制过程的修改,它可以被称为依赖数据的角色访问控制(DRAC)。当用户试图访问数据元素时适用的DRAC具有通过DROL决定的该数据元素上的许可授予。包括这两部分的机制可以单独地实现或者作为普通的基于角色的访问控制系统的扩充来实现。
如所提到的,常规的安全角色由名称和/或ID来标识并且具有成员列表。另一方面,对于DROL,例如如下动态地确定成员资格。DROL具有三个应用定义的参数:相关联的实体、成员查询和控制表达式。在一个实施例中,在认证用户并确定了角色成员资格时,首先,捕捉用户认证权标的有用方面,例如,文本用户名和二进制SID以及任何可用的应用级标识信息。接着,针对相关联的实体执行成员查询,该实体提供来自先前步骤的元素作为查询变量。接着,如果查询返回了一实体,则确认角色成员资格并且将所返回的实体保存在用户上下文中作为在DRAC过程中后续使用的角色上下文。
使用DRAC过程来评估是否要在运行时兑现通过DROL决定的许可授予。根据DROL中指定的控制表达式,针对角色上下文来对数据元素或控制上下文进行求值。在一个实施例中,出于这种求值的目的,将控制上下文和角色上下文作为对象类型的变量来对待。如果控制表达式求值为真,则兑现许可授予。如果否,则忽略许可授予。
图5是示出将控制表达式包括在ACL508中用于动态求值的基于数据驱动角色的安全的非限制性实施例的系统框图。在这点上,用户500在510处登录到系统502的应用504。可以理解,此处描述的DRAC技术可以在系统级以及应用级实现。为了概念说明,此处的描述适用于基于员工的数据的示例,但还可以将类似的技术应用于文件系统的对象,或者需要基于动态角色限制对对象的访问的任何情况。在登录时,登录组件550检索适用于用户500使用应用504的数据上下文520。例如,登录组件可以响应于接收到基于标识用户的用户凭证的登录来查询数据上下文。因此,当用户500做出对数据506的请求时,访问控制组件560相对于数据上下文520动态地对ACL508的控制表达式进行求值来在540处确定是否可以向给定用户请求授予许可。例如,访问控制组件560可针对数据对象的当前版本动态地对程序表达式进行求值。
图6是示出根据基于数据驱动角色的安全的一个方面的在用户登录时对数据上下文的检索的框图。为了在先前结合图1-4讨论的示例的上下文中说明基于数据驱动角色的安全,考虑用户114已经被重新组织到用户104之下而非用户106之下的情况。如所提到的,因为当用户104在树中的位置改变时安全设置不会自动更新,所以根据一个实施例,当用户104登录到应用时,查询会自动地返回用户104的数据上下文。在这点上,可以将任何属性120作为用户104的数据上下文160的数据的实例来返回。例如,属性120可以包括列出由该个体管理的人的受管ID150,诸如用户114(或者可以通过检查应用于组织图表的树结构来提取该信息)。在当前示例中,假定系统/应用想要确定用户104的直接下属是谁,因为用户104希望对其中的一个员工的头衔作出变更。作为对最新信息的实时检索的结果,在这种情况下,作为数据上下文160的一部分,通过检查受管ID150来确定作为重新组织的一部分,用户104将用户114作为直接下属。
图7是示出根据基于数据驱动角色的安全的一个实施例的访问控制对象中的控制表达式的示例求值的框图。在这点上,如所提到的,用户114的职位变更不会自动地改变用户104或用户114的相关联的ACL。因此在当前示例中,定义包括DROL的ACL700,例如经理角色740,它可任选地包括某些显式受管ID760(例如,明确被枚举为用户104的直接下属的那些人),并且还可包括来自可动态地从根据图6的示例过程检索出的数据上下文中导出的控制表达式的受管ID770。在相对于数据上下文进行动态求值之后,确定用户114实际上是用户104的直接下属之一,并因此根据该角色将准许作为经理被准许的任何操作。
图8是示出基于从访问控制对象的控制表达式的求值中导出的访问控制对象的许可集的访问的授予(或拒绝)的框图。在这点上,根据图6-7的示例,如果用户104请求对表示用户114的对象的变更800,则基于ACL700中的控制表达式的动态求值,将授予该请求,假定对象中正被改变的项在经理角色的范围之内。
图9是用于定义控制表达式以结合访问控制对象来使用以实现基于数据驱动角色的安全的示例性、非限制性用户界面的框图。由此,所示具有用户界面900的工具只是用于创建用于如上所述地定义动态角色的控制表达式的工具的一个示例,并且不应该被认为是限制性的。例如,经由诸如经理之类的给定角色的简单UI,该工具的用户可以选择给定应用的功能910,例如,编辑、查看、打印、分发等等,并且还可以输入哪些数据字段920适用于该应用功能。例如,在以上示例中,受管ID数据字段将与改变经理角色的能力有关。接着,还选择当用户登录到应用时要作为数据上下文的一部分的实例来被检索的数据字段940。基于这些片段,控制表达式输入组件930可以形成控制表达式,例如通过指定当角色条件由数据上下文满足时求值为真的布尔表达式。结果,可输出该控制表达式来由基于数据驱动角色的安全系统在基于角色的访问控制对象中使用,诸如输出以用作具有这些控制表达式950的ACL。
图10是根据一个实施例的基于数据驱动角色的安全的示例性、非限制性过程的流程图。在1000处,系统查询与代表用户身份的计算设备对计算系统的计算对象的潜在访问有关的数据上下文。例如,查询可以包括响应于接收到基于标识用户身份的凭证的登录来查询数据上下文。在1010处,计算设备接收访问计算对象的请求。在1020处,基于数据上下文来动态地对管理对计算对象的访问的对象的控制表达式进行求值以形成许可集。求值可包括针对一个或多个计算对象的一个或多个当前版本来对程序表达式进行求值。在1030处,如果许可集包括对访问请求的许可,则授予对计算对象的访问。
图11是根据一个实施例的基于数据驱动角色的安全的另一示例性、非限制性过程的流程图。在1100处,经由计算设备的用户界面接收关于应用的应用功能的输入,对于该应用的应用功能,要为该应用功能的用户应用基于角色的安全控制。在1110处,接收关于适用于执行该应用功能的数据集的数据字段的进一步输入。在1120处,接收关于要从该数据集中提取来建立数据上下文的数据实例的输入,结合对应用功能的潜在使用,该数据上下文在登录时适用于给定用户。在1130处,经由用户界面基于各种输入来接收附加输入,该附加输入定义用于与不同用户对应用功能的潜在使用有关的动态求值的访问控制对象的控制表达式,并结合根据此处描述的一个或多个实施例的数据驱动角色的安全系统来确定它们的许可。
示例性联网和分布式环境
本领域普通技术人员可以理解,此处所描述的基于数据驱动角色的安全的方法和设备的各实施例和有关的各实施例可以结合任何计算机或其它客户机或服务器设备来实现,该任何计算机或其它客户机或服务器设备可作为计算机网络的一部分来部署或者被部署在分布式计算环境中,并且可以连接到任何种类的数据存储。就此,此处所描述的各实施例可以在具有任意数量的存储器或存储单元以及出现在任意数量的存储单元上的任意数量的应用程序和进程的任何计算机系统和环境中实现。这包括但不限于具有部署在具有远程或本地存储的网络环境或分布式计算环境中的服务器计算机和客户计算机的环境。
附图12提供了示例性联网或分布式计算环境的非限制性示意图。该分布式计算环境包括计算对象或设备1210、1212等以及计算对象或设备1220、1222、1224、1226、1228等,这些计算对象或设备可包括如由应用1230、1232、1234、1236、1238表示的程序、方法、数据存储、可编程逻辑等。可以理解,计算对象或设备1210、1212等以及计算对象或设备1220、1222、1224、1226、1228等可包括不同的设备,诸如PDA、音频/视频设备、移动电话、MP3播放器、膝上型计算机等。
计算对象或设备1210、1212等以及计算对象或设备1220、1222、1224、1226、1228等可经由通信网络1240或直接或间接地与一个或多个其他计算对象或设备1210、1212等以及计算对象或设备1220、1222、1224、1226、1228等通信。即使在附图12中被示为单个元件,但网络1240可包括向附图12的系统提供服务的其他计算对象或解释设备,和/或可表示未示出的多个互连网络。计算对象或设备1210、1212等或计算对象或设备1220、1222、1224、1226、1228等还可以含有应用,诸如可以利用API或其他对象、软件、固件和/或硬件的、适于实现或与根据各实施例所提供的基于数据驱动角色的安全进行通信的应用1230、1232、1234、1236、1238。
存在支持分布式计算环境的各种系统、组件和网络配置。例如,计算系统可以由有线或无线系统、本地网络或广泛分布的网络连接在一起。当前,许多网络被耦合至因特网,后者为广泛分布的计算提供了基础结构并包含许多不同的网络,但任何网络基础结构可用于变得与如各实施例中所描述的技术相关联的示例性通信。
因此,可以利用诸如客户机/服务器、对等、或混合体系结构等网络拓扑结构和网络基础结构的主机。在客户机/服务器体系结构中,尤其在联网系统中,客户机通常是访问由例如服务器等另一计算机提供的共享的网络资源的计算机。在图12的图示中,作为非限制性示例,计算对象或设备1220、1222、1224、1226、1228等可被认为是客户机而计算对象或设备1210、1212等可被认为是服务器,其中服务器提供数据服务,诸如从诸如计算对象或设备1220、1222、1224、1226、1228等客户机接收数据、存储数据、处理数据、向诸如计算对象或设备1220、1222、1224、1226、1228等客户机发送数据等,但任何计算机都可取决于环境而被认为是客户机、服务器或两者。这些计算设备中的任一个可以处理数据,或请求可指示如此处参考一个或多个实施例描述的基于数据驱动角色的安全和有关技术的服务或任务。
服务器通常是可通过诸如因特网或无线网络基础架构等远程网络或本地网络访问的远程计算机系统。客户机进程可以在第一计算机系统中活动,而服务器进程可以在第二计算机系统中活动,它们通过通信介质彼此通信,从而提供分布式功能并允许多个客户机利用服务器的信息收集能力。按照用户简档来利用的任何软件对象可以单独提供或跨多个计算设备或对象分布。
例如,在其中通信网络/总线1240是因特网的网络环境中,计算对象或设备1210、1212等可以是诸如计算对象或设备1220、1222、1224、1226、1228等经由诸如HTTP等多种已知协议中的任一种与其通信的web服务器。诸如计算对象或设备1210、1212等的服务器还可用作诸如计算对象或设备1220、1222、1224、1226、1228等的客户机,这可以是如分布式计算环境的特性。
示例性计算设备
如所提到的,此处描述的各实施例适用于其中可能需要实现基于一段或多段数据驱动角色的安全的任何设备。因此,应当理解,构想了结合此处描述的各实施例使用的所有种类的手持式、便携式和其它计算设备和计算对象,即,在设备可以结合基于数据驱动角色的安全提供某些功能的任何地方。因此,在下面的图13中描述的以下通用远程计算机仅是一个示例,且所公开的主题的各实施例可用具有网络/总线互操作性和交互的任何客户机来实现。
尽管并不是必需的,但各实施例的任意一个可以部分地经由操作系统来实现,以供设备或对象的服务开发者使用,和/或被包括在结合可操作组件来操作的应用软件中。软件可以在由诸如客户机工作站、服务器或其它设备等一个或多个计算机执行的诸如程序模块等计算机可执行指令的通用上下文中描述。本领域的技术人员可以理解,网络交互可以用各种计算机系统配置和协议来实施。
因此,图13示出了其中可实现一个或多个实施例的合适的计算系统环境1300的一个示例,尽管如上所述,计算系统环境1300仅为合适的计算环境的一个示例,并非旨在对各实施例中的任意一个的使用范围或功能提出任何限制。也不应该将计算环境1300解释为对示例性操作环境1300中示出的任一组件或其组合有任何依赖性或要求。
参考图13,用于实现此处的一个或多个实施例的示例性远程设备可以包括手持式计算机1310形式的通用计算设备。手持式计算机1310的组件可以包括但不限于:处理单元1320、系统存储器1330和将包括系统存储器在内的各种系统组件耦合至处理单元1320的系统总线1321。
计算机1310通常包括各种计算机可读介质,例如但不限于,数字多功能盘(DVD)、闪存、内部或外部硬盘、紧致盘(CD)等等,并且可以是可由计算机1310访问的任何可用介质,包括远程驱动器、云存储盘等。系统存储器1330可以包括诸如只读存储器(ROM)和/或随机存取存储器(RAM)等易失性和/或非易失性存储器形式的计算机存储介质。作为示例而非限制,存储器1330还可以包括操作系统、应用程序、其他程序模块、和程序数据。
用户可以通过输入设备1340向计算机1310输入命令和信息。监视器或其他类型的显示设备也经由接口,诸如输出接口1350连接至系统总线1321。除监视器之外,计算机还可以包括其他外围输出设备,如扬声器和打印机,它们可以通过输出接口1350连接。
计算机1310可使用至一个或多个远程计算机,诸如远程计算机1370的逻辑连接在网络化或分布式环境中操作。远程计算机1370可以是个人计算机、服务器、路由器、网络PC、对等设备或其他常见网络节点、或任何其他远程媒体消费或传输设备,并且可以包括上面关于计算机1310所描述的任何或全部元件。附图13所示的逻辑连接包括诸如局域网(LAN)或广域网(WAN)等的网络1371,但也可以包括其他网络/总线。这样的联网环境在家庭、办公室、企业范围计算机网络、内联网和因特网中是常见的。
如上所述,虽然结合各计算设备、网络和广告体系结构描述了示例性实施例,但还可将底层概念应用于其中想要结合与云或网络服务的交互来发布、构建应用或消费数据的任何网络系统和任何计算设备或系统。
有多种实现此处描述的一个或多个实施例的方式,例如,使应用和服务能使用基于数据驱动角色的安全的适当的API、工具包、驱动程序代码、操作系统、控件、独立或可下载的软件对象等等。可以从API(或其他软件对象)的观点以及从便于提供根据所描述的实施例中的一个或多个的基于数据驱动角色的安全的软件或硬件对象来构想各实施例。此处描述的各种实现和实施例可以具有完全采用硬件、部分采用硬件并且部分采用软件、以及采用软件的方面。
在本文中使用的词语“示例性”意味着用作示例、实例或说明。为避免疑惑,本文公开的主题不受限于这样的示例。此外,本文描述为“示例性”的任何方面或设计不必解释成优于其他方面或设计或比其他方面或设计有利,它也不旨在排除本领域的普通技术人员所知的等效示例性结构和技术。而且,就术语“包括”、“具有”、“包含”和其他类似的词语在详细描述或权利要求书中的使用而言,为避免疑惑,这样的术语旨在以类似于术语“包括”作为开放的过渡词的方式解释而不排除任何附加或其他元素。
如上所述,此处所述的各种技术可结合硬件或软件,或在适当时以两者的组合来实现。如在此所使用的,术语“组件”、“系统”等同样指的是计算机相关实体,或者是硬件、硬件和软件的组合、软件或执行中的软件。例如,组件可以是,但不限于是,在处理器上运行的进程、处理器、对象、可执行码、执行的线程、程序和/或计算机。作为说明,运行在计算机上的应用程序和计算机本身都可以是计算机组件。一个或多个组件可以驻留在进程和/或执行的线程中,并且组件可以位于一个计算机内和/或分布在两个或更多的计算机之间。
已经关于若干组件之间的交互描述了前述系统。应该理解,这样的系统和组件可以包括根据前述的各种置换和组合的那些组件或指定的子组件、指定的组件或子组件中的某一些、和/或另外的组件。子组件也可以被实现为通信耦合至其他组件而非被包括在父组件(分层)内的组件。另外,应注意到一个或多个组件可被组合成提供聚集功能的单个组件,或被分成若干单独的子组件,且诸如管理层等任何一个或多个中间层可被设置成通信耦合到这样的子组件以便提供集成功能。此处描述的任何组件也可以与在此未具体描述但本领域的技术人员公知的一个或多个其他组件交互。
考虑到以上描述的示例性系统,参考各附图的流程图将可以更好地理解依照所公开的主题实现的方法。尽管为了简洁起见,作为一系列框示出和描述了方法,但是,应该理解,所要求保护的主题不仅限于所描述的框的顺序,一些框可以按与此处所描绘和描述的不同的顺序进行和/或与其他框并发地进行。尽管经由流程图示出了非顺序或分支的流程,但可以理解,可实现达成相同或类似结果的各种其他分支、流程路径和框次序。此外,并非所有的所示出的方框都是实现下面所描述的方法所必需的。
虽然在某些实施例中,说明了客户机侧观点,但要出于避免存在相对应的服务器观点的疑问来理解,反之亦然。类似地,在实施方法的地方,可以提供具有存储和被配置成经由一个或多个组件实施该方法的至少一个处理器的相对应的设备。
尽管结合各附图的优选实施例描述了各实施例,但可以理解,可以使用其他类似的实施例,或可以对所描述的实施例进行修改和添加来执行相同的功能而不背离本发明。而且,此处描述的各实施例的一个或多个方面可以在多个处理芯片或设备中实现或跨多个处理芯片或设备实现,且存储可以类似地跨多个设备来实现。因此,本发明不应限于任何单个实施例,而是应该根据所附权利要求书的广度和范围来解释。

Claims (15)

1.一种用于基于角色的访问控制的方法,包括:
查询(1000)与代表用户身份的至少一个计算设备对计算系统的一个或多个计算对象的潜在访问有关的数据上下文;
响应于所述查询接收所述数据上下文;
响应于接收到所述数据上下文,基于所述数据上下文的至少一个方面来定义相对于所述一个或多个计算对象的所述用户身份的派生角色;
所述至少一个计算设备接收(1010)对所述一个或多个计算对象中的至少一个计算对象的访问请求;
基于所述派生角色来对管理对所述至少一个计算对象的访问的对象的控制表达式进行求值(1020)以形成许可集;以及
如果所述许可集包括对所述访问请求的许可,则授予(1030)对所述至少一个计算对象的访问。
2.如权利要求1所述的方法,其特征在于,所述求值(1020)包括针对所述计算系统的所述一个或多个计算对象的一个或多个当前版本来对程序表达式进行求值。
3.如权利要求1所述的方法,其特征在于,还包括:
如果所述许可集不包括对所述访问请求的许可,则拒绝对所述至少一个计算对象的访问。
4.如权利要求1所述的方法,其特征在于,所述求值(1020)包括基于所述数据上下文来对管理对所述至少一个计算对象的访问的访问控制列表的控制表达式进行求值。
5.如权利要求4所述的方法,其特征在于,所述求值(1020)包括对所述控制表达式进行求值来形成许可列表。
6.如权利要求1所述的方法,其特征在于,所述求值(1020)还包括对管理对所述至少一个计算对象的访问的对象中所包括的静态许可集进行求值。
7.如权利要求1所述的方法,其特征在于,所述查询(1000)包括响应于接收到对所述至少一个计算对象的附加访问请求来查询更新的数据上下文。
8.如权利要求1所述的方法,其特征在于,还包括:
从用户界面接收管理对所述至少一个计算对象的访问的对象的控制表达式的定义,所述定义表达了访问控制和所述计算系统的所述一个或多个计算对象之间的关系。
9.一种用于基于角色的访问控制的计算机实现的系统,包括:
登录组件(550),所述登录组件被配置成:
响应于用户登录来查询对计算系统的数据对象的访问请求的数据上下文,所述数据上下文是基于所述数据对象来被检索的,所述用户登录与用户身份相关联;
响应于所述查询接收所述数据上下文;以及
响应于接收到所述数据上下文,基于所述数据上下文的至少一个方面来定义相对于所述一个或多个计算对象的所述用户身份的派生角色;
访问控制组件(560),所述访问控制组件(560)被配置成响应于对所述数据对象中的至少一个数据对象的访问请求来动态地对基于许可集控制所述派生角色是否被授予访问的至少一个控制表达式进行求值,并且被配置成基于所述许可集来授予许可。
10.如权利要求9所述的系统,其特征在于,所述访问控制组件(560)被配置成针对所述数据对象的当前版本动态地对程序表达式进行求值。
11.如权利要求9所述的系统,其特征在于,所述访问控制组件(560)还被配置成如果所述许可集不包括对所述访问请求的许可,则拒绝对所述至少一个数据对象的访问。
12.如权利要求9所述的系统,其特征在于,所述访问控制组件(560)被配置成对管理对所述至少一个数据对象的访问的对象中所包括的静态许可集进行求值。
13.如权利要求9所述的系统,其特征在于,所述登录组件(550)被配置成响应于接收到基于标识用户的用户凭证的登录来查询所述数据上下文。
14.如权利要求9所述的系统,其特征在于,所述登录组件(550)被配置成响应于接收到对所述至少一个数据对象的附加访问请求来查询更新的数据上下文。
15.如权利要求9所述的系统,其特征在于,所述登录组件(550)被配置成查询与对表示企业员工的数据对象的访问有关的数据上下文。
CN201110122748.5A 2010-05-05 2011-05-04 基于数据驱动角色的安全 Active CN102236763B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/774,108 2010-05-05
US12/774,108 US8806578B2 (en) 2010-05-05 2010-05-05 Data driven role based security

Publications (2)

Publication Number Publication Date
CN102236763A CN102236763A (zh) 2011-11-09
CN102236763B true CN102236763B (zh) 2016-01-20

Family

ID=44887405

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110122748.5A Active CN102236763B (zh) 2010-05-05 2011-05-04 基于数据驱动角色的安全

Country Status (2)

Country Link
US (3) US8806578B2 (zh)
CN (1) CN102236763B (zh)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8789205B2 (en) * 2010-04-21 2014-07-22 Microsoft Corporation Role-based graphical user interfaces
CA2754225A1 (en) * 2011-08-29 2013-02-28 Clover Point Cartographics Ltd. Geographic asset management system and method
EP2626820A3 (en) * 2012-02-10 2016-10-19 Tata Consultancy Services Limited Role-based content rendering
US9460303B2 (en) * 2012-03-06 2016-10-04 Microsoft Technology Licensing, Llc Operating large scale systems and cloud services with zero-standing elevated permissions
CN102724302A (zh) * 2012-05-30 2012-10-10 中兴通讯股份有限公司 一种基于云存储的家庭数据中心系统和家庭数据管理方法
CN103514412B (zh) * 2012-06-26 2017-06-20 华为技术有限公司 构建基于角色的访问控制系统的方法及云服务器
US9230128B2 (en) * 2013-03-13 2016-01-05 Protegrity Corporation Assignment of security contexts to define access permissions for file system objects
US9202069B2 (en) * 2013-06-20 2015-12-01 Cloudfinder Sweden AB Role based search
US20150135296A1 (en) * 2013-11-14 2015-05-14 International Business Machines Corporation Catalog driven order management for rule definition
US20150180872A1 (en) * 2013-12-20 2015-06-25 Cube, Co. System and method for hierarchical resource permissions and role management in a multitenant environment
US9614851B1 (en) * 2014-02-27 2017-04-04 Open Invention Network Llc Security management application providing proxy for administrative privileges
CN105376198A (zh) * 2014-08-22 2016-03-02 中兴通讯股份有限公司 访问控制方法及装置
US9349022B2 (en) * 2014-10-01 2016-05-24 Sap Se Providing integrated role-based access control
CN104376272A (zh) * 2014-11-13 2015-02-25 青岛龙泰天翔通信科技有限公司 一种云计算企业信息系统及该系统的用户权限设定方法
US9773119B2 (en) * 2015-02-25 2017-09-26 Sap Se Parallel and hierarchical password protection on specific document sections
US9762585B2 (en) 2015-03-19 2017-09-12 Microsoft Technology Licensing, Llc Tenant lockbox
US10044718B2 (en) * 2015-05-27 2018-08-07 Google Llc Authorization in a distributed system using access control lists and groups
US20160373402A1 (en) * 2015-06-22 2016-12-22 Bank Of America Corporation Information Management and Notification System
US10931682B2 (en) 2015-06-30 2021-02-23 Microsoft Technology Licensing, Llc Privileged identity management
US10032045B2 (en) * 2015-10-30 2018-07-24 Raytheon Company Dynamic runtime field-level access control using a hierarchical permission context structure
CN105488431B (zh) * 2015-11-30 2019-12-13 布比(北京)网络技术有限公司 区块链系统权限管理方法和装置
US10110610B2 (en) * 2015-12-08 2018-10-23 Sap Se Dynamic permission assessment and reporting engines
US9860690B2 (en) 2016-02-01 2018-01-02 International Business Machines Corporation Method, apparatus and product for determining presence-related roles
CN108780391A (zh) * 2016-03-25 2018-11-09 华为技术有限公司 网络服务组件访问上下文数据的方法、装置及系统
US10530776B2 (en) 2016-06-29 2020-01-07 International Business Machines Corporation Dynamic cognitive access control list management
US10713272B1 (en) * 2016-06-30 2020-07-14 Amazon Technologies, Inc. Dynamic generation of data catalogs for accessing data
US9705931B1 (en) * 2016-07-13 2017-07-11 Lifetrack Medical Systems Inc. Managing permissions
US10372934B2 (en) * 2016-07-21 2019-08-06 Salesforce.Com, Inc. Access controlled queries against user data in a datastore
US20190146129A1 (en) * 2016-07-29 2019-05-16 Faraday&Future Inc. Light directing filters
US10503923B1 (en) * 2016-08-31 2019-12-10 Amazon Technologies, Inc. Centralized data store for multiple data processing environments
MX2019002573A (es) * 2016-09-09 2019-08-01 Microsoft Technology Licensing Llc Rastreo de objetos a traves de diferentes partes.
US10740483B2 (en) * 2016-11-22 2020-08-11 Sap Se Unified instance authorization based on attributes and hierarchy assignment
US10621210B2 (en) 2016-11-27 2020-04-14 Amazon Technologies, Inc. Recognizing unknown data objects
CA3054609A1 (en) * 2017-02-27 2018-08-30 Ivanti, Inc. Systems and methods for role-based computer security configurations
US11048695B2 (en) * 2017-09-12 2021-06-29 Sap Se Context-aware data commenting system
US11050753B2 (en) * 2017-09-29 2021-06-29 Oracle International Corporation Data driven role permissions
CN107633184A (zh) * 2017-10-19 2018-01-26 上海砾阳软件有限公司 一种用于管理用户权限的数据库及方法与设备
US10642451B2 (en) 2017-11-06 2020-05-05 Lifetrack Medical Systems Private Ltd. Computer control of access to fields and features of an application
EP3515035B1 (en) * 2018-01-23 2021-06-02 ABB Schweiz AG Computer system and method for controlling access to digital data of a device
CN108521411A (zh) * 2018-04-02 2018-09-11 中国银行股份有限公司 基于访问控制策略的访问控制方法、装置及系统
US10984122B2 (en) 2018-04-13 2021-04-20 Sophos Limited Enterprise document classification
CN110365715A (zh) * 2019-08-26 2019-10-22 北京思特奇信息技术股份有限公司 一种多租户操作权限确定方法及装置
US11520909B1 (en) * 2020-03-04 2022-12-06 Wells Fargo Bank, N.A. Role-based object identifier schema
CN111885071A (zh) * 2020-07-29 2020-11-03 苏州巴涛信息科技有限公司 一种基于区块链的通信设备接入网络时免授权系统及方法
US11109214B1 (en) 2020-08-31 2021-08-31 Motorola Solutions, Inc. Device, system and method for serving interfaces to client access devices based on assigned roles
US20220114265A1 (en) * 2020-10-08 2022-04-14 Google Llc Unified viewing of roles and permissions in a computer data processing system
US11689534B1 (en) * 2020-12-01 2023-06-27 Amazon Technologies, Inc. Dynamic authorization of users for distributed systems
US20230206371A1 (en) * 2021-12-27 2023-06-29 Rockwell Automation Technologies, Inc. Using software encoded processing for a safety/security application to achieve sil rated integrity for retrieving authentication credentials
US11977728B1 (en) 2022-12-22 2024-05-07 Lifetrack Medical Systems Private Ltd. Interface-integrated permissions configuration

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1537262A (zh) * 2001-05-24 2004-10-13 �Ҵ���˾ 带有活动角色的基于角色的访问控制模型的方法和系统
WO2008118803A1 (en) * 2007-03-27 2008-10-02 Microsoft Corporation Firewall restriction using manifest

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5564016A (en) * 1993-12-17 1996-10-08 International Business Machines Corporation Method for controlling access to a computer resource based on a timing policy
US6295605B1 (en) * 1998-09-10 2001-09-25 International Business Machines Corporation Method and apparatus for multi-level security evaluation
US6289458B1 (en) * 1998-09-21 2001-09-11 Microsoft Corporation Per property access control mechanism
US7140035B1 (en) * 2000-02-01 2006-11-21 Teleran Technologies, Inc. Rule based security policy enforcement
US20030014394A1 (en) 2001-03-22 2003-01-16 Shinji Fujiwara Cell-level data access control using user-defined functions
US20020188611A1 (en) * 2001-04-19 2002-12-12 Smalley Donald A. System for managing regulated entities
US20020188616A1 (en) * 2001-06-07 2002-12-12 Chinnici Roberto R. Database access bridge system and process
US7155720B2 (en) * 2001-10-26 2006-12-26 Hewlett-Packard Development Company, L.P. Dynamic task assignment in workflows
US6950825B2 (en) * 2002-05-30 2005-09-27 International Business Machines Corporation Fine grained role-based access to system resources
US7664668B2 (en) * 2003-12-09 2010-02-16 Siebel Systems, Inc. Lead management in multi-tiered sales organizations
US20050273346A1 (en) * 2004-06-02 2005-12-08 Frost Richard N Real property information management system and method
US20050278790A1 (en) * 2004-06-10 2005-12-15 International Business Machines Corporation System and method for using security levels to simplify security policy management
US7475247B2 (en) * 2004-12-16 2009-01-06 International Business Machines Corporation Method for using a portable computing device as a smart key device
US7584499B2 (en) * 2005-04-08 2009-09-01 Microsoft Corporation Policy algebra and compatibility model
US8028325B2 (en) * 2005-08-08 2011-09-27 AOL, Inc. Invocation of a third party's service
US7693838B2 (en) 2005-11-12 2010-04-06 Intel Corporation Method and apparatus for securely accessing data
US7711607B2 (en) * 2005-12-30 2010-05-04 Sap Ag Method and system for deploying a business application
US8448240B2 (en) * 2006-01-31 2013-05-21 Koninklijke Philips Electronics N.V. Role-based access control
US8336078B2 (en) 2006-07-11 2012-12-18 Fmr Corp. Role-based access in a multi-customer computing environment
US7685123B1 (en) * 2006-08-30 2010-03-23 Network Appliance, Inc. Method and system for controlling access to dynamically specified resources
US20080263009A1 (en) * 2007-04-19 2008-10-23 Buettner Raymond R System and method for sharing of search query information across organizational boundaries
US8819066B2 (en) * 2007-12-21 2014-08-26 International Business Machines Corporation Employing organizational context within a collaborative tagging system
US9165044B2 (en) 2008-05-30 2015-10-20 Ethority, Llc Enhanced user interface and data handling in business intelligence software
US8099767B2 (en) * 2008-07-01 2012-01-17 International Business Machines Corporation Secure agent-less enterprise infrastructure discovery
WO2010109331A1 (en) * 2009-03-26 2010-09-30 Jostle Corporation Systems and methods for managing organizational information
CN102460393B (zh) * 2009-05-01 2014-05-07 思杰系统有限公司 用于在虚拟存储资源之间建立云桥的系统和方法
US20110213789A1 (en) * 2010-02-26 2011-09-01 Salesforce.Com, Inc. System, method and computer program product for determining an amount of access to data, based on a role

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1537262A (zh) * 2001-05-24 2004-10-13 �Ҵ���˾ 带有活动角色的基于角色的访问控制模型的方法和系统
WO2008118803A1 (en) * 2007-03-27 2008-10-02 Microsoft Corporation Firewall restriction using manifest

Also Published As

Publication number Publication date
US20140351892A1 (en) 2014-11-27
US20170111367A1 (en) 2017-04-20
US9537863B2 (en) 2017-01-03
US8806578B2 (en) 2014-08-12
US10367821B2 (en) 2019-07-30
CN102236763A (zh) 2011-11-09
US20110277017A1 (en) 2011-11-10

Similar Documents

Publication Publication Date Title
CN102236763B (zh) 基于数据驱动角色的安全
CN101785243B (zh) 可传递受限安全令牌
Neumann et al. An approach to engineer and enforce context constraints in an RBAC environment
Wetherill Knowledge management for the construction industry: the e-cognos project
DK2671186T3 (en) SECURE INSTRUMENTATION OF A SOCIAL WEB THROUGH A SECURITY MODEL
CN107430712A (zh) 具有可分配管理的网络可接入资源管理系统
US20120198513A1 (en) Secure social web orchestration via a security model
JP2008533630A (ja) モバイルデータシステムのためのデータ管理
US20170300701A1 (en) Secure and compliant execution of processes
CN107426134A (zh) 一种基于关系的访问控制方法
US10757112B2 (en) Access control in a content management system
Debreceni et al. Enforcing fine-grained access control for secure collaborative modelling using bidirectional transformations
Münch et al. An innovative virtual enterprise approach to agile micro and SME-based collaboration networks
CN101383030A (zh) 项目进行过程中的问题跟踪系统及问题跟踪方法
Bork et al. Requirements engineering for model-based enterprise architecture management with ArchiMate
Deckler et al. Mastering Microsoft Power BI: Expert techniques to create interactive insights for effective data analytics and business intelligence
Debreceni et al. Secure views for collaborative modeling
Rahmansyah et al. Service oriented architecture governance implementation in a software development project as an enterprise solutions
CN106570413A (zh) 一种文件系统访问权限的控制系统及方法
Jain et al. Ontology-based authorization model for XML data in distributed systems
Frenkel et al. Supporting information access rights and visibility levels in virtual enterprises
Gmelch User-Centric application integration in enterprise portal systems
CN109308188A (zh) 一种基于区块链的版本控制方法及系统
CN108197493A (zh) 一种公有云系统的升级方法
Takabi A semantic based policy management framework for cloud computing environments

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150724

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150724

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant