CN111475802B - 权限的控制方法和装置 - Google Patents

权限的控制方法和装置 Download PDF

Info

Publication number
CN111475802B
CN111475802B CN202010267490.7A CN202010267490A CN111475802B CN 111475802 B CN111475802 B CN 111475802B CN 202010267490 A CN202010267490 A CN 202010267490A CN 111475802 B CN111475802 B CN 111475802B
Authority
CN
China
Prior art keywords
database
group name
authority
identity
target group
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
CN202010267490.7A
Other languages
English (en)
Other versions
CN111475802A (zh
Inventor
陆炯炯
张祥
范长杰
李仁杰
胡志鹏
刘柏
周彩冬
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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202010267490.7A priority Critical patent/CN111475802B/zh
Publication of CN111475802A publication Critical patent/CN111475802A/zh
Application granted granted Critical
Publication of CN111475802B publication Critical patent/CN111475802B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

本发明提供了一种权限的控制方法和装置,涉及大数据应用的技术领域,包括:预先确定身份数据库的组名和权限数据库的组名的一致化关系,身份数据库包括用户名和组名的关联关系,权限数据库包括组名和权限的关联关系;接收Web客户端发送的管理请求,并确定管理请求对应的目标组名;基于目标组名以及一致化关系,确定管理请求对应身份数据库和/或权限数据库的管理动作。通过将身份数据库和权限数据库的组名一致化,实现身份数据库和权限数据库的统一调用,简化身份和权限的配置过程,同时还通过增加项目配置,可实现权限的分级授权功能,满足企业多部门多项目的管理需求。

Description

权限的控制方法和装置
技术领域
本发明涉及大数据应用技术领域,尤其是涉及一种权限的控制方法和装置。
背景技术
业内目前主流的权限的控制装置,主要进行身份识别管理功能和权限识别管理功能。通过使用轻量级目录访问协议(Lightweight Directory Access Protocol,LDAP)工具管理用户和组的映射关系,使用基于角色的访问控制(Role-Based Access Control,RBAC)工具Sentry对组绑定角色进行权限分配。
当前权限的控制装置分别通过相互独立的LDAP管理工具和Sentry管理工具分别实现身份识别管理功能和权限识别管理功能,使用LDAP实现了用户到组的映射关系,使用Sentry实现了组到权限的映射关系。用户需要在LDAP管理工具和Sentry管理工具上分别配置,以实现特定身份的权限分配,整个配置过程较为繁琐。
发明内容
有鉴于此,本发明的目的在于提供一种权限的控制方法和装置,通过将身份数据库和权限数据库的组名一致化,实现身份数据库和权限数据库的统一调用,简化身份和权限的配置过程。
第一方面,本发明实施例提供了一种权限的控制方法,通过身份数据库和权限数据库对业务数据进行管理,所述方法应用于Web服务器,所述方法包括:
预先确定身份数据库的组名和权限数据库的组名的一致化关系,所述身份数据库包括用户名和组名的关联关系,所述权限数据库包括组名和权限的关联关系;
接收Web客户端发送的管理请求,并确定所述管理请求对应的目标组名;
基于所述目标组名以及所述一致化关系,确定所述管理请求对应所述身份数据库和/或权限数据库的管理动作。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,预先确定身份数据库的组名和权限数据库的组名的一致化关系的步骤,包括:
将身份数据库的组名和权限数据库的组名存储在外部数据库;
通过所述外部数据库的事务机制保证所述身份数据库的组名和所述权限数据库的组名一致性。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,接收Web客户端发送的管理请求,并确定所述管理请求对应的目标组名的步骤,包括:
接收Web客户端发送的管理请求,所述管理请求未包含目标组名;
根据所述一致化关系确定所述管理请求对应的目标组名。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,接收Web客户端发送的管理请求,并确定所述管理请求对应的目标组名的步骤,还包括:
接收Web客户端发送的管理请求,所述管理请求包括目标组名;
读取所述管理请求对应的目标组名。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述管理请求的类型包括查询请求,基于所述目标组名以及所述一致化关系,确定所述管理请求对应所述身份数据库和/或权限数据库的管理动作的步骤,包括:
基于所述目标组名以及所述一致化关系,查询所述目标组名对应的所述身份数据库的用户名和/或查询权限数据库的权限。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述管理请求的类型还包括配置请求,基于所述目标组名以及所述一致化关系,确定所述管理请求对应所述身份数据库和/或权限数据库的管理动作的步骤,包括:
基于所述目标组名以及所述一致化关系,配置所述目标组名对应的所述身份数据库的用户名和/或权限数据库的权限。
结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,所述权限数据库的权限包括为所述目标组名对应的用户名配置权限。
结合第一方面,本发明实施例提供了第一方面的第七种可能的实施方式,其中,在基于所述目标组名以及所述一致化关系,配置所述目标组名对应的所述身份数据库的用户名和/或权限数据库的权限的步骤之前,还包括:
判断所述目标组名对应的用户名是否不存在于所述身份数据库的组名中;
若是,接收所述Web客户端发送的新增请求,在所述身份数据库的组名中新增所述目标组名对应的用户名;
若否,判断所述目标组名对应的权限是否不存在于所述权限数据库的组名中。
结合第一方面,本发明实施例提供了第一方面的第八种可能的实施方式,其中,判断所述目标组名对应的权限是否不存在于所述权限数据库的组名中的步骤,包括:
判断所述目标组名对应的权限是否不存在于所述权限数据库的组名中;
若是,接收所述Web客户端发送的新增请求,在所述权限数据库的组名中新增所述目标组名对应的权限。
结合第一方面,本发明实施例提供了第一方面的第九种可能的实施方式,其中,在接收Web客户端发送的管理请求的步骤之前,还包括:
接收Web客户端发送的身份验证请求;
在验证通过后执行接收Web客户端发送的管理请求的步骤。
第二方面,本发明实施例提供了一种权限的控制装置,通过身份数据库和权限数据库对业务数据进行管理,所述装置应用于Web服务器,包括一致化关系确定模块、目标组名确定模块和管理模块;
一致化关系确定模块,用于预先确定身份数据库的组名和权限数据库的组名的一致化关系,所述身份数据库包括用户名和组名的关联关系,所述权限数据库包括组名和权限的关联关系;
目标组名确定模块,用于接收Web客户端发送的管理请求,并确定所述管理请求对应的目标组名;
管理模块,用于基于所述目标组名以及所述一致化关系,确定所述管理请求对应所述身份数据库和/或权限数据库的管理动作。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述身份数据库包括轻量级目录访问协议LDAP。
结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述权限数据库包括Sentry或Ranger。
第三方面,本发明实施例提供了一种服务器,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前述方法的步骤。
第四方面,本发明实施例提供了一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现前述的方法的步骤。
本发明实施例提供的一种权限的控制方法和装置,应用于Web服务器,利用外部数据库、身份数据库、权限数据库的互相配合,实现了用户权限的集中管理,通过身份数据库、权限数据库的组名一致化关系,保证身份数据库、权限数据库的组名一致性,无需人工对身份数据库、权限数据库的组名进行校验统一,用户可统一的Web客户端一键添加权限,无需分别在身份数据库、权限数据库的两个管理工具界面进行操作,更加简洁,不易出错。
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种权限的控制方法流程图;
图2为本发明实施例提供的一种权限的控制示意图;
图3为本发明实施例提供的一种权限的控制装置功能模块图;
图4为本发明实施例提供的一种服务器的硬件架构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一般来说,权限控制包括认证(authentication)和授权(authorization)。认证是指身份识别,鉴定访问用户是不是合法用户。常见的身份识别认证方式有LDAP、ActiveDirectory、Kerberos、SAML、Open ID等。授权是指权限识别,即判断合法用户具体拥有哪些权限,常见的授权一般是基于角色的访问控制(Role-Based Access Control,RBAC)装置进行设计的,在大数据领域的授权工具有Ranger、Sentry。
在实际应用过程中,业内目前主流的权限的控制装置,先使用Kerberos对用户和服务进行身份认证,再使用LDAP工具管理用户和组的映射关系,进而使用大数据RBAC工具Sentry对组绑定角色进行权限分配。
具体地,使用LDAP保存用户、组、用户-组关系的信息,使用特定的LDAP管理工具对用户、组、用户-组关系的信息更改进行操作。使用Sentry保存权限、组-权限关系的信息,使用特定的Sentry管理工具对权限、组-权限关系的信息更改进行操作。即在当前大数据权限控制场景中,用户需要在LDAP管理工具中维护用户、组、用户-组关系,并在Sentry管理工具中维护权限、组-权限关系,通过对两个界面进行分别配置,才能完整地配置用户的权限。
在实际应用过程中,若出现项目数量较大的时候,需要分别对两个界面配置的操作将更加麻烦。且,在分配配置后,还需要通过人工校验以保持LDAP中的组的组名和Sentry中的组的组名相同,操作繁琐且容易出错。
另外,现有的大数据权限装置只支持一个超级管理员,无法设置二级管理员,即在企业场景中,由于会有很多项目,各个项目均有管理各自用户和分配权限的需求,这种单一超级管理员的管理模式,无法满足企业级大数据的权限管理需求。各个项目的相关用户若想要获得权限均需要超级管理员进行授权,当项目较多,项目参与用户较多时,超级管理员的授权压力较大。作为另一种可能的应用场景,由于各个项目用户在项目中担任的角色可能不同,所需求的权限也并不相同,超级管理员授予项目用户的权限很可能超过自身所需权限,不利于项目相关数据的保密性。
基于此,本发明实施例提供的一种权限的控制方法和装置,通过将身份数据库和权限数据库的组名一致化,实现身份数据库和权限数据库的统一调用,简化身份和权限的配置过程。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种权限的控制方法和装置进行详细介绍。
图1为本发明实施例提供的一种权限的控制方法流程图。
本发明实施例提供的权限的控制方法通过身份数据库和权限数据库对业务数据进行管理,该方法可应用于Web服务器,具体包括以下步骤,可参照图1:
步骤S102,预先确定身份数据库的组名和权限数据库的组名的一致化关系,所述身份数据库包括用户名和组名的关联关系,所述权限数据库包括组名和权限的关联关系;
步骤S104,接收Web客户端发送的管理请求,并确定所述管理请求对应的目标组名;
步骤S106,基于所述目标组名以及所述一致化关系,确定所述管理请求对应所述身份数据库和/或权限数据库的管理动作。
在实际应用的优选实施例中,Web服务器利用外部数据库、身份数据库、权限数据库的互相配合,实现了用户权限的集中管理,通过身份数据库、权限数据库的组名一致化关系,保证身份数据库、权限数据库的组名一致性,无需人工对身份数据库、权限数据库的组名进行校验统一,用户可用统一的Web客户端一键添加权限,无需分别在身份数据库、权限数据库两个界面进行操作,更加简洁,不易出错。
需要说明的是,对于非大数据应用领域的权限管理工作来说,可在单一数据库中实现用户和权限的映射管理;而本申请基于大数据应用场景中,由于大数据底层存在依赖关系,身份数据库和权限数据库属于两个不同数据库,因此,用户和组的映射不支持权限统一管理以及分级授权,而对于此种情况,身份数据库可包括轻量级目录访问协议LDAP,与身份数据库具有强绑定关系的权限数据库可包括Sentry和Ranger。
这里,大数据集群中的HDFS、Hive、Impala组件更改用户-组的映射方式,由ShellBased Unix Groups Mapping更改为LDAP Groups Mapping,实现用户,组,用户-组关系由LDAP来统一管理。大数据集群中增加Sentry组件,实现组、组-权限关系由Sentry管理。
在上述实施例中,步骤S102还可包括以下步骤进行实现:
步骤1.1),将身份数据库的组名和权限数据库的组名存储在外部数据库;
步骤1.2),通过所述外部数据库的事务机制保证所述身份数据库的组名和所述权限数据库的组名一致性。
这里,通过外部数据库将身份数据库的组名和权限数据库的组名进行存储保存,且根据外部数据库的事务机制保持身份数据库的组名和权限数据库的组名一致化关系,减少需要通过人工分别对身份数据库的组名和权限数据库的组名进行校验的繁琐过程。
例如,查询用户名为小明的请求,在身份数据库中用户名小明对应的-组名为管理员,在外部数据库中,组名管理员与组名工作组具有一致化关系,进而在权限数据库中,用户名小明对应的是组名为工作组对应的权限。
在一些可能的实施例中,管理请求包括多种形式,这里如何通过一致化关系确定未包括有目标组名信息的管理请求对应的目标组名,步骤S104还可包括以下步骤进行实现:
步骤2.1),接收Web客户端发送的管理请求;
步骤2.2),根据所述一致化关系确定所述管理请求对应的目标组名。
这里,管理请求可能包括查询、配置、新增、删除、修改等等请求。例如,用户通过Web客户端将查询(John)的管理请求发送到Web后台,根据组名一致化关系,能够确定John的目标组名为英文名。
在一些可能的实施例中,这里如何通过一致化关系确定包括有目标组名信息的管理请求对应的目标组名,步骤S104还可包括以下步骤进行实现:
步骤3.1),接收Web客户端发送的管理请求,所述管理请求包括目标组名;
步骤3.2),读取所述管理请求对应的目标组名。
例如,用户通过Web客户端将查询(英文名-John)的管理请求发送到Web后台,其中查询请求中包括目标组名,读取查询请求的中目标组名-英文名。
作为一种可选的实施例,在管理请求的类型为查询请求的情况下,步骤S106包括:
步骤4),基于所述目标组名以及所述一致化关系,查询所述目标组名对应的所述身份数据库的用户名和/或查询权限数据库的权限。
这里,如用户通过Web客户端将查询(John)的查询请求发送到Web后台,通过身份数据库确定目标组名为英文名,根据一致化关系在权限数据库中查询组名为英文名对应的权限,即查询英文名为John对应的权限,进而实现通过身份权限简单调用操作,实现查询功能。
在一些可能的实施例中,所述权限数据库的权限包括为所述目标组名对应的用户名配置权限。
这里,本发明实施例中,超级管理员可为用户分配管理员权限,增加了权限的分级授权功能,满足了企业级大数据的权限管理需求。如,增加项目-用户关系,项目-角色关系,用户-角色关系,实现二级管理员管理用户和分配权限的功能,实现大数据的分级授权。
其中,如用户通过Web客户端将查询(管理员分配)的查询请求发送到Web后台,通过权限数据库确定目标组名为权限,根据一致化关系在身份数据库中查询组名为权限,权限内容为“管理员分配”的对应的用户名,即可查询到具有管理分配权限的用户名,这些用户名对应的用户具有分级授权的功能权限。
作为一种可选的实施例,在管理请求的类型为配置请求的情况下,进而实现通过身份权限简单调用操作,实现配置功能,步骤S106包括:
步骤5),基于所述目标组名以及所述一致化关系,配置所述目标组名对应的所述身份数据库的用户名和/或权限数据库的权限。
例如,如用户通过Web客户端将配置(管理员分配-John)的配置请求发送到Web后台,通过权限数据库确定“管理员分配”的目标组名为权限,根据一致化关系在身份数据库中查询组名为权限,在权限内容为“管理员分配”的配置用户名John。
反之,如用户通过Web客户端将配置(John-管理员分配)的配置请求发送到Web后台,通过身份数据库确定“John”的目标组名为用户名,根据一致化关系在权限数据库中查询组名为用户名,在权限数据库中用户名John的权限内容配置“管理员分配”,这里John为分级管理员,具有分级授权的功能。
作为一种可选的实施例,当用户的身份通过识别验证之后,用户在Web客户端发送管理请求,Web后台根据管理请求的接口类型调用相应的身份数据库、权限数据库以及身份数据库和权限数据库,以使相应的身份数据库配置用户-组关系或者权限数据库配置组-权限关系。
可以理解的是,管理请求中包括对应的接口类型,Web后台能够根据管理请求获知调用何种数据库。
在实际的应用过程中,经常会出现企业新增项目,或已存在项目新增工作人员的情况,为了灵活解决上述情况的配置问题,在步骤S106之前,还包括:
步骤6.1),判断所述目标组名对应的用户名是否不存在于所述身份数据库的组名中;
若是,则执行步骤6.2),接收所述Web客户端发送的新增请求,在所述身份数据库的组名中新增所述目标组名对应的用户名;
若否,则执行步骤6.3),判断所述目标组名对应的权限是否不存在于所述权限数据库的组名中。
上述实施例中的步骤6.3)包括:
6.3.1),判断所述目标组名对应的权限是否不存在于所述权限数据库的组名中;
若是,则执行步骤6.3.2),接收所述Web客户端发送的新增请求,在所述权限数据库的组名中新增所述目标组名对应的权限;
若否,则无需修改或新增等操作,可通过执行步骤5),基于所述目标组名以及所述一致化关系,配置所述目标组名对应的所述身份数据库的用户名和/或权限数据库的权限。
如用户通过Web客户端将配置(John-查看数据)的配置请求发送到Web后台,通过身份数据库确定“John”的目标组名为用户名,判断身份数据库的用户名中是否存在“John”;若不存在,则用户新增“John”到身份数据库为用户名的组名中;若存在,判断权限数据库的用户名“John”对应的“权限”组名中是否存在“查看数据”;若不存在,则用户新增“查看数据”到权限数据库为用户名“John”对应的“权限”组名中;若存在,为权限数据库为用户名“John”对应的“权限”组名配置“查看数据”的权限。
在步骤S102,接收Web客户端发送的管理请求的步骤之前,还包括:
步骤7.1),接收Web客户端发送的身份验证请求;
步骤7.2),在验证通过后执行步骤S102,接收Web客户端发送的管理请求的步骤。
作为一种可选的实施例,在接收Web客户端发送的管理请求的步骤之前,先通过身份验证工具对身份验证请求进行识别,以识别用户身份,保证权限分配管理的安全性,其中,身份验证工具包括密码验证工具、open ID工具等等用于用户身份校验的工具组件。
如图2所示,通过项目表单中ID字段在项目-用户关系表中,得到ID字段对应的用户ID字段,通过用户ID字段在用户-角色关系表中查找到对应的角色ID字段1;
通过项目表单中ID字段在项目-角色关系表中,得到ID字段对应的角色ID字段2;
将角色ID1与角色ID2进行交集处理,得到用户ID、项目ID条件下对应的角色ID。
通过Sentry中SENTRY_GROUP的group-ID在Sentry-角色-Sentry-group关系表中得到SENTRY_角色ID,通过SENTRY_角色ID在Sentry-角色-Sentry-权限关系表中得到Sentry-权限。
其中,外部数据库中的角色表单的role_code字段,与LDAP中的cn字段(即LDAP中的组名),与Sentry中的SENTRY_GROUP表的GROUP_NAME字段(即Sentry中的组名),三者保持一致。
本发明实施例可通过开发一个统一的WEB页面,来统一管理用户、组、用户-组关系、组-权限关系、项目-用户关系,项目-组关系。核心思路是通过外部数据库来保存项目-用户关系、项目-角色关系、用户-角色关系。通过调用LDAP API方式来管理用户、组、用户-组关系。通过事务机制来保证外部数据库中的角色名、LDAP中的组名、Sentry中的组名,三者保持一致。并且通过事务机制,保证外部数据库中的用户-角色关系,和LDAP中的用户-组关系,两者保持一致。通过调用Sentry API方式在WEB页面进行统一管理组、组-权限关系。
如图3所示,本发明实施例还提供一种权限的控制装置300,通过身份数据库和权限数据库对业务数据进行管理,所述装置应用于Web服务器,包括一致化关系确定模块、目标组名确定模块和管理模块;
一致化关系确定模块301,用于预先确定身份数据库的组名和权限数据库的组名的一致化关系,所述身份数据库包括用户名和组名的关联关系,所述权限数据库包括组名和权限的关联关系;
目标组名确定模块302,用于接收Web客户端发送的管理请求,并确定所述管理请求对应的目标组名;
管理模块303,用于基于所述目标组名以及所述一致化关系,确定所述管理请求对应所述身份数据库和/或权限数据库的管理动作。
在一些实施例中,身份数据库包括轻量级目录访问协议LDAP。
在一些实施例中,权限数据库包括Sentry或Ranger。
在一些可能的实施例中,一致化关系确定模块,还用于将身份数据库的组名和权限数据库的组名存储在外部数据库;通过所述外部数据库的事务机制保证所述身份数据库的组名和所述权限数据库的组名一致性。
在一些可能的实施例中,目标组名确定模块,还用于接收Web客户端发送的管理请求,所述管理请求未包含目标组名;根据所述一致化关系确定所述管理请求对应的目标组名。
在一些可能的实施例中,目标组名确定模块,还用于接收Web客户端发送的管理请求,所述管理请求包括目标组名;读取所述管理请求对应的目标组名。
在一些可能的实施例中,所述管理请求的类型包括查询请求,管理模块,还用于基于所述目标组名以及所述一致化关系,查询所述目标组名对应的所述身份数据库的用户名和/或查询权限数据库的权限。
在一些可能的实施例中,所述管理请求的类型还包括配置请求,管理模块,还用于,基于所述目标组名以及所述一致化关系,配置所述目标组名对应的所述身份数据库的用户名和/或权限数据库的权限。
在一些可能的实施例中,所述权限数据库的权限包括:为所述目标组名对应的用户名配置权限。
在一些可能的实施例中,管理模块,还用于判断所述目标组名对应的用户名是否不存在于所述身份数据库的组名中;若是,接收所述Web客户端发送的新增请求,在所述身份数据库的组名中新增所述目标组名对应的用户名;若否,判断所述目标组名对应的权限是否不存在于所述权限数据库的组名中。
在一些可能的实施例中,管理模块,还用于判断所述目标组名对应的权限是否不存在于所述权限数据库的组名中;若是,接收所述Web客户端发送的新增请求,在所述权限数据库的组名中新增所述目标组名对应的权限。
在一些可能的实施例中,一致化关系确定模块,还用于接收Web客户端发送的身份验证请求;在验证通过后执行接收Web客户端发送的管理请求的步骤。
本发明技术方案的核心思路,是通过开发一个统一的Web页面,来管理用户、组、用户-组关系、权限、组-权限关系、项目-用户关系、项目-角色关系、用户-角色关系,实现权限的集中式管理和分级授权功能。其中,用户、组、用户-组关系通过调用LDAP的API进行管理。权限、组-权限关系通过调用Sentry的API进行管理。通过外部数据库来保证角色名、LDAP的组名、Sentry的组名一致,并且在数据库中维护项目-用户关系,项目-角色关系、用户-角色关系。
本发明可以解决企业级的大数据权限控制和管理难点。一般来说,企业的大数据系统需要支撑企业中多个部门的使用,且负责权限分配的员工可能是没有大数据系统的专业知识背景的。普通的大数据权限控制系统,需要使用多个管理工具,操作繁琐易出错,员工的培训成本也很高,且只支持一个超级管理员,会导致部门的权限超过了自身所需,对数据保密要求很高的数据,不容易进行控制,且权限分配的操作极易互相干扰,导致错删误删其他部门的权限。本发明实现了大数据权限的集中管理,提供一个简单易操作的界面,普通员工只要稍加培训即可操作,节约了企业的培训成本。本发明实现了大数据权限的分级授权,支持设置二级管理员,能有效地控制和隔离各个部门的权限,部门操作自己的权限,不会误删其他部门的权限信息,有效地实现了部门的权限最小化。
进一步地,如图4所示,是本发明实施例提供的用于实现所述权限的控制方法的服务器400的示意图。本实施例中,所述服务器400可以是,但不限于,个人电脑(PersonalComputer,PC)、笔记本电脑、监控设备、服务器等具备分析及处理能力的计算机设备。
图4为本发明实施例提供的服务器400的硬件架构示意图。参见图4所示,该计算机设备包括:机器可读存储介质401和处理器402,还可以包括非易失性存储介质403、通信接口404和总线405;其中,机器可读存储介质401、处理器402、非易失性存储介质403和通信接口404通过总线405完成相互间的通信。处理器402通过读取并执行机器可读存储介质401中权限的控制的机器可执行指令,可执行上文实施例描述权限的控制的方法。
本文中提到的机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
非易失性介质可以是非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、任何类型的存储盘(如光盘、dvd等),或者类似的非易失性存储介质,或者它们的组合。
可以理解的是,本实施例中的各功能模块的具体操作方法可参照上述方法实施例中相应步骤的详细描述,在此不再重复赘述。
本发明实施例所提供计算机可读存储介质,所述可读存储介质中存储有计算机程序,所述计算机程序代码被执行时可实现上述任一实施例所述的权限的控制方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。

Claims (14)

1.一种权限的控制方法,其特征在于,通过身份数据库和权限数据库对业务数据进行管理,所述方法应用于Web服务器,所述方法包括:
预先确定身份数据库的组名和权限数据库的组名的一致化关系,所述身份数据库包括用户名和组名的关联关系,所述权限数据库包括组名和权限的关联关系;
接收Web客户端发送的管理请求,并确定所述管理请求对应的目标组名;
基于所述目标组名以及所述一致化关系,确定所述管理请求对应所述身份数据库和/或权限数据库的管理动作;
预先确定身份数据库的组名和权限数据库的组名的一致化关系的步骤,包括:
将身份数据库的组名和权限数据库的组名存储在外部数据库;
通过所述外部数据库的事务机制保证所述身份数据库的组名和所述权限数据库的组名一致性。
2.根据权利要求1所述的控制方法,其特征在于,接收Web客户端发送的管理请求,并确定所述管理请求对应的目标组名的步骤,包括:
接收Web客户端发送的管理请求,所述管理请求未包含目标组名;
根据所述一致化关系确定所述管理请求对应的目标组名。
3.根据权利要求1所述的控制方法,其特征在于,接收Web客户端发送的管理请求,并确定所述管理请求对应的目标组名的步骤,还包括:
接收Web客户端发送的管理请求,所述管理请求包括目标组名;
读取所述管理请求对应的目标组名。
4.根据权利要求2或3所述的控制方法,其特征在于,所述管理请求的类型包括查询请求,基于所述目标组名以及所述一致化关系,确定所述管理请求对应所述身份数据库和/或权限数据库的管理动作的步骤,包括:
基于所述目标组名以及所述一致化关系,查询所述目标组名对应的所述身份数据库的用户名和/或查询权限数据库的权限。
5.根据权利要求4所述的控制方法,其特征在于,所述管理请求的类型还包括配置请求,基于所述目标组名以及所述一致化关系,确定所述管理请求对应所述身份数据库和/或权限数据库的管理动作的步骤,包括:
基于所述目标组名以及所述一致化关系,配置所述目标组名对应的所述身份数据库的用户名和/或权限数据库的权限。
6.根据权利要求5所述的控制方法,其特征在于,所述权限数据库的权限包括:为所述目标组名对应的用户名配置权限。
7.根据权利要求5所述的控制方法,其特征在于,在基于所述目标组名以及所述一致化关系,配置所述目标组名对应的所述身份数据库的用户名和/或权限数据库的权限的步骤之前,还包括:
判断所述目标组名对应的用户名是否不存在于所述身份数据库的组名中;
若是,接收所述Web客户端发送的新增请求,在所述身份数据库的组名中新增所述目标组名对应的用户名;
若否,判断所述目标组名对应的权限是否不存在于所述权限数据库的组名中。
8.根据权利要求7所述的控制方法,其特征在于,判断所述目标组名对应的权限是否不存在于所述权限数据库的组名中的步骤,包括:
判断所述目标组名对应的权限是否不存在于所述权限数据库的组名中;
若是,接收所述Web客户端发送的新增请求,在所述权限数据库的组名中新增所述目标组名对应的权限。
9.根据权利要求1所述的控制方法,其特征在于,在接收Web客户端发送的管理请求的步骤之前,还包括:
接收Web客户端发送的身份验证请求;
在验证通过后执行接收Web客户端发送的管理请求的步骤。
10.一种权限的控制装置,其特征在于,通过身份数据库和权限数据库对业务数据进行管理,所述装置应用于Web服务器,包括一致化关系确定模块、目标组名确定模块和管理模块;
一致化关系确定模块,用于预先确定身份数据库的组名和权限数据库的组名的一致化关系,所述身份数据库包括用户名和组名的关联关系,所述权限数据库包括组名和权限的关联关系;
目标组名确定模块,用于接收Web客户端发送的管理请求,并确定所述管理请求对应的目标组名;
管理模块,用于基于所述目标组名以及所述一致化关系,确定所述管理请求对应所述身份数据库和/或权限数据库的管理动作;
一致化关系确定模块,还用于将身份数据库的组名和权限数据库的组名存储在外部数据库;通过所述外部数据库的事务机制保证所述身份数据库的组名和所述权限数据库的组名一致性。
11.根据权利要求10所述的控制装置,其特征在于,所述身份数据库包括轻量级目录访问协议LDAP。
12.根据权利要求10所述的控制装置,其特征在于,所述权限数据库包括Sentry或Ranger。
13.一种服务器,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至9任一项所述的方法的步骤。
14.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现权利要求1至9任一项所述的方法的步骤。
CN202010267490.7A 2020-04-07 2020-04-07 权限的控制方法和装置 Active CN111475802B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010267490.7A CN111475802B (zh) 2020-04-07 2020-04-07 权限的控制方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010267490.7A CN111475802B (zh) 2020-04-07 2020-04-07 权限的控制方法和装置

Publications (2)

Publication Number Publication Date
CN111475802A CN111475802A (zh) 2020-07-31
CN111475802B true CN111475802B (zh) 2023-06-13

Family

ID=71749853

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010267490.7A Active CN111475802B (zh) 2020-04-07 2020-04-07 权限的控制方法和装置

Country Status (1)

Country Link
CN (1) CN111475802B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113065108B (zh) * 2021-04-16 2022-05-17 支付宝(杭州)信息技术有限公司 用户权限的管理、应用运行方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4657619B2 (ja) * 2004-03-31 2011-03-23 富士通株式会社 情報処理装置及びアクセス権管理方法
US8918425B2 (en) * 2011-10-21 2014-12-23 International Business Machines Corporation Role engineering scoping and management

Also Published As

Publication number Publication date
CN111475802A (zh) 2020-07-31

Similar Documents

Publication Publication Date Title
US7827598B2 (en) Grouped access control list actions
US8839354B2 (en) Mobile enterprise server and client device interaction
US8769653B2 (en) Unified access control system and method for composed services in a distributed environment
US9864868B2 (en) Method and apparatus for process enforced configuration management
US8726342B1 (en) Keystore access control system
US8561152B2 (en) Target-based access check independent of access request
US7529931B2 (en) Managing elevated rights on a network
US6678682B1 (en) Method, system, and software for enterprise access management control
CN108092945B (zh) 访问权限的确定方法和装置、终端
CN107645532B (zh) 混合云的用户管理方法和装置
US10148637B2 (en) Secure authentication to provide mobile access to shared network resources
CN111064718B (zh) 一种基于用户上下文及策略的动态授权方法和系统
US10848522B2 (en) Just-in-time access based on screening criteria to maintain control of restricted data in cloud computing environments
US20220083936A1 (en) Access control method
US10771261B1 (en) Extensible unified multi-service certificate and certificate revocation list management
US10616225B2 (en) Controlling access rights of a document using enterprise digital rights management
US11611587B2 (en) Systems and methods for data privacy and security
CN114866346B (zh) 一种基于分散式的密码服务平台
CN112311830B (zh) 基于云存储的Hadoop集群的多租户认证系统及方法
US10333939B2 (en) System and method for authentication
CN111475802B (zh) 权限的控制方法和装置
CN110708298A (zh) 集中管理动态实例身份和访问的方法及装置
CN115955346A (zh) 一种基于身份认证体系的多租户管理系统及方法
US20170171212A1 (en) Information processing device, authorization system, information processing method, and recording medium
US20100043049A1 (en) Identity and policy enabled collaboration

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
GR01 Patent grant
GR01 Patent grant