CN109587151A - 访问控制方法、装置、设备及计算机可读存储介质 - Google Patents
访问控制方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109587151A CN109587151A CN201811526860.3A CN201811526860A CN109587151A CN 109587151 A CN109587151 A CN 109587151A CN 201811526860 A CN201811526860 A CN 201811526860A CN 109587151 A CN109587151 A CN 109587151A
- Authority
- CN
- China
- Prior art keywords
- access
- resource
- target resource
- role
- request
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种访问控制方法、装置、设备及计算机可读存储介质。本发明的方法,通过预先配置的黑名单和白名单,判断本次访问请求是否是所述目标资源允许的访问请求,能够更加灵活地、精细地配置禁止角色访问的资源和允许角色访问的资源;通过设置资源组,只有本次访问请求是所述目标资源允许的访问请求,并且所述请求者与所述目标资源属于同一资源组时,才允许请求者访问所述目标资源;从而可以通过将不同应用系统的资源放入不同的资源组中,实现对不同应用系统资源访问权限的隔离配置,实现多个应用系统的访问控制模块的复用,可以提高访问控制模块的开发和测试的效率,并且大大降低了访问控制模块的开发和测试成本。
Description
技术领域
本发明涉及访问控制技术领域,尤其涉及一种访问控制方法、装置、设备及计算机可读存储介质。
背景技术
应用系统为保证系统资源的安全,需要控制用户访问系统资源的权限。资源安全通常可以归纳为实现以下2个目标:阻止未经授权的请求获取需要授权的资源;确保已经获得授权的请求能够获取权限范围内的资源。
访问控制是应用系统中最为基础的安全组成部分。在大多数应用系统中,访问控制只是属于应用系统中的一个安全模块,它与应用系统紧密耦合在一起。即使是同一个团队开发的多套应用系统,也需要为每一套应用系统开发独立的访问控制模块。因此,现有的访问控制方法存在访问控制组件被重复设计和实现的问题,访问控制模块的开发和测试的效率低、且成本高。
发明内容
本发明提供一种访问控制方法、装置、设备及计算机可读存储介质,用以解决现有的访问控制方法存在访问控制组件被重复设计和实现的问题,访问控制模块的开发和测试的效率低、且成本高的问题。
本发明的一个方面是提供一种访问控制方法,包括:
根据访问请求,获取请求者信息、请求访问的目标资源的资源属性信息、以及请求操作类型,所述请求者信息至少包括请求者标识、角色和所属资源组,所述资源属性信息至少包括资源标识和所属的资源组;
根据所述请求操作类型、所述请求者的角色、目标资源的资源属性信息、以及预先配置的黑名单和白名单,判断本次访问请求是否是所述目标资源允许的访问请求;
若本次访问请求是所述目标资源允许的访问请求,则判断所述请求者所属资源组与所述目标资源所属资源组是否一致;
若所述请求者所属资源组与所述目标资源所属资源组一致,则允许所述请求者访问所述目标资源。
本发明的另一个方面是提供一种访问控制装置,包括:
信息获取模块,用于根据访问请求,获取请求者信息、请求访问的目标资源的资源属性信息、以及请求操作类型,所述请求者信息至少包括请求者标识、角色和所属资源组,所述资源属性信息至少包括资源标识和所属的资源组;
访问控制模块,用于:
根据所述请求操作类型、所述请求者的角色、目标资源的资源属性信息、以及预先配置的黑名单和白名单,判断本次访问请求是否是所述目标资源允许的访问请求;
若本次访问请求是所述目标资源允许的访问请求,则判断所述请求者所属资源组与所述目标资源所属资源组是否一致;
若所述请求者所属资源组与所述目标资源所属资源组一致,则允许所述请求者访问所述目标资源。
本发明的另一个方面是提供一种访问控制设备,包括:
存储器,处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,
所述处理器运行所述计算机程序时实现上述所述的方法。
本发明的另一个方面是提供一种计算机可读存储介质,存储有计算机程序,
所述计算机程序被处理器执行时实现上述所述的方法。
本发明提供的访问控制方法、装置、设备及计算机可读存储介质,通过预先配置的黑名单和白名单,判断本次访问请求是否是所述目标资源允许的访问请求,能够更加灵活地、精细地配置禁止角色访问的资源和允许角色访问的资源;通过设置资源组,只有本次访问请求是所述目标资源允许的访问请求,并且所述请求者与所述目标资源属于同一资源组时,才允许请求者访问所述目标资源;从而可以通过将不同应用系统的资源放入不同的资源组中,实现对不同应用系统资源访问权限的隔离配置,实现多个应用系统的访问控制模块的复用,可以提高访问控制模块的开发和测试的效率,并且大大降低了访问控制模块的开发和测试成本。
附图说明
图1为本发明实施例一提供的用户、角色和资源组的关系示意图;
图2为本发明实施例一提供的访问控制方法流程图;
图3为本发明实施例二提供的访问控制方法流程图;
图4为本发明实施例三提供的访问控制装置的结构示意图;
图5为本发明实施例五提供的访问控制设备的结构示意图。
通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
本发明所涉及的术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
实施例一
本实施例提供的访问控制方法是基于资源组和角色的访问控制,资源组用于限定权限的作用范围,即角色具有的权限只在相应的资源组内有效。通过将不同应用系统的资源放入不同的资源组中,实现对不同应用系统资源访问权限的隔离配置。
另外,本实施例中,用户和角色也是一种资源,不同的应用系统的用户和角色作为系统资源包括在不同的资源组中。用户、角色和资源组的关系如
图1所示,一个用户对应一个角色,而每个角色可以配置多个其他资源的权限。
图2为本发明实施例一提供的访问控制方法流程图。本实施例中的方法应用于进行访问控制的访问控制设备。如图2所示,该方法具体步骤如下:
步骤S101、根据访问请求,获取请求者信息、请求访问的目标资源的资源属性信息、以及请求操作类型,请求者信息至少包括请求者标识、角色和所属资源组,资源属性信息至少包括资源标识和所属的资源组。
访问控制设备接收到访问请求之后,可以从访问请求中解析出请求者信息、请求访问的目标资源的资源属性信息、以及请求操作类型。
其中,请求者信息至少包括请求者标识、角色和所属资源组,请求者信息还可以包括用户其他属性信息,本实施例此处不做具体限定。
资源属性信息至少包括资源标识和所属的资源组,资源属性信息还可以包括目标资源的其他属性信息,本实施例此处不做具体限定。
可选的,访问控制设备还可以从访问请求中解析出请求操作类型,请求者标识和目标资源标识,然后根据请求者标识获取请求者信息,根据目标资源标识获取目标资源的资源属性信息。
步骤S102、根据请求操作类型、请求者的角色、目标资源的资源属性信息、以及预先配置的黑名单和白名单,判断本次访问请求是否是目标资源允许的访问请求。
其中,黑名单和白名单可以称为访问控制列表,黑名单用于禁止某些角色访问某些系统资源,白名单用于允许某些角色访问某些系统资源。
该步骤中,通过黑名单,以及请求操作类型、请求者的角色、目标资源的资源属性信息,能够确定本次访问请求是否是黑名单中禁止对目标资源的访问请求。通过白名单,以及请求操作类型、请求者的角色、目标资源的资源属性信息,能够确定本次访问请求是否是白名单中允许对目标资源的访问请求。
本实施例中,如果本次访问请求是黑名单中禁止对目标资源的访问请求,或者本次访问请求不是白名单中允许对目标资源的访问请求,那么确定本次访问请求不是目标资源允许的访问请求,执行步骤S103。
如果本次访问请求不是黑名单中禁止对目标资源的访问请求,并且本次访问请求是白名单中允许对目标资源的访问请求,那么确定本次访问请求是目标资源允许的访问请求,执行步骤S104。
步骤S103、拒绝请求者访问目标资源。
步骤S104、判断请求者所属资源组与目标资源所属资源组是否一致。
本实施例中,若确定本次访问请求是目标资源允许的访问请求,那么该步骤中,进一步判断请求者所属资源组与目标资源所属资源组是否一致,来确定请求者和目标资源是否属于同一个资源组,从而可以确定请求者和目标资源是否属于同一个应用系统。
若请求者所属资源组与目标资源所属资源组一致,执行步骤S105;若请求者所属资源组与目标资源所属资源组不一致,执行步骤S103,拒绝请求者访问目标资源。
步骤S105、允许请求者访问目标资源。
本实施例中,若请求者所属资源组与目标资源所属资源组一致,则说明本次访问请求是目标资源允许的访问请求,并且请求者和目标资源属于同一个资源组,从而可以确定请求者和目标资源属于同一个应用系统,允许请求者访问目标资源。
本实施例中,若请求者所属资源组与目标资源所属资源组不一致,则虽然本次访问请求是目标资源允许的访问请求,但是请求者和目标资源不属于同一个资源组,从而可以确定请求者和目标资源不属于同一个应用系统,拒绝请求者访问目标资源。
本发明实施例通过预先配置的黑名单和白名单,判断本次访问请求是否是目标资源允许的访问请求,能够更加灵活地、精细地配置禁止角色访问的资源和允许角色访问的资源;通过设置资源组,只有本次访问请求是目标资源允许的访问请求,并且请求者与目标资源属于同一资源组时,才允许请求者访问目标资源;从而可以通过将不同应用系统的资源放入不同的资源组中,实现对不同应用系统资源访问权限的隔离配置,实现多个应用系统的访问控制模块的复用,可以提高访问控制模块的开发和测试的效率,并且大大降低了访问控制模块的开发和测试成本。
实施例二
图3为本发明实施例二提供的访问控制方法流程图。在上述实施例一的基础上,本实施例中,根据请求操作类型、请求者的角色、目标资源的资源属性信息、以及预先配置的黑名单和白名单,判断本次访问请求是否是目标资源允许的访问请求,包括验证本次访问请求是否满足以下几个基本的访问规则:第一条规则是禁止任何角色访问未被配置的资源;第二条规则是优先检查黑名单资源,即检查目标资源是否被禁止访问;第三条规则是禁止跨资源组访问资源,如果请求者不属于目标资源的资源组,无论其具有何种角色均禁止访问目标资源;第四条规则是禁止访问同级角色的资源;第五条规则是禁止自删除,保护用户资源不被其自身删除。
本实施例中,黑名单包括某些资源的禁止访问规则,主要用于保护一些特殊的系统资源不被修改。白名单包括某些资源的允许访问规则。
如图3所示,根据请求操作类型、请求者的角色、目标资源的资源属性信息、以及预先配置的黑名单和白名单,判断本次访问请求是否是目标资源允许的访问请求,具体可以采用如下步骤实现:
步骤S201、判断黑名单是否包括目标资源的禁止访问规则。
其中,禁止访问规则至少包括禁止访问的操作类型和禁止访问的角色。
若黑名单包括目标资源的禁止访问规则,则执行步骤S202。
若黑名单不包括目标资源的禁止访问规则,则执行步骤S204,根据白名单,判断本次访问请求是否是目标资源允许的访问请求。
步骤S202、判断请求操作类型是否是目标资源禁止访问的操作类型,以及请求者的角色及其子角色是否是目标资源禁止访问的角色。该步骤中,可以分别判断请求操作类型是否是目标资源禁止访问的操作类型,判断请求者的角色是否是目标资源禁止访问的角色,以及判断请求者的角色的子角色是否是目标资源禁止访问的角色;另外,这三次判断可以并行进行,或者可以按照预设顺序执行,本实施例此处不做具体限定。
若请求操作类型是目标资源禁止访问的操作类型、或者请求者的角色是目标资源禁止访问的角色、或者请求者的角色的子角色是目标资源禁止访问的角色,则执行步骤S203。
若请求操作类型不是目标资源禁止访问的操作类型、并且请求者的角色及其子角色均不是目标资源禁止访问的角色,则执行步骤S204,根据白名单,判断本次访问请求是否是目标资源允许的访问请求。
具体的,该步骤中,判断请求者的角色及其子角色是否是目标资源禁止访问的角色,可以采用如下方式实现:
首先判断请求者的角色是否是目标资源禁止访问的角色;如果请求者的角色是目标资源禁止访问的角色,那么可以直接执行步骤S203确定本次访问请求不是目标资源允许的访问请求。如果请求者的角色不是目标资源禁止访问的角色,那么,判断请求者的角色是否支持角色级联,若请求者的角色不支持角色级联,则可以直接执行步骤S203,确定本次访问请求不是目标资源允许的访问请求。若请求者的角色支持角色级联,则进一步判断请求者的角色的子角色是否是目标资源禁止访问的角色;若请求者的角色的子角色是目标资源禁止访问的角色,则执行步骤S203,确定本次访问请求不是目标资源允许的访问请求;若请求者的角色的子角色不是目标资源禁止访问的角色,则执行步骤S204,根据白名单判断本次访问请求是否是目标资源允许的访问请求。
步骤S203、确定本次访问请求不是目标资源允许的访问请求。
上述步骤S210-S203为通过黑名单验证本次访问是否满足上述第一条规则的一种可行的实施方式,也就是验证本次请求访问的目标资源是否是禁止请求者的角色访问的资源。
若步骤S202中,请求操作类型是目标资源禁止访问的操作类型、或者请求者的角色是目标资源禁止访问的角色、或者请求者的角色的子角色是目标资源禁止访问的角色,则可以确定本次请求访问的目标资源是禁止请求者的角色访问的资源,那么确定本次访问请求不是目标资源允许的访问请求。
若步骤S201中黑名单不包括目标资源的禁止访问规则,或者步骤S202中请求操作类型不是目标资源禁止访问的操作类型、并且请求者的角色及其子角色均不是目标资源禁止访问的角色,则可以确定本次请求访问的目标资源不是禁止请求者的角色访问的资源,可以继续验证本次访问是否满足其他的访问规则。
步骤S204、判断白名单是否包括目标资源的允许访问规则。
其中,允许访问规则至少包括允许访问的操作类型和允许访问的角色。
若白名单不包括目标资源的允许访问规则,则执行步骤S203,确定本次访问请求不是目标资源允许的访问请求。
若白名单包括目标资源的允许访问规则,则执行步骤S205。
步骤S205、判断请求操作类型是否是目标资源允许访问的操作类型,以及请求者的角色及其子角色是否是目标资源允许访问的角色。
该步骤中,可以分别判断请求操作类型是否是目标资源允许访问的操作类型,判断请求者的角色是否是目标资源允许访问的角色,以及判断请求者的角色的子角色是否是目标资源允许访问的角色;另外,这三次判断可以并行进行,或者可以按照预设顺序执行,本实施例此处不做具体限定。
若请求操作类型不是目标资源允许访问的操作类型,或者请求者的角色及其子角色均不是目标资源允许访问的角色,则执行步骤S203,确定本次访问请求不是目标资源允许的访问请求。
若请求操作类型是目标资源允许访问的操作类型,并且请求者的角色或其子角色是目标资源允许访问的角色,则执行步骤S206。
具体的,该步骤中,判断请求者的角色及其子角色是否是目标资源允许访问的角色,可以采用如下方式实现:
首先判断请求者的角色是否是目标资源允许访问的角色;如果请求者的角色是目标资源允许访问的角色,那么执行步骤S206。如果请求者的角色不是目标资源允许访问的角色,那么,判断请求者的角色是否支持角色级联,若请求者的角色不支持角色级联,则执行步骤S203,确定本次访问请求不是目标资源允许的访问请求。若请求者的角色支持角色级联,则进一步判断请求者的角色的子角色是否是目标资源允许访问的角色;若请求者的角色的子角色是目标资源允许访问的角色,则执行步骤S206;若请求者的角色的子角色不是目标资源允许访问的角色,则执行步骤S203,确定本次访问请求不是目标资源允许的访问请求。
上述步骤S204-S205为通过白名单验证本次请求访问的目标资源是否是允许请求者的角色访问的资源。
若步骤S204中确定白名单不包括目标资源的允许访问规则,或者上述步骤S205中确定请求操作类型不是目标资源允许访问的操作类型,或者请求者的角色及其子角色均不是目标资源允许访问的角色,则可以确定本次请求访问的目标资源不是允许请求者的角色访问的资源。
若上述步骤S205中确定请求操作类型是目标资源允许访问的操作类型,并且请求者的角色或其子角色是目标资源允许访问的角色,则可以确定本次请求访问的目标资源是允许请求者的角色访问的资源。
步骤S206、判断目标资源是否是请求者的角色。
该步骤用于验证本次访问请求是否满足上述第四条规则,也就是验证目标资源是否是请求者的同级角色资源。
若目标资源是请求者的角色,则可以确定本次访问请求不满足上述第四条规则,执行步骤S203,确定本次访问请求不是目标资源允许的访问请求。
若目标资源不是请求者的角色,则可以确定本次访问请求满足上述第四条规则,执行步骤S207。
步骤S207、判断目标资源是否是请求者本身。
该步骤为验证本次访问请求是否满足上述第五条规则,也就是验证本次访问是否执行请求者的自删除的操作。
若目标资源是请求者本身,且请求操作类型为删除,则可以确定本次访问是执行请求者的自删除的操作,不满足上述第五条规则,执行步骤S203,确定本次访问请求不是目标资源允许的访问请求。
若目标资源不是请求者本身,或者请求操作类型不是删除,则可以确定本次访问不是执行请求者的自删除的操作,满足上述第五条规则,执行步骤S208。
步骤S208、确定本次访问请求是目标资源允许的访问请求。
另外,上述实施例一中的步骤S104判断请求者所属资源组与目标资源所属资源组是否一致,用于验证本次访问请求是否满足上述第三条规则。
本实施例中图3仅仅提供了验证本次访问请求是否满足多条访问规则的过程一种可行的实施方式,对各条访问规则进行验证的先后顺序可以不同,本实施例中对于各访问规则的验证的顺序不做具体限定。
例如,在本实施例的其他实施方式中,可以将验证本次访问请求是否满足上述第三条规则的步骤插入到步骤S206之前,在验证第四条规则和第五条规则之前,对第三天规则进行验证。
本发明实施例提供了访问控制方法的一种具体实施方式。在本实施例中的另一实施方式中,在资源组的标识信息采用预设的正则表达式表示。在根据访问请求,获取请求者信息、请求访问的目标资源的资源属性信息、以及请求操作类型之后,可以先判断目标资源所属的资源组的标识信息是否满足正则表达式;若目标资源所属的资源组的标识信息不满足正则表达式,则拒绝请求者访问目标资源;若目标资源所属的资源组的标识信息满足正则表达式,则继续执行根据请求操作类型、请求者的角色、目标资源的资源属性信息、以及预先配置的黑名单和白名单,判断本次访问请求是否是目标资源允许的访问请求的过程。
具体的,可以结合微服务架构中的资源表示方法来定义系统资源,即每个统一资源标识符(Uniform Resource Identifier,URI)(本实施例中的URI均是指相对的URI)被视为一种或一类资源,并结合正则表达式,来达到灵活定义资源的目的。一个URI可以被定义为表示一类资源,也可以被定义为表示具体的某个资源。
例如,用URI=/groups/^[A-Za-z0-9_]{3,16}/users来表示资源组内的用户资源,其中^[A-Za-z0-9_]{3,16}是表示资源的标识信息的正则表达式,即资源的标识信息被限定为:包含大小写字母、数字和下划线,长度为3-16的字符串。在访问控制的鉴权过程中,如果访问请求携带的目标资源的资源组标识信息不满足正则表达式要求,则可以确定本次访问请求为非授权请求,拒绝请求者访问目标资源。
可选的,本实施例中,白名单和黑名单可以以树形结构存储信息。例如,可以通过前缀树存储系统资源及权限信息,每个节点存储相应的权限信息(包括角色和角色的权限集合)。在检索资源时,可以从根节点出发到每一个是否存在属性的值为存在(例如,属性exits的值为true)的节点的路径即为一种或者一类资源。检索过程中支持正则匹配,检索一个URI的时间复杂度最大为O(k),k为被检索的URI中的目录数量,该目标数量通常远小于系统资源总数。
本发明实施例通过预先配置的黑名单和白名单,判断本次访问请求是否是目标资源允许的访问请求,能够更加灵活地、精细地配置禁止角色访问的资源和允许角色访问的资源;通过设置资源组,只有本次访问请求是目标资源允许的访问请求,并且请求者与目标资源属于同一资源组时,才允许请求者访问目标资源;从而可以通过将不同应用系统的资源放入不同的资源组中,实现对不同应用系统资源访问权限的隔离配置,实现多个应用系统的访问控制模块的复用,可以提高访问控制模块的开发和测试的效率,并且大大降低了访问控制模块的开发和测试成本。
实施例三
图4为本发明实施例三提供的访问控制装置的结构示意图。本发明实施例提供的访问控制装置可以执行访问控制方法实施例提供的处理流程。如图4所示,该访问控制装置30包括:信息获取模块301和访问控制模块302。
具体地,信息获取模块301用于根据访问请求,获取请求者信息、请求访问的目标资源的资源属性信息、以及请求操作类型,请求者信息至少包括请求者标识、角色和所属资源组,资源属性信息至少包括资源标识和所属的资源组。
访问控制模块302用于:
根据请求操作类型、请求者的角色、目标资源的资源属性信息、以及预先配置的黑名单和白名单,判断本次访问请求是否是目标资源允许的访问请求;若本次访问请求是目标资源允许的访问请求,则判断请求者所属资源组与目标资源所属资源组是否一致;若请求者所属资源组与目标资源所属资源组一致,则允许请求者访问目标资源。
本发明实施例提供的装置可以具体用于执行上述实施例一所提供的方法实施例,具体功能此处不再赘述。
本发明实施例通过预先配置的黑名单和白名单,判断本次访问请求是否是目标资源允许的访问请求,能够更加灵活地、精细地配置禁止角色访问的资源和允许角色访问的资源;通过设置资源组,只有本次访问请求是目标资源允许的访问请求,并且请求者与目标资源属于同一资源组时,才允许请求者访问目标资源;从而可以通过将不同应用系统的资源放入不同的资源组中,实现对不同应用系统资源访问权限的隔离配置,实现多个应用系统的访问控制模块的复用,可以提高访问控制模块的开发和测试的效率,并且大大降低了访问控制模块的开发和测试成本。
实施例四
在上述实施例三的基础上,本实施例中,访问控制模块还用于:
若请求者所属资源组与目标资源所属资源组不一致,则拒绝请求者访问目标资源。
可选的,访问控制模块还用于:
若本次访问请求不是目标资源允许的访问请求,则拒绝请求者访问目标资源。
可选的,访问控制模块还用于:
判断黑名单是否包括目标资源的禁止访问规则,禁止访问规则至少包括禁止访问的操作类型和禁止访问的角色;若黑名单不包括目标资源的禁止访问规则,则根据白名单,判断本次访问请求是否是目标资源允许的访问请求;若黑名单包括目标资源的禁止访问规则,则判断请求操作类型是否是目标资源禁止访问的操作类型,以及请求者的角色及其子角色是否是目标资源禁止访问的角色;若请求操作类型是目标资源禁止访问的操作类型、或者请求者的角色是目标资源禁止访问的角色、或者请求者的角色的子角色是目标资源禁止访问的角色,则确定本次访问请求不是目标资源允许的访问请求;若请求操作类型不是目标资源禁止访问的操作类型、并且请求者的角色及其子角色均不是目标资源禁止访问的角色,则根据白名单,判断本次访问请求是否是目标资源允许的访问请求。
可选的,访问控制模块还用于:
判断白名单是否包括目标资源的允许访问规则,允许访问规则至少包括允许访问的操作类型和允许访问的角色;若白名单不包括目标资源的允许访问规则,则确定本次访问请求不是目标资源允许的访问请求;若白名单包括目标资源的允许访问规则,则判断请求操作类型是否是目标资源允许访问的操作类型,以及请求者的角色及其子角色是否是目标资源允许访问的角色;若请求操作类型不是目标资源允许访问的操作类型,或者请求者的角色及其子角色均不是目标资源允许访问的角色,则确定本次访问请求不是目标资源允许的访问请求。
可选的,访问控制模块还用于:
若请求操作类型是目标资源允许访问的操作类型,并且请求者的角色或其子角色是目标资源允许访问的角色,则判断目标资源是否是请求者的角色;若目标资源是请求者的角色,则确定本次访问请求不是目标资源允许的访问请求;若目标资源不是请求者的角色,则判断目标资源是否是请求者本身;若目标资源是请求者本身,且请求操作类型为删除,则确定本次访问请求不是目标资源允许的访问请求;若目标资源不是请求者本身,或者请求操作类型不是删除,则确定本次访问请求是目标资源允许的访问请求。
可选的,资源组的标识信息采用预设的正则表达式表示,访问控制模块还用于:
判断目标资源所属的资源组的标识信息是否满足正则表达式;若不满足正则表达式,则拒绝请求者访问目标资源。
本发明实施例提供的装置可以具体用于执行上述实施例二所提供的方法实施例,具体功能此处不再赘述。
本发明实施例通过预先配置的黑名单和白名单,判断本次访问请求是否是目标资源允许的访问请求,能够更加灵活地、精细地配置禁止角色访问的资源和允许角色访问的资源;通过设置资源组,只有本次访问请求是目标资源允许的访问请求,并且请求者与目标资源属于同一资源组时,才允许请求者访问目标资源;从而可以通过将不同应用系统的资源放入不同的资源组中,实现对不同应用系统资源访问权限的隔离配置,实现多个应用系统的访问控制模块的复用,可以提高访问控制模块的开发和测试的效率,并且大大降低了访问控制模块的开发和测试成本。
实施例五
图5为本发明实施例五提供的访问控制设备的结构示意图。如图5所示,该访问控制设备50包括:处理器501,存储器502,以及存储在存储器502上并可由处理器501执行的计算机程序。
处理器501在执行存储在存储器502上的计算机程序时实现上述任一方法实施例提供的访问控制方法。
本发明实施例通过预先配置的黑名单和白名单,判断本次访问请求是否是目标资源允许的访问请求,能够更加灵活地、精细地配置禁止角色访问的资源和允许角色访问的资源;通过设置资源组,只有本次访问请求是目标资源允许的访问请求,并且请求者与目标资源属于同一资源组时,才允许请求者访问目标资源;从而可以通过将不同应用系统的资源放入不同的资源组中,实现对不同应用系统资源访问权限的隔离配置,实现多个应用系统的访问控制模块的复用,可以提高访问控制模块的开发和测试的效率,并且大大降低了访问控制模块的开发和测试成本。
另外,本发明实施例还提供一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述任一方法实施例提供的访问控制方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求书指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求书来限制。
Claims (10)
1.一种访问控制方法,其特征在于,包括:
根据访问请求,获取请求者信息、请求访问的目标资源的资源属性信息、以及请求操作类型,所述请求者信息至少包括请求者标识、角色和所属资源组,所述资源属性信息至少包括资源标识和所属的资源组;
根据所述请求操作类型、所述请求者的角色、目标资源的资源属性信息、以及预先配置的黑名单和白名单,判断本次访问请求是否是所述目标资源允许的访问请求;
若本次访问请求是所述目标资源允许的访问请求,则判断所述请求者所属资源组与所述目标资源所属资源组是否一致;
若所述请求者所属资源组与所述目标资源所属资源组一致,则允许所述请求者访问所述目标资源。
2.根据权利要求1所述的方法,其特征在于,所述若本次访问请求是所述目标资源允许的访问请求,则判断所述请求者所属资源组与所述目标资源所属资源组是否一致之后,还包括:
若所述请求者所属资源组与所述目标资源所属资源组不一致,则拒绝所述请求者访问所述目标资源。
3.根据权利要求1所述的方法,其特征在于,所述根据所述请求操作类型、所述请求者的角色、目标资源的资源属性信息、以及预先配置的黑名单和白名单,判断本次访问请求是否是所述目标资源允许的访问请求之后,还包括:
若本次访问请求不是所述目标资源允许的访问请求,则拒绝所述请求者访问所述目标资源。
4.根据权利要求3所述的方法,其特征在于,所述根据所述请求操作类型、所述请求者的角色、目标资源的资源属性信息、以及预先配置的黑名单和白名单,判断本次访问请求是否是所述目标资源允许的访问请求,包括:
判断所述黑名单是否包括所述目标资源的禁止访问规则,所述禁止访问规则至少包括禁止访问的操作类型和禁止访问的角色;
若所述黑名单不包括所述目标资源的禁止访问规则,则根据白名单,判断本次访问请求是否是所述目标资源允许的访问请求;
若所述黑名单包括所述目标资源的禁止访问规则,则判断所述请求操作类型是否是所述目标资源禁止访问的操作类型,以及所述请求者的角色及其子角色是否是所述目标资源禁止访问的角色;
若所述请求操作类型是所述目标资源禁止访问的操作类型、或者所述请求者的角色是所述目标资源禁止访问的角色、或者所述请求者的角色的子角色是所述目标资源禁止访问的角色,则确定本次访问请求不是所述目标资源允许的访问请求;
若所述请求操作类型不是所述目标资源禁止访问的操作类型、并且所述请求者的角色及其子角色均不是所述目标资源禁止访问的角色,则根据白名单,判断本次访问请求是否是所述目标资源允许的访问请求。
5.根据权利要求4所述的方法,其特征在于,根据白名单,判断本次访问请求是否是所述目标资源允许的访问请求,包括:
判断所述白名单是否包括所述目标资源的允许访问规则,所述允许访问规则至少包括允许访问的操作类型和允许访问的角色;
若所述白名单不包括所述目标资源的允许访问规则,则确定本次访问请求不是所述目标资源允许的访问请求;
若所述白名单包括所述目标资源的允许访问规则,则判断所述请求操作类型是否是所述目标资源允许访问的操作类型,以及所述请求者的角色及其子角色是否是所述目标资源允许访问的角色;
若所述请求操作类型不是所述目标资源允许访问的操作类型,或者所述请求者的角色及其子角色均不是所述目标资源允许访问的角色,则确定本次访问请求不是所述目标资源允许的访问请求。
6.根据权利要求5所述的方法,其特征在于,若所述白名单包括所述目标资源的允许访问规则,则判断所述请求操作类型是否是所述目标资源允许访问的操作类型,以及所述请求者的角色及其子角色是否是所述目标资源允许访问的角色之后,还包括:
若所述请求操作类型是所述目标资源允许访问的操作类型,并且所述请求者的角色或其子角色是所述目标资源允许访问的角色,则判断所述目标资源是否是所述请求者的角色;
若所述目标资源是所述请求者的角色,则确定本次访问请求不是所述目标资源允许的访问请求;
若所述目标资源不是所述请求者的角色,则判断所述目标资源是否是所述请求者本身;
若所述目标资源是所述请求者本身,且所述请求操作类型为删除,则确定本次访问请求不是所述目标资源允许的访问请求;
若所述目标资源不是所述请求者本身,或者所述请求操作类型不是删除,则确定本次访问请求是所述目标资源允许的访问请求。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述资源组的标识信息采用预设的正则表达式表示,
所述根据访问请求,获取请求者信息、请求访问的目标资源的资源属性信息、以及请求操作类型,所述请求者信息至少包括请求者标识、角色和所属资源组,所述资源属性信息至少包括资源标识和所属资源组之后,还包括:
判断所述目标资源所属的资源组的标识信息是否满足所述正则表达式;
若不满足所述正则表达式,则拒绝所述请求者访问所述目标资源。
8.一种访问控制装置,其特征在于,包括:
信息获取模块,用于根据访问请求,获取请求者信息、请求访问的目标资源的资源属性信息、以及请求操作类型,所述请求者信息至少包括请求者标识、角色和所属资源组,所述资源属性信息至少包括资源标识和所属的资源组;
访问控制模块,用于:
根据所述请求操作类型、所述请求者的角色、目标资源的资源属性信息、以及预先配置的黑名单和白名单,判断本次访问请求是否是所述目标资源允许的访问请求;
若本次访问请求是所述目标资源允许的访问请求,则判断所述请求者所属资源组与所述目标资源所属资源组是否一致;
若所述请求者所属资源组与所述目标资源所属资源组一致,则允许所述请求者访问所述目标资源。
9.一种访问控制设备,其特征在于,包括:
存储器,处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,
所述处理器运行所述计算机程序时实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,存储有计算机程序,
所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811526860.3A CN109587151A (zh) | 2018-12-13 | 2018-12-13 | 访问控制方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811526860.3A CN109587151A (zh) | 2018-12-13 | 2018-12-13 | 访问控制方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109587151A true CN109587151A (zh) | 2019-04-05 |
Family
ID=65928392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811526860.3A Pending CN109587151A (zh) | 2018-12-13 | 2018-12-13 | 访问控制方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109587151A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851274A (zh) * | 2019-10-29 | 2020-02-28 | 深信服科技股份有限公司 | 资源访问控制方法、装置、设备及存储介质 |
CN111159729A (zh) * | 2019-12-13 | 2020-05-15 | 中移(杭州)信息技术有限公司 | 权限控制方法、装置及存储介质 |
CN111898124A (zh) * | 2020-08-05 | 2020-11-06 | 腾讯科技(深圳)有限公司 | 进程访问控制方法和装置、存储介质及电子设备 |
CN111984949A (zh) * | 2020-08-24 | 2020-11-24 | 北京达佳互联信息技术有限公司 | 鉴权方法、装置、电子设备及存储介质 |
CN112565188A (zh) * | 2020-11-03 | 2021-03-26 | 鸬鹚科技(苏州)有限公司 | 数据访问方法、装置、计算机设备及存储介质 |
CN115174174A (zh) * | 2022-06-24 | 2022-10-11 | 百融至信(北京)征信有限公司 | 控制电子管理平台的方法和装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101600207A (zh) * | 2009-06-18 | 2009-12-09 | 中兴通讯股份有限公司 | 一种基于wap的sp访问控制方法和系统 |
US20100107215A1 (en) * | 2008-10-28 | 2010-04-29 | Yahoo! Inc. | Scalable firewall policy management platform |
CN102195956A (zh) * | 2010-03-19 | 2011-09-21 | 富士通株式会社 | 云服务系统及其中管理用户权限的方法 |
CN102404312A (zh) * | 2010-09-10 | 2012-04-04 | 富士通株式会社 | 使用信任点提供服务 |
CN106230830A (zh) * | 2016-08-03 | 2016-12-14 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟资源访问控制方法及装置 |
CN106462717A (zh) * | 2014-06-23 | 2017-02-22 | 甲骨文国际公司 | 用于在多租户应用服务器环境中支持安全性的系统和方法 |
CN107871084A (zh) * | 2016-09-27 | 2018-04-03 | 北京计算机技术及应用研究所 | 基于身份和规则的数据库访问控制方法 |
CN108989265A (zh) * | 2017-05-31 | 2018-12-11 | 西门子公司 | 访问控制方法、装置和系统 |
-
2018
- 2018-12-13 CN CN201811526860.3A patent/CN109587151A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100107215A1 (en) * | 2008-10-28 | 2010-04-29 | Yahoo! Inc. | Scalable firewall policy management platform |
CN101600207A (zh) * | 2009-06-18 | 2009-12-09 | 中兴通讯股份有限公司 | 一种基于wap的sp访问控制方法和系统 |
CN102195956A (zh) * | 2010-03-19 | 2011-09-21 | 富士通株式会社 | 云服务系统及其中管理用户权限的方法 |
CN102404312A (zh) * | 2010-09-10 | 2012-04-04 | 富士通株式会社 | 使用信任点提供服务 |
CN106462717A (zh) * | 2014-06-23 | 2017-02-22 | 甲骨文国际公司 | 用于在多租户应用服务器环境中支持安全性的系统和方法 |
CN106230830A (zh) * | 2016-08-03 | 2016-12-14 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟资源访问控制方法及装置 |
CN107871084A (zh) * | 2016-09-27 | 2018-04-03 | 北京计算机技术及应用研究所 | 基于身份和规则的数据库访问控制方法 |
CN108989265A (zh) * | 2017-05-31 | 2018-12-11 | 西门子公司 | 访问控制方法、装置和系统 |
Non-Patent Citations (1)
Title |
---|
朱焱: "《Web X.0环境下的万维网服务技术与实践》", 30 November 2011 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851274A (zh) * | 2019-10-29 | 2020-02-28 | 深信服科技股份有限公司 | 资源访问控制方法、装置、设备及存储介质 |
CN110851274B (zh) * | 2019-10-29 | 2023-12-29 | 深信服科技股份有限公司 | 资源访问控制方法、装置、设备及存储介质 |
CN111159729A (zh) * | 2019-12-13 | 2020-05-15 | 中移(杭州)信息技术有限公司 | 权限控制方法、装置及存储介质 |
CN111898124A (zh) * | 2020-08-05 | 2020-11-06 | 腾讯科技(深圳)有限公司 | 进程访问控制方法和装置、存储介质及电子设备 |
CN111984949A (zh) * | 2020-08-24 | 2020-11-24 | 北京达佳互联信息技术有限公司 | 鉴权方法、装置、电子设备及存储介质 |
CN111984949B (zh) * | 2020-08-24 | 2023-11-28 | 北京达佳互联信息技术有限公司 | 鉴权方法、装置、电子设备及存储介质 |
CN112565188A (zh) * | 2020-11-03 | 2021-03-26 | 鸬鹚科技(苏州)有限公司 | 数据访问方法、装置、计算机设备及存储介质 |
CN115174174A (zh) * | 2022-06-24 | 2022-10-11 | 百融至信(北京)征信有限公司 | 控制电子管理平台的方法和装置 |
CN115174174B (zh) * | 2022-06-24 | 2024-04-12 | 百融至信(北京)科技有限公司 | 控制电子管理平台的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109587151A (zh) | 访问控制方法、装置、设备及计算机可读存储介质 | |
US10885182B1 (en) | System and method for secure, policy-based access control for mobile computing devices | |
EP3130110B1 (en) | Device policy manager | |
CN101005506B (zh) | 用于信息处理的系统和方法 | |
CN109286633A (zh) | 单点登陆方法、装置、计算机设备及存储介质 | |
US8990900B2 (en) | Authorization control | |
CN109818937A (zh) | 针对安卓权限的控制方法、装置、及存储介质、电子装置 | |
CN107196951A (zh) | 一种hdfs系统防火墙的实现方法和防火墙系统 | |
CN106528269B (zh) | 轻量级的虚拟机访问控制系统及控制方法 | |
JPH06103058A (ja) | プログラム権限情報データ構造 | |
JP2011526387A (ja) | コンピューティングプロセスのための最小特権アクセスの付与 | |
CN105184164B (zh) | 一种数据处理方法 | |
CN109634619A (zh) | 可信执行环境实现方法及装置、终端设备、可读存储介质 | |
CN110199283B (zh) | 用于在网络功能虚拟化环境中认证平台信任的系统和方法 | |
US9516031B2 (en) | Assignment of security contexts to define access permissions for file system objects | |
CN107315950B (zh) | 一种云计算平台管理员权限最小化的自动化划分方法及访问控制方法 | |
US20210103649A1 (en) | Project-based permission system | |
CN110138767B (zh) | 事务请求的处理方法、装置、设备和存储介质 | |
CN109033857A (zh) | 一种访问数据的方法、装置、设备及可读存储介质 | |
CN110213290A (zh) | 数据获取方法、api网关以及存储介质 | |
Liu et al. | An empirical study on android for saving non-shared data on public storage | |
CN101950339B (zh) | 一种电脑安全防护方法和系统 | |
Reantongcome et al. | Securing and trustworthy blockchain-based multi-tenant cloud computing | |
CN108289080A (zh) | 一种访问文件系统的方法、装置和系统 | |
CN103442016B (zh) | 基于网站指纹推送白名单的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190405 |