掌桥专利:专业的专利平台
掌桥专利
首页

数据访问权限的控制方法、装置以及存储介质

文献发布时间:2023-06-19 11:02:01


数据访问权限的控制方法、装置以及存储介质

技术领域

本发明涉及计算机安全技术领域,尤其涉及一种数据访问权限的控制方法、装置以及存储介质。

背景技术

随着大数据时代的蓬勃发展,数据已经成为公司的核心竞争力。在一个公司内部,会有各种各样的数据产品,如数据分析平台、数据展示平台、数据计算服务和客户关系管理系统等。如何对公司内部的各种数据产品的访问权限进行严格的控制,避免数据泄露,已成为数据安全治理中重要的一环。

相关技术中,是基于角色的访问控制模型(Role Based Access Control,RBAC)进行数据访问权限的控制,该控制方法中,根据预设授权关系确定用户对目标资源是否有访问权限,授权关系中,一个用户可以关联至少一个角色,一个角色可以配置至少一个权限,权限包括操作和资源。

上述控制方法中,权限配置的灵活性较低,权限配置的复杂度较高。

发明内容

本发明提供一种数据访问权限的控制方法、装置以及存储介质,以解决权限配置的灵活性较低以及权限配置的复杂度较高的问题。

第一方面,本发明提供一种数据访问权限的控制方法,包括:

从后台服务器接收用户对目标资源的访问请求,所述访问请求携带所述目标资源的标识和所述用户的标识;

根据预存的授权关系、所述用户的标识和所述目标资源的标识,确定所述用户对所述目标资源是否有访问权限,所述授权关系包括第一关联关系、用户和用户组的对应关系、用户和角色的对应关系以及用户组和角色的对应关系,所述第一关联关系包括角色和权限的对应关系,或者,所述第一关联关系包括角色、权限和访问策略的对应关系;

若确定所述用户对所述目标资源有访问权限,根据所述目标资源的标识,向所述后台服务器发送与所述目标资源的标识对应的数据信息。

可选的,所述根据预存的授权关系、所述用户的标识和所述目标资源的标识,确定所述用户对所述目标资源是否有访问权限,包括:

根据所述用户的标识、所述用户和用户组的对应关系以及所述用户组和角色的对应关系,确定所述用户和角色的对应关系,或者,根据所述用户的标识以及所述用户和角色的对应关系,确定所述用户和角色的对应关系;

根据所述第一关联关系以及所述用户和角色的对应关系,确定所述用户和权限的对应关系;

根据所述用户和权限的对应关系确定所述用户可以访问的资源集合,所述资源集合中的元素为资源的标识;

根据所述目标资源的标识和所述用户可以访问的资源集合,确定所述用户对所述目标资源是否有访问权限。

可选的,所述第一关联关系包括角色、权限和访问策略的对应关系时,所述根据所述目标资源的标识,向所述后台服务器发送与所述目标资源的标识对应的数据信息之前,所述方法还包括:

根据所述用户的标识获取所述用户的属性数据;

所述根据所述目标资源的标识,向所述后台服务器发送与所述目标资源的标识对应的数据信息,包括:

根据所述目标资源的标识和所述用户的属性数据,向所述用户发送与所述目标资源的标识对应的数据信息。

可选的,所述访问策略包括功能策略,所述功能策略为功能维度上的访问条件,所述根据所述目标资源的标识和所述用户的属性数据,向所述后台服务器发送与所述目标资源对应的数据信息,包括:

若确定所述用户的属性数据满足预设的功能策略,向所述后台服务器发送与所述目标资源对应的数据信息。

可选的,所述访问策略还包括数据策略,所述向所述用户发送与所述目标资源的标识对应的数据信息,包括:

根据预设的数据策略、所述用户的标识和所述目标资源的标识,确定与所述目标资源对应的数据信息中所述用户可访问的数据范围,所述数据策略包括资源的标识、用户的标识、角色的标识和可访问的数据范围的第一对应关系,或者,所述数据策略包括资源的标识、用户的标识、用户组的标识、角色的标识和可访问的数据范围的第二对应关系;

根据所述用户可访问的数据范围,向所述后台服务器发送与所述目标资源对应的数据信息。

可选的,所述数据策略包括所述第一对应关系时,同一个资源上,每个用户对应的可访问的数据范围不同;或者,

同一个资源上,同一个用户在不同的角色对应的可访问的数据范围不同;或者,

同一个资源上,不同用户对应同一角色,不同的角色对应的可访问的数据范围不同。

可选的,所述数据策略包括所述第二对应关系时,同一个资源上,同一用户组包括的用户在不同的角色对应的可访问的数据范围不同;或者,

同一个资源上,同一用户组包括的用户在不同的角色对应的可访问的数据范围相同;或者,

同一个资源上,用户在不同的用户组,不同的用户组在同一角色对应的可访问的数据范围不同;

同一个资源上,用户在不同的用户组,同一用户组在不同角色对应的可访问的数据范围不同。

第二方面,本发明提供一种数据访问权限的控制装置,包括:

接收模块,用于从后台服务器接收用户对目标资源的访问请求,所述访问请求携带所述目标资源的标识和所述用户的标识;

确定模块,用于根据预存的授权关系、所述用户的标识和所述目标资源的标识,确定所述用户对所述目标资源是否有访问权限,所述授权关系包括第一关联关系、用户和用户组的对应关系、用户和角色的对应关系以及用户组和角色的对应关系,所述第一关联关系包括角色和权限的对应关系,或者,所述第一关联关系包括角色、权限和访问策略的对应关系;

发送模块,用于在所述确定模块确定所述用户对所述目标资源有访问权限时,根据所述目标资源的标识,向所述后台服务器发送与所述目标资源的标识对应的数据信息。

第三方面,本发明提供一种服务器,包括:

处理器;以及

存储器,用于存储所述处理器的可执行指令;

其中,所述处理器配置为经由执行所述可执行指令来执行第一方面或第一方面各可能的实施方式中任一所述的数据访问权限的控制方法。

第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面或第一方面各可能的实施方式中任一所述的数据访问权限的控制方法。

第五方面,本发明实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面或第一方面各可能的实施方式中任一所述的数据访问权限的控制方法。

本发明提供的数据访问权限的控制方法、装置以及存储介质,通过从后台服务器接收用户对目标资源的访问请求,然后根据预存的授权关系与访问请求携带用户的标识和目标资源的标识,确定用户对目标资源是否有访问权限,在确定用户对目标资源有访问权限时,根据目标资源的标识,向后台服务器发送与目标资源的标识对应的数据信息。从而实现了数据访问权限的控制,通过在授权关系中加入用户和用户组的对应关系以及用户组和角色的对应关系,在对用户的权限进行配置或修改时,由于同一用户组关联的角色是相同的,可对用户组和角色的对应关系进行配置或修改,从而实现了对每个用户的权限的配置或修改,提高了权限配置的灵活性,且降低了权限配置的复杂度。

附图说明

图1为本发明实施例提供的数据访问权限的控制方法的一种应用场景示意图;

图2为本发明实施例提供的一种功能权限模型的结构示意图;

图3为本发明实施例提供的一种数据权限访问控制模型的结构示意图;

图4为本发明实施例提供的一种数据访问权限的控制方法的流程图;

图5为本发明实施例提供的一种数据访问权限的控制方法实施例的流程图;

图6为本发明实施例提供的一种数据访问权限的控制方法实施例的流程图;

图7为本发明实施例提供的一种数据访问权限的控制方法实施例的流程图;

图8为本发明实施例提供的一种数据策略的示意图;

图9为本发明实施例提供的一种数据策略的示意图;

图10为本发明实施例提供的一种数据策略的示意图;

图11为本发明实施例提供的一种数据策略的示意图;

图12为本发明实施例提供的一种数据策略的示意图;

图13为本发明实施例提供的一种数据策略的示意图;

图14为本发明实施例提供的一种数据策略的示意图;

图15为本发明实施例提供的一种数据访问权限的控制方法实施例的流程图;

图16为本发明实施例提供的一种数据访问权限的控制装置的结构示意图;

图17为本发明实施例提供的一种数据访问权限的控制装置的结构示意图;

图18为本发明实施例提供的一种服务器的结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

本发明实施例的说明书、权利要求书及附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

首先,下面对本发明实施例中的部分用语进行解释说明,以便于本领域技术人员理解。

1、权限,权限包括操作和资源,权限=操作+资源,资源是需要访问控制的实体,如菜单、页面和按钮操作等,操作是主体实施在资源上的访问方式,如读、写或修改等。权限就是操作资源实体上的许可,是执行操作的权利。

2、用户,用户是访问或操作业务系统等资源实体的主体,分为个人用户和服务用户,个人用户即常规的在业务管理后台登陆的用户,服务用户即面向服务层面的抽象主体。

3、用户组,用户组是一批具有相同权限的用户集合,用户组的概念依据实际的工作环境引入。

4、角色,角色是一定数量的权限的集合,在用户和权限之间引入角色的观念,将用户\用户组和角色联系起来,并通过对角色的授权来控制用户\用户组对资源的访问。对访问权限的授予由管理员统一管理,并授予给角色,用户不直接与权限关联。角色可根据最小特权原则和/或责任分离原则定义。

5、最小特权原则,最小特权原则是分配给用户的角色配置成其完成任务的最小权限(或资源数量)集合。

6、责任分离原则,通过调用相互独立互斥的角色来共同完成敏感的任务而体现,主要包括支持角色的静态互斥与动态互斥,静态互斥(Static Separation of Duty,SSD)指的是具有互斥关系的角色不能赋予给同一个用户,动态互斥(Dynamic Separation ofDuty,DSD)指的是用户在使用某个功能时只允许以某一特定的角色访问。

7、访问策略,访问策略是获取数据的筛选条件,表现形式是规则的组合,规则为具体的一条表达式,即(字段名(field)、操作符(operator)和值(value)),其中字段名表现为维度,值为业务方使用的数据取值方式,最终生成具体的数值。访问策略可以包括功能策略和数据策略。其中,功能策略为功能维度上的访问条件,如用户的IP地址、地理位置、访问时间段和访问次数中的至少一项,还可以是其他访问条件。数据策略为用户可访问的数据范围。

相关技术中,是基于角色的访问控制模型进行数据访问权限的控制,该控制方法的授权关系中一个用户可以关联至少一个角色,一个角色可以配置至少一个权限,即授权关系中包括用户和角色的对应关系以及角色和权限的对应关系,一个用户可以关联一个或多个角色,在对用户的权限进行配置或修改(例如增加或删除角色配置)时,需要对每个用户关联的角色逐一进行配置或修改,权限配置的灵活性较低,复杂度较高。为解决这一问题,本发明实施例提供一种数据访问权限的控制方法、装置以及存储介质,通过在授权关系中加入用户和用户组的对应关系以及用户组和角色的对应关系,在对用户的权限进行配置或修改时,由于同一用户组关联的角色是相同的,可对用户组和角色的对应关系进行配置或修改,从而实现了对每个用户的权限的配置或修改,例如一个用户组包括10个用户,相关技术中进行用户的权限的配置时,需要配置10次,本发明实施例提供的方法只需要配置1次,提高了权限配置的灵活性,且降低了权限配置的复杂度。而且,通过加入用户组,将用户与权限进行了逻辑分离,极大的方便了对于权限的管理。

进一步地,在上述方法的基础上,增加访问策略,访问策略可以包括功能策略和/或数据策略,功能策略为功能维度上的访问条件,如用户的IP地址、地理位置、访问时间段和访问次数中的至少一项,还可以是其他访问条件。通过增加功能策略,可以根据用户的属性数据和预设的功能策略进行功能维度上的访问条件的限制,例如限制用户的IP地址、地理位置、访问时间段和访问次数中的至少一项。数据策略为用户可访问的数据范围,通过增加数据策略,可限制用户可访问的数据范围,例如普通用户可访问较小的数据范围,系统管理员可访问全部数据。从而,可实现根据不同的场景配置不同的数据访问控制条件,可实现细粒度访问数据。

下面以具体的实施例对本发明的技术方案以及本发明的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。

首先,对本发明实施例涉及的应用场景进行示例说明。

本发明实施例提供的数据访问权限的控制方法至少可以应用于下述应用场景中,下面结合附图进行说明。

示例性的,图1为本发明实施例提供的数据访问权限的控制方法的一种应用场景示意图,如图1所示,本实施例的应用场景中涉及电子设备3、电子设备的后台服务器1和服务器2。例如,电子设备3的当前界面显示的是一种客户关系管理系统,用户要访问该客户关系管理系统中的某些内容,例如,用户通过要访问“常用功能模块”,可以通过鼠标或手指点击“常用功能模块”这一操作,电子设备3响应于用户的该操作,触发用户对目标资源(即“常用功能模块”)的访问请求,访问请求携带目标资源的标识和用户的标识,接着后台服务器1向服务器2发送用户对目标资源的访问请求,服务器2接收到用户对目标资源的访问请求后,由服务器2执行本发明实施例提供的数据访问权限的控制方法,确定所述用户对所述目标资源有访问权限时,向所述后台服务器1发送与目标资源的标识对应的数据信息,由后台服务器1将与目标资源的标识对应的数据信息推送到电子设备3,由电子设备3显示用户要访问的内容。若服务器确定用户对目标资源没有访问权限时,服务器可以向后台服务器发送“无访问权限”的提示信息,进一步通过电子设备3显示“无访问权限”的提示信息给用户。

需要说明的是,图1所示的应用场景仅仅是一种示例,本发明对此不作限制。

图2为本发明实施例提供的一种功能权限模型的结构示意图,如图2所示,该功能权限模型核心四要素为:用户、用户组、角色和权限,支持角色的静态互斥(SSD)与动态互斥(DSD),用户与用户组之间可以支持多对多的对应关系,用户组与角色之间可以支持多对多的对应关系,角色与权限之间也可以支持多对多的对应关系,一个用户可以关联一个或多个角色。权限=操作+资源,资源是需要访问控制的实体,图2中所示的资源集合例如可以包括网页链接(url)、页面元素、数据库和文件等,操作是主体实施在资源上的访问方式,如读、写或修改等。图2所示的功能权限模型中,引入了用户组的概念,将用户与权限进行了逻辑分离,极大的方便了对于权限的管理。在实际工作环境中,图2所示的功能权限模型对访问的权限授予由业务的管理员(通常可以是运营人员)统一管理,且角色和权限之间一经确定就会相对固定下来,给用户\用户组分配角色或给用户分配用户组的指派工作不会涉及过多的技术工作,与实际情况相一致。

在与2所示的功能权限模型的基础上,本发明构建一种数据权限访问控制模型,图3为本发明实施例提供的一种数据权限访问控制模型的结构示意图。如图3所示,数据权限访问控制模型中涉及的用户、用户组、权限和角色的概念可参见上述术语解释,其中的权限可以包括功能权限和数据权限。图3中所示的资源树为资源集合的一种表现形式。用户可以绑定到角色,即存在用户和角色的对应关系;用户还可以绑定到用户组,即存在用户和用户组的对应关系;用户组可以绑定角色,即存在用户和角色的对应关系;角色可以绑定权限,即存在角色和权限的对应关系,或者,角色可以绑定权限和访问策略,即存在角色、权限和访问策略的对应关系。其中的访问策略是获取数据的筛选条件,表现形式是规则的组合(例如访问策略包括N个规则),规则为具体的一条表达式,即(字段名(field)、操作符(operator)和值(value)),其中字段名表现为维度,值为业务方使用的数据取值方式,最终生成具体的数值。其中的值可以包括授权关系、属性数据和维度节点。

如图3中所示,维度是用来描述用户或用户组的一类属性,维度值是具体的属性值,维度代表的是一类属性的集合,如地域维度会包括北京维度值、上海维度值等。维度可以包括维度节点类型和维度节点树,维度节点类型可以是维度节点类型树,维度节点树可以包括标识、名称、描述信息和节点类型。

在进行授权关系的配置时,可以进行用户和角色的绑定,以及用户、用户组、角色、资源、访问策略和维度的绑定。相应地,授权关系可以包括第一关联关系、用户和用户组的对应关系、用户和角色的对应关系以及用户组和角色的对应关系,第一关联关系包括角色和权限的对应关系,或者,第一关联关系包括角色、权限和访问策略的对应关系。

基于图3所示的数据权限访问控制模型,本发明提供一种数据访问权限的控制方法,下面结合图4-图15进行说明。

图4为本发明实施例提供的一种数据访问权限的控制方法的流程图,该数据访问权限的控制方法可以由数据访问权限的控制装置执行,该数据访问权限的控制装置可以通过软件和/或硬件的方式实现。该数据访问权限的控制装置可以是服务器。如图4所示,本实施例的方法可以包括:

S101、从后台服务器接收用户对目标资源的访问请求,访问请求携带目标资源的标识和用户的标识。

具体地,目标资源的标识可以为目标资源的链接(url),或者,若目标资源为数据库,则目标资源的标识可以为数据库表的表名。用户的标识可以是用户的邮箱、手机号或账号等。

S102、根据预存的授权关系、用户的标识和目标资源的标识,确定用户对目标资源是否有访问权限,授权关系包括第一关联关系、用户和用户组的对应关系、用户和角色的对应关系以及用户组和角色的对应关系,第一关联关系包括角色和权限的对应关系,或者,第一关联关系包括角色、权限和访问策略的对应关系。

其中,预存的授权关系是预先配置给用户的,用户和用户组的对应关系可以是用户的标识和用户组的标识的对应关系,一个用户组包括至少一个用户的标识。用户和角色的对应关系可以是用户的标识和角色的对应关系。用户组和角色的对应关系可以是用户组的标识和角色的对应关系。

由于授权关系包括了第一关联关系、用户的标识和和用户组的标识的对应关系、用户的标识和角色的对应关系以及用户组的标识和角色的对应关系,第一关联关系包括角色和权限的对应关系,权限包括操作和资源,即第一关联关系包括角色和资源的对应关系,具体可以为角色和资源标识的对应关系,从而,可以根据用户的标识和目标资源的标识以及授权关系,确定出用户对目标资源是否有访问权限。

S103、若确定用户对目标资源有访问权限,根据目标资源的标识,向后台服务器发送与目标资源的标识对应的数据信息。

具体来说,服务器存储了资源标识和资源标识对应的数据信息,在确定用户对目标资源有访问权限时,服务器根据目标资源的标识可以获取到与目标资源的标识对应的数据信息,然后向后台服务器发送。若服务器确定用户对目标资源没有访问权限时,服务器可以向后台服务器发送“无访问权限”的提示信息。

本实施例中,通过在授权关系中加入用户和用户组的对应关系以及用户组和角色的对应关系,在对用户的权限进行配置或修改时,由于同一用户组关联的角色是相同的,可对用户组和角色的对应关系进行配置或修改,从而实现了对每个用户的权限的配置或修改,例如一个用户组包括10个用户,相关技术中进行用户的权限的配置时,需要配置10次,本发明实施例提供的方法只需要配置1次,提高了权限配置的灵活性,且降低了权限配置的复杂度。

本实施例提供的数据访问权限的控制方法,通过从后台服务器接收用户对目标资源的访问请求,然后根据预存的授权关系与访问请求携带用户的标识和目标资源的标识,确定用户对目标资源是否有访问权限,在确定用户对目标资源有访问权限时,根据目标资源的标识,向后台服务器发送与目标资源的标识对应的数据信息。从而实现了数据访问权限的控制,通过在授权关系中加入用户和用户组的对应关系以及用户组和角色的对应关系,在对用户的权限进行配置或修改时,由于同一用户组关联的角色是相同的,可对用户组和角色的对应关系进行配置或修改,从而实现了对每个用户的权限的配置或修改,提高了权限配置的灵活性,且降低了权限配置的复杂度。

图5为本发明实施例提供的一种数据访问权限的控制方法实施例的流程图,如图5所示,本实施例的方法在图4所示方法的基础上,作为一种可实施的方式,上述S102可以通过如下步骤实现:

S1021、根据用户的标识、用户和用户组的对应关系以及用户组和角色的对应关系,确定用户和角色的对应关系,或者,根据用户的标识以及用户和角色的对应关系,确定用户和角色的对应关系。

具体地,根据用户的标识与用户和用户组的对应关系,可确定该用户所属的用户组,再根据用户组和角色的对应关系可确定出该用户和角色的对应关系。

具体地,根据用户的标识以及用户和角色的对应关系,可直接确定用户和角色的对应关系。该方式中,用户直接与角色关联,没有所属的用户组。

S1022、根据第一关联关系以及用户和角色的对应关系,确定用户和权限的对应关系。

其中,第一关联关系包括角色和权限的对应关系,或者,第一关联关系包括角色、权限和访问策略的对应关系,根据第一关联关系中角色和权限的对应关系以及用户和角色的对应关系,可以确定出用户和权限的对应关系。具体地,角色和权限的关系,例如角色A对应权限A,权限A=操作+资源A,即角色A可以访问资源A,角色B对应权限B,权限B=操作+资源B,即角色B可以访问资源B。

S1023、根据用户和权限的对应关系确定用户可以访问的资源集合,资源集合中的元素为资源的标识。

其中,权限包括操作和资源,用户和权限的对应关系即为用户和可访问的资源的对应关系,因此,根据用户和权限的对应关系就可以确定用户可以访问的资源集合。

S1024、根据目标资源的标识和用户可以访问的资源集合,确定用户对目标资源是否有访问权限。

具体地,若目标资源的标识属于用户可以访问的资源集合中的元素,则确定用户对目标资源有访问权限;若目标资源的标识不属于用户可以访问的资源集合中的元素,则确定用户对目标资源没有访问权限。

图4和图5提供的方法中,可以实现用户访问权限的控制,即用户对目标资源是否有访问权限。在实现用户访问权限的控制的基础上,为实现根据不同的场景、不同的需求,设定不同的数据访问控制策略,进而满足数据安全的各种要求,如限制用户的IP地址、地理位置、访问时间段和访问次数中的至少一项,更具体地讲,如限制预设IP地址的用户、某些地理位置范围内的用户具有访问权限,或者限制用户在预设的访问时间段才具有访问权限,或者显示用户的访问次数,如在预设的时间段内超过预设的访问次数,则用户没有访问权限,本发明实施例通过增加功能策略来实现这一功能。又例如,限制不同类型的用户可访问的数据范围不同,本发明实施例通过增加数据策略来实现这一功能。下面结合图6-图15进行说明。

图6为本发明实施例提供的一种数据访问权限的控制方法实施例的流程图,如图6所示,本实施例的方法在图4或图5所示方法的基础上,若第一关联关系包括角色、权限和访问策略的对应关系时,在S103之前,还可以包括:

S104、根据用户的标识获取用户的属性数据。

其中,用户的属性数据可以包括IP地址、岗位、访问时间和姓名中的至少一项,IP地址和访问时间可以是动态获取,用户的岗位和姓名可以是根据用户的标识从预存的属性数据表中获取。

相应地,S103具体可以为:

S103’、根据目标资源的标识和用户的属性数据,向后台服务器发送与目标资源的标识对应的数据信息。

其中,访问策略可以包括功能策略,功能策略为功能维度上的访问条件,例如,功能策略可以为用户的IP地址、地理位置、访问时间段和访问次数中的至少一项,还可以是其他访问条件,作为一种可实施的方式,S103’可以为:

若确定用户的属性数据满足预设的功能策略,向后台服务器发送与目标资源对应的数据信息。

举例来说,例如功能策略为预存的IP地址列表,获取的用户的属性数据为用户的IP地址,从预存的IP地址列表中查看是否存在用户的属性数据中的IP地址,若存在,则确定用户的属性数据满足预设的功能策略,若不存在,则确定用户的属性数据不满足预设的功能策略。若确定用户的属性数据不满足预设的功能策略,则向后台服务器发送“无访问权限”的提示信息。

又例如,功能策略为预存的IP地址列表与访问时间段的对应关系,如IP地址1:访问时间段为8:00-12:00;IP地址2:访问时间段为9:00-15:00;IP地址3:访问时间段为8:00-20:00。获取的用户的属性数据为用户的IP地址和当前的访问时间,例如为IP地址1:访问时间为9:00,根据预存的IP地址列表与访问时间段的对应关系,IP地址为IP地址1的用户的访问时间9:00在预设的访问时间段“8:00-12:00”内,因此可确定用户的属性数据满足预设的功能策略,否则,确定用户的属性数据不满足预设的功能策略。若确定用户的属性数据不满足预设的功能策略,则向后台服务器发送“无访问权限”的提示信息。

功能策略还可以包括地理位置和访问次数等条件,不再一一举例说明。

本实施例提供的数据访问权限的控制方法,通过在授权关系中增加功能策略,可以根据用户的属性数据和预设的功能策略进行功能维度上的访问条件的限制,从而,可实现根据不同的场景配置不同的数据访问控制条件,可实现细粒度访问数据。

图7为本发明实施例提供的一种数据访问权限的控制方法实施例的流程图,如图7所示,本实施例的方法在图6所示方法的基础上,访问策略还包括数据策略,在S103’中,向后台服务器发送与目标资源的标识对应的数据信息,具体可以通过如下步骤实现:

S201、根据预设的数据策略、用户的标识和目标资源的标识,确定与目标资源对应的数据信息中用户可访问的数据范围,数据策略包括资源的标识、用户的标识、角色的标识和可访问的数据范围的第一对应关系,或者,数据策略包括资源的标识、用户的标识、用户组的标识、角色的标识和可访问的数据范围的第二对应关系。

具体来说,数据策略用于限制不同类型的用户对应的可访问的数据范围,数据策略可以包括上述第一对应关系或第二对应关系。

数据策略包括第一对应关系时,数据策略具体可以为如下任一种实现方式:

方式一、同一个资源上,每个用户对应的可访问的数据范围不同。图8为本发明实施例提供的一种数据策略的示意图,如图8所示,同一资源,用户1、用户2和用户X均具有访问权限,与角色无关,用户1的可访问的数据范围为维度数据1,用户2的可访问的数据范围为维度数据2,用户X的可访问的数据范围为维度数据X,每个用户对应的可访问的数据范围不同。

方式二、同一个资源上,同一个用户在不同的角色对应的可访问的数据范围不同。图9为本发明实施例提供的一种数据策略的示意图,如图9所示,同一资源,同一用户,分别对应角色1、角色2和角色X,用户在角色1对应的可访问的数据范围为维度数据1,用户在角色2对应的可访问的数据范围为维度数据2,用户在角色X对应的可访问的数据范围为维度数据X。

方式三、同一个资源上,不同用户对应同一角色,不同的角色对应的可访问的数据范围不同。图10为本发明实施例提供的一种数据策略的示意图,如图10所示,同一资源上,用户1、用户2和用户X均具有访问权限,用户1、用户2和用户X对应同一角色1时对应的可访问的数据范围为维度数据1,用户1、用户2和用户X对应同一角色2时对应的可访问的数据范围为维度数据2。

数据策略包括第二对应关系时,数据策略具体可以为如下任一种实现方式:

方式一、同一个资源上,同一用户组包括的用户在不同的角色对应的可访问的数据范围不同。图11为本发明实施例提供的一种数据策略的示意图,如图11所示,同一个资源上,用户1、用户2和用户X均具有访问权限,用户1、用户2和用户X属于同一用户组,该用户组在不同的角色对应的可访问的数据范围不同,用户组在角色1对应的可访问的数据范围为维度数据1,用户组在角色2对应的可访问的数据范围为维度数据2,用户组在角色X对应的可访问的数据范围为维度数据X。

方式二、同一个资源上,同一用户组包括的用户在不同的角色对应的可访问的数据范围相同。图12为本发明实施例提供的一种数据策略的示意图,如图12所示,同一个资源上,用户1、用户2和用户X均具有访问权限,用户1、用户2和用户X属于同一用户组,该用户组在不同的角色对应的可访问的数据范围相同,均为同一维度数据。

方式三、同一个资源上,用户在不同的用户组,不同的用户组在同一角色对应的可访问的数据范围不同。图13为本发明实施例提供的一种数据策略的示意图,如图13所示,同一个资源上,用户1在不同的用户组(用户组1、用户组2和用户组3),用户组1在角色1对应的可访问的数据范围为维度数据1,用户组2在角色1对应的可访问的数据范围为维度数据2,用户组3在角色1对应的可访问的数据范围为维度数据3。

方式四、同一个资源上,用户在不同的用户组,同一用户组在不同角色对应的可访问的数据范围不同。图14为本发明实施例提供的一种数据策略的示意图,如图14所示,同一个资源上,用户在不同的用户组(分别为用户组1和用户组X),用户组1在角色1对应的可访问的数据范围为维度数据1,用户组1在角色2对应的可访问的数据范围为维度数据2,用户组X在角色1对应的可访问的数据范围为维度数据3,用户组X在角色X对应的可访问的数据范围为维度数据X。

具体来说,资源对应的用户可访问的数据范围为不同的维度数据,数据策略可以为上述方式中的任一种,用户的标识和目标资源的标识已知时,根据数据策略可以查找到与目标资源对应的数据信息中用户可访问的数据范围(例如为某一维度数据)。

S202、根据用户可访问的数据范围,向后台服务器发送与目标资源对应的数据信息。

本实施例提供的数据访问权限的控制方法,通过在授权关系中增加功能策略和数据策略,可实现根据用户的属性数据和预设的功能策略进行功能维度上的访问条件的限制的基础上,还可以限制不同类型的用户可访问的数据范围不同,从而,可实现根据不同的场景配置不同的数据访问控制条件,可实现细粒度访问数据。

需要说明的是,上述实施例中,访问策略还可以仅包括数据策略,此时在图4所示方法中,第一关联关系包括角色、权限和访问策略的对应关系,其中在的访问策略仅包括数据策略,相应地,在S103中,向后台服务器发送与目标资源的标识对应的数据信息,具体可以通过图7所示的S201-S202实现,该实施例在实现图4所示方法的技术效果的基础上,还可以限制不同类型的用户可访问的数据范围不同,可实现细粒度访问数据。

下面结合一个具体的实施例,对本发明提供的数据访问权限的控制方法的详细过程进行说明,本实施例中访问策略包括功能策略和/或数据策略。

图15为本发明实施例提供的一种数据访问权限的控制方法实施例的流程图,如图15所示,本实施例的方法可以包括:

S301、从后台服务器接收用户对目标资源的访问请求,访问请求携带目标资源的标识和用户的标识。

S302、根据用户的标识获取用户的属性数据。

S303、根据预存的授权关系、用户的标识和目标资源的标识,确定用户对目标资源是否有访问权限,授权关系包括第一关联关系、用户和用户组的对应关系、用户和角色的对应关系以及用户组和角色的对应关系,第一关联关系包括角色、权限和访问策略的对应关系。

需要说明的是,可选的,S302还可以在S303之后执行。

S303的具体实现过程可参见图5所示实施例中的相关描述,此处不再赘述。

若确定用户对目标资源有访问权限,则接着执行S304,否则执行S309。

S304、判断是否存在预设的功能策略。

若是,执行S305,否则执行S306。

S305、判断用户的属性数据是否满足预设的功能策略。

若是,执行S306,否则执行S309。

S306、判断是否存在预设的数据策略。

若是,执行S307,否则执行S308。

S307、根据预设的数据策略、用户的标识和目标资源的标识,确定与目标资源对应的数据信息中用户可访问的数据范围,根据用户可访问的数据范围,向后台服务器发送与目标资源对应的数据信息。

S308、根据目标资源的标识,向后台服务器发送与目标资源的标识对应的数据信息。

S309、向后台服务器发送“无访问权限”的提示信息。

以下为本申请装置实施例,可以用于执行本申请上述方法实施例。对于本申请装置实施例中未披露的细节,可参考本申请上述方法实施例。

图16为本发明实施例提供的一种数据访问权限的控制装置的结构示意图,如图16所示,本实施例的装置可以包括:接收模块11、确定模块12和发送模块13,其中,

接收模块11用于从后台服务器接收用户对目标资源的访问请求,访问请求携带目标资源的标识和用户的标识。

确定模块12用于根据预存的授权关系、用户的标识和目标资源的标识,确定用户对目标资源是否有访问权限,授权关系包括第一关联关系、用户和用户组的对应关系、用户和角色的对应关系以及用户组和角色的对应关系,第一关联关系包括角色和权限的对应关系,或者,第一关联关系包括角色、权限和访问策略的对应关系。

发送模块13用于在确定模块确定用户对目标资源有访问权限时,根据目标资源的标识,向后台服务器发送与目标资源的标识对应的数据信息。

可选的,确定模块12用于根据用户的标识、用户和用户组的对应关系以及用户组和角色的对应关系,确定用户和角色的对应关系,或者,根据用户的标识以及用户和角色的对应关系,确定用户和角色的对应关系;

根据第一关联关系以及用户和角色的对应关系,确定用户和权限的对应关系;

根据用户和权限的对应关系确定用户可以访问的资源集合,资源集合中的元素为资源的标识;

根据目标资源的标识和用户可以访问的资源集合,确定用户对目标资源是否有访问权限。

本发明实施例提供的装置,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。

图17为本发明实施例提供的一种数据访问权限的控制装置的结构示意图,如图17所示,本实施例的装置在图16所示装置的基础上,进一步地,还可以包括:获取模块14,获取模块14用于在发送模块13根据目标资源的标识,向后台服务器发送与目标资源的标识对应的数据信息之前,根据用户的标识获取用户的属性数据。

相应地,发送模块13用于根据目标资源的标识和用户的属性数据,向用户发送与目标资源的标识对应的数据信息。

进一步地,访问策略包括功能策略,功能策略为功能维度上的访问条件,发送模块13用于若确定用户的属性数据满足预设的功能策略,向后台服务器发送与目标资源对应的数据信息。

进一步地,访问策略还包括数据策略,发送模块13用于:

根据预设的数据策略、用户的标识和目标资源的标识,确定与目标资源对应的数据信息中用户可访问的数据范围,数据策略包括资源的标识、用户的标识、角色的标识和可访问的数据范围的第一对应关系,或者,数据策略包括资源的标识、用户的标识、用户组的标识、角色的标识和可访问的数据范围的第二对应关系;

根据用户可访问的数据范围,向后台服务器发送与目标资源对应的数据信息。

可选的,数据策略包括第一对应关系时,同一个资源上,每个用户对应的可访问的数据范围不同;或者,

同一个资源上,同一个用户在不同的角色对应的可访问的数据范围不同;或者,

同一个资源上,不同用户对应同一角色,不同的角色对应的可访问的数据范围不同。

可选的,数据策略包括第二对应关系时,同一个资源上,同一用户组包括的用户在不同的角色对应的可访问的数据范围不同;或者,

同一个资源上,同一用户组包括的用户在不同的角色对应的可访问的数据范围相同;或者,

同一个资源上,用户在不同的用户组,不同的用户组在同一角色对应的可访问的数据范围不同;

同一个资源上,用户在不同的用户组,同一用户组在不同角色对应的可访问的数据范围不同。

本发明实施例提供的装置,可执行上述方法实施例,其具体实现原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。

需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,处理模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上处理模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。

例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,ASIC),或,一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessing unit,CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意用户组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、后台服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、后台服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的后台服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘solid state disk(SSD))等。

图18为本发明实施例提供的一种服务器的结构示意图,如图18所示,本实施例的服务器可以包括处理器21和存储器22,

其中,存储器22用于存储处理器21的可执行指令。

处理器21配置为经由执行可执行指令来执行上述方法实施例中的数据访问权限的控制方法。

可选地,存储器22既可以是独立的,也可以跟处理器21集成在一起。

当存储器22是独立于处理器21之外的器件时,本实施例的服务器还可以包括:

总线23,用于连接存储器22和处理器21。

可选地,本实施例的服务器还可以包括:通信接口24,该通信接口24可以通过总线23与处理器21连接。

本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当其在计算机上运行时,使得计算机执行如上述实施例的数据访问权限的控制方法。

本申请实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上实施例中的数据访问权限的控制方法。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和用户组合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

相关技术
  • 一种数据访问权限控制方法、装置、设备及可读存储介质
  • 数据库访问权限控制方法、装置、计算机设备和存储介质
技术分类

06120112773988