开放式数据处理系统、开放式数据系统及数据处理方法与流程

文档序号:20686023发布日期:2020-05-08 18:50阅读:356来源:国知局
开放式数据处理系统、开放式数据系统及数据处理方法与流程

本申请属于数据处理领域,尤其涉及一种开放式数据处理系统、开放式数据系统及数据处理方法。



背景技术:

数据孤岛现象指数据在不同部门独立存储、独立维护、彼此独立的现象。但随着信息技术产业的飞速发展,传统的以应用为中心的数据队列织方式向以信息为中心的分布式结构方式转变。数据孤岛现象逐渐消失,数据的开放共享成为大数据发展的大势所趋。

因为开放式数据系统需要与外部的多个用户进行数据交互,而开放式数据系统中的部分数据为对安全性要求很高的数据。现阶段的开放式数据系统中对安全性要求很高的数据容易发生泄露,降低了开放式数据系统的安全性。



技术实现要素:

本申请实施例提供了一种开放式数据处理系统、开放式数据系统及数据处理方法,能够提高开放式数据处理系统的安全性。

第一方面,本申请实施例提供一种开放式数据处理系统,包括单点登录sso平台、活动目录ad服务器和数据集群服务器;

其中,sso平台用于根据接收到的用户的输入信息,对用户进行合法性验证;

ad服务器存储有用户身份信息,用于在sso平台对用户的合法性验证通过的情况下,检测ad服务器中是否存在与用户匹配的用户身份信息;

数据集群服务器用于在ad服务器中存在与用户匹配的用户身份信息的情况下,利用kerberos协议对用户进行身份认证,若用户通过身份认证,确定用户的访问权限,输出用户请求的目标数据,和/或,确定用户的操作权限,执行用户请求的目标任务,

其中,目标数据存储于数据集群服务器中且与用户的访问权限匹配,目标任务与用户的操作权限匹配。

第二方面,本申请实施例提供一种开放式数据系统,包括用户终端和第一方面的技术方案中的开放式数据处理系统;

其中,用户终端具有人机交互界面,人机交互界面用于响应用户的输入操作,跳转至sso平台,并将输入操作对应的输入信息传输至sso平台。

第三方面,本申请实施例提供一种基于开放式数据处理系统的数据处理方法,应用于第一方面的技术方案中的开放式数据处理系统,基于开放式数据处理系统的数据处理方法包括:

sso平台根据接收到的用户的输入信息,对用户进行合法性验证;

在sso平台对用户的合法性验证通过的情况下,ad服务器检测ad服务器中是否存在与用户匹配的用户身份信息;

在ad服务器中存在与用户匹配的用户身份信息的情况下,数据集群服务器利用kerberos协议对用户进行身份认证,若用户通过身份认证,确定用户的访问权限,输出用户请求的目标数据,和/或,确定用户的操作权限,执行用户请求的目标任务,

其中,目标数据存储于数据集群服务器中且与用户的访问权限匹配,目标任务与用户的操作权限匹配。

第四方面,本申请实施例提供一种基于开放式数据系统的数据处理方法,应用于第二方面的技术方案中的开放式数据系统,基于开放式数据系统的数据处理方法包括:

用户终端的人机交互界面响应用户的输入操作,跳转至sso平台,并将输入操作对应的输入信息传输至sso平台;

sso平台根据接收到的用户的输入信息,对用户进行合法性验证;

在sso平台对用户的合法性验证通过的情况下,ad服务器检测ad服务器中是否存在与用户匹配的用户身份信息;

在ad服务器中存在与用户匹配的用户身份信息的情况下,数据集群服务器利用kerberos协议对用户进行身份认证,若用户通过身份认证,确定用户的访问权限,输出用户请求的目标数据,和/或,确定用户的操作权限,执行用户请求的目标任务,

其中,目标数据存储于数据集群服务器中且与用户的访问权限匹配,目标任务与用户的操作权限匹配。

本申请实施例提供了一种开放式数据处理系统、开放式数据系统及数据处理方法,sso平台、ad服务器以及数据集群服务器13中kerberos协议对用户进行三重身份认证。不论是用户连接的情况还是通过应用接口访问的情况,均需要在三重身份认证均通过的情况下,数据集群服务器才会输出用户请求的与该用户的访问权限匹配的目标数据,和/或,执行用户请求的与该用户的操作权限匹配的目标任务。在本申请实施例中,保证用户从登陆访问到数据处理整个流程的安全性,降低甚至避免了数据泄露的风险,从而提高了开放式数据处理系统的安全性。

附图说明

从下面结合附图对本申请的具体实施方式的描述中可以更好地理解本申请。其中,相同或相似的附图标记表示相同或相似的特征。

图1为本申请一实施例提供的一种开放式数据处理系统的结构示意图;

图2为本申请实施例提供的一种开放式数据系统的结构示意图;

图3为本申请一实施例提供的一种基于开放式数据处理系统的数据处理方法的流程图;

图4为本申请另一实施例提供的一种基于开放式数据处理系统的数据处理方法的流程图;

图5为本申请实施例提供的一种基于开放式数据系统的数据处理方法的流程图。

具体实施方式

下面将详细描述本申请的各个方面的特征和示例性实施例。在下面的详细描述中,提出了许多具体细节,以便提供对本申请的全面理解。但是,对于本领域技术人员来说很明显的是,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请的更好的理解。本申请决不限于下面所提出的任何具体配置和算法,而是在不脱离本申请的精神的前提下覆盖了元素、部件和算法的任何修改、替换和改进。在附图和下面的描述中,没有示出公知的结构和技术,以便避免对本申请造成不必要的模糊。

本申请实施例提供一种开放式数据处理系统、开放式数据系统及数据处理方法,可应用于开放式数据安全共享的场景中。采用本申请实施例提供的开放式数据处理系统、开放式数据系统及数据处理方法,可在数据开放共享的基础上,同时提高数据以及系统的安全性。该开放式数据处理系统、开放式数据系统及数据处理方法具体可应用于各个领域的数据中心,尤其是一些涉及到对安全性要求较高的领域,比如金融交易领域、用户信息安全领域等等,在此并不限定。

本申请实施例提供一种开放式数据处理系统。图1为本申请一实施例提供的一种开放式数据处理系统的结构示意图。如图1所示,该开放式数据处理系统可包括单点登录(singlesignon,sso)平台11、活动目录(activedirectory,ad)服务器12和数据集群服务器13。

sso平台11用于根据接收到的用户的输入信息,对用户进行合法性验证。sso平台11实现了对用户的第一重身份验证,用户的输入信息可包括用户标识和验证口令。在一些示例中,用户的输入信息还可包括组标识。用户标识、验证口令、组标识的具体实现方式可根据工作场景和工作需求设定,在此并不限定。比如,在用户群被划分为多个机构的场景下,用户标识具体可实现为用户名,验证口令具体可实现为用户密码,组标识具体可实现为机构代号。

sso平台11可存储有已注册的用户的用户身份信息,已注册且验证口令匹配的用户即为合法用户。若通过sso平台11的合法性验证,则可进入ad服务器12的验证流程。若该用户未通过sso平台11的合法性验证,可反馈提示信息,以提示该用户未通过合法性验证。

sso平台11还可实现用户的注销以及权限验证,在此并不限定。

具体地,sso平台11可用于根据接收到的用户的输入信息,获取为用户分配的ukey证书,利用分配的ukey证书对用户进行合法性验证。其中,用户在注册时可向sso平台11发出申请,请求分配该用户的ukey证书。在之后用户登录进行身份验证的过程中,即可利用分配的该ukey证书对该用户进行合法性验证。利用ukey证书进一步提高了开放式数据处理系统的安全性。

ad服务器12存储有用户身份信息,其中ad服务器12中存储的用户身份信息为已注册的用户的用户身份信息。ad服务器12用于在sso平台11对用户的合法性验证通过的情况下,检测ad服务器12中是否存在与用户匹配的用户身份信息。

ad服务器12实现了对用户的第二重身份验证。若ad服务器12中存在与该用户匹配的用户身份信息,表示该用户通过了第二重身份验证,可访问数据集群服务器13。若ad服务器12中不存在与该用户匹配的用户身份信息,可反馈提示信息,以提示该用户未通过验证。

数据集群服务器13为承载数据集群的服务器,在此并不限定开放式数据处理系统中数据集群服务器13的数量。在一些示例中,数据集群具体可实现为cdh(全称为cloudera’sdistributionincludingapachehadoop)数据集群。对应地,数据集群服务器13可具体实现为cdh数据集群服务器13。cdh数据集群可支持多种组件,数据集群服务器13可内置数据集群支持的组件,在此并不限定组件的数目和类型。比如,cdh数据集群可支持的组件可包括hive、impala、hbase、spark、hdfs中一个或多个。其中,hive为一种数据仓库工具。impala为一种查询系统。hbase为一种分布式的开源数据库。spark为一种大数据处理框架。hdfs为一种hadoop分布式文件系统。

数据集群服务器13用于在ad服务器12中存在与用户匹配的用户身份信息的情况下,利用kerberos协议对用户进行身份认证。若用户通过身份认证,数据集群服务器13可确定用户的访问权限,从而输出用户请求的目标数据,和/或,执行用户请求的目标任务。其中,目标数据存储于数据集群服务器13中且与用户的访问权限匹配。目标任务与用户的操作权限匹配。

在数据集群服务器13中,可利用kerberos协议对用户进行第三重身份验证。在第三重身份验证过程中,还可对用户所具有的权限进行验证。也就是说,在该用户通过kerberos协议的身份验证的情况下,数据集群服务器13输出的用户请求的目标数据是与该用户的访问权限匹配的数据,即使用户请求了超出自身访问权限的数据,数据集群服务器13也不会输出超出该用户的访问权限的数据。同理,在该用户通过kerberos协议的身份验证的情况下,数据集群服务器13执行的用户请求的目标任务是与该用户的操作权限匹配的任务,即使用户请求了超出自身操作权限的任务,数据集群服务器13也不会执行超出该用户的操作权限的任务。

其中,数据集群服务器13执行用户请求的目标任务,具体可调用数据集群服务器13内置的与用户的操作权限匹配的组件执行目标任务。比如,数据集群服务器13内置有组件hive、impala、hbase、spark和hdfs,用户a1具有hive、impala和hbase的操作权限,若用户a1请求连接hive以查找表数据,则数据集群可调用hive执行用户a1的查找表数据的任务。

在一些示例中,数据集群服务器13可通过kinit命令加载keytab文件,利用keytab文件实现kerberos协议的身份认证。若加载的keytab文件通过认证,则确定用户通过身份认证。加载的keytab文件是预先为用户分配生成的。

在另一些示例中,数据集群服务器13可通过输入的密码实现kerberos协议的身份认证。若输入的密码通过认证,则确定用户通过身份认证。

利用kerberos协议实现用户通过用户终端与数据集群服务器13进行身份认证,可在防止窃听、防止replay攻击、保护数据完整性等场合提供强大的认证服务,进一步提高开放型数据处理系统的安全性。

在本申请实施例中,sso平台11、ad服务器12以及数据集群服务器13中kerberos协议对用户进行三重身份认证。不论是用户连接的情况还是通过应用接口访问的情况,均需要在三重身份认证均通过的情况下,数据集群服务器13才会输出用户请求的与该用户的访问权限匹配的目标数据,和/或,执行用户请求的与该用户的操作权限匹配的目标任务。在本申请实施例中,保证用户从登陆访问到数据处理整个流程的安全性,降低甚至避免了数据泄露的风险,从而提高了开放式数据处理系统的安全性。

在本申请实施例中,ad服务器12与kerberos协议的功能在开放式数据处理系统中集成,将kerberos协议下的用户托管给ad服务器12管控,系统管理员无需登录数据集群服务器13即可通过ad服务器12管理维护用户,从而避免了用户管理维护过程中的误操作对数据集群服务器13的运行造成影响,提高了开放式数据处理系统的可靠性,实现更加灵活的用户管理、安全访问和权限分离。

在本申请的另一些实施例中,数据集群服务器13可结合kerberos协议和sentry机制实现了角色和组的统一应用。具体地,数据集群服务器13还用于基于kerberos协议设置组;基于sentry机制为用户创建角色,并对角色赋予权限,以建立角色与权限之间的权限映射关系;建立组与属于组的用户的角色之间的映射关系。

角色的种类和级别可根据工作场景和工作需求设定,在此并不限定。比如,角色可包括系统管理员角色、组管理员角色和用户角色,且系统管理员角色、组管理员角色和用户角色所具有的权限大小依次递减。系统管理员角色可具有为组管理员角色和用户角色分配权限的权限。

由于sentry机制具有角色的概念,但没有组的概念,kerberos协议具有组的概念,但没有角色的概念。本申请实施例通过建立组与属于组的用户的角色之间的映射关系,将组与角色结合在一起,实现了角色和组的统一应用。各个组内的用户只能访问各自的组对应的数据,无法获取其他组对应的数据,实现了权限分离。

在用户通过身份认证的情况下,数据集群服务器13可具体用于:确定目标组;在建立的组与角色的映射关系中查询目标角色集合,目标角色集合包括与目标组对应的角色;在目标角色集合中查询目标角色;将权限映射关系中与目标角色对应的权限作为用户的权限。

其中,目标组为用户所属的组。目标角色集合包括与目标组对应的角色。目标角色为与用户对应的角色。

使用开放式数据处理系统的大量用户可能属于多个机构,可利用开放式数据处理系统中“组”的概念实现机构的管理,比如,一个组对应一个机构。通过角色和组的组合模式实现不同级别的访问控制,以进一步避免信息泄露,提高数据安全性。

其中,权限包括访问权限和/或操作权限。由于采用sentry机制,可对权限进行粒度控制。比如,权限包括访问权限,访问权限包括目标数据粒度,目标数据粒度包括数据库、数据表、视图、字段中的一种或多种。也就是说,开放式数据处理系统受到用户的访问,输出的目标数据可以为数据库级别、数据表级别、视图级别、字段级别中任意一种或多种级别的数据。又比如,权限包括操作权限,操作权限包括操作粒度,操作粒度包括查找操作、删除操作、创建操作、更新操作中的一种或多种。也就是说,开放式数据处理系统受到用户的访问,执行的目标任务可以为查找操作、删除操作、创建操作、更新操作中任意一种或多种。

在一些示例中,上述实施例中的sso平台11还用于若确定所述用户为新增用户,向所述ad服务器12发送调用请求,以调用所述ad服务器12实现所述用户的注册。sso平台11在对用户进行合法性验证的过程中,可检测到该用户是否已经注册,若该用户未注册,且请求注册,则可确定该用户为新增用户。通过调用ad服务器12实现该用户的注册。

sso平台11存储有用户身份信息。为了保证sso平台11对用户进行合法性验证的准确性以及ad服务器12对用户的身份验证的准确性。sso平台11与ad服务器12可定时互相同步用户身份信息,实现用户身份信息与权限变更的实时更新。sso平台11与ad服务器12同步用户身份信息的间隔时长可根据ad服务器12中用户数目以及其他因素确定,在此并不限定。比如,可每天进行sso平台11与ad服务器12之间的用户身份信息的同步。

在一些示例中,ad服务器12还可用于在进行用户的注册过程中,配置用户的验证口令的有效时长。有效时长可根据具体工作场景和工作需求设定,在此并不限定。比如,可配置验证口令的有效时长为三个月。若验证口令到期后,可通过向开放式数据处理系统发送有效期延长申请请求进行有效时长延期操作。ad服务器12接收到有效期延长申请请求,可根据该有效期延长申请请求确定是否延长有效期,以及延长后的有效期具体时长。可根据工作业务需求灵活配置用户的验证口令的有效时长,从而降低对开放式数据处理系统的运维工作量,并平衡用户更新验证口令频率和数据安全性,在一定程度上也提高了用户体验。

在一些示例中,上述实施例中的数据集群服务器13还用于若确定用户为新增用户,触发调用应用程序编程接口(applicationprogramminginterface,api)生成用户的keytab文件。其中,可根据开放式数据处理系统的编程语言确定采用何种api,比如可采用javaapi。

用户在开放式数据处理系统中访问数据或执行任务均需要通过kerberos协议的认证,因此每个用户都配置有各自的keytab文件。在出现新增用户时,需要为其提供keytab文件。可在确定该用户为新增用户时,触发数据集群服务器13自动生成该用户的keytab文件,不需要人工生成keytab文件,提高了工作效率。

在一些示例中,数据集群服务器13内置有执行容器。数据集群服务器13安装有系统安全服务守护进程(systemsecurityservicesdameon,sssd)工具。数据集群服务器13还可用于与ad服务器12进行通信,利用sssd工具将ad服务器12中的用户身份信息同步至各个执行容器。

由于操作系统如linux系统具有用户权限的限制,用户将任务提交至执行容器时,需先切换到自己的用户目录下,才能执行后续的kerberos协议认证和任务执行等。但用户身份信息在ad服务器12中只有一份,执行容器有多个。本申请实施例中将用户身份信息同步至各个执行容器,可使得后续的kerberos协议认证和任务执行过程中,不需要单独手动在执行容器上同步用户身份信息,提高了工作效率。

在一些示例中,数据集群服务器13安装有yarn,yarn用于建立数据队列。在数据集群服务器13中,一个组对应的数据存储于至少一个数据队列,不同组对应的数据存储于不同的数据队列。不同数据队列之间彼此独立。利用yarn建立的数据队列将不同组的用户的数据资源隔离,一个组对应一个机构,使得共用一个开放式数据处理系统的多个机构可相互独立不受影响,并实现数据资源的统一弹性分配,更加便于对用户的管理。

进一步地,数据队列可对应设置有业务优先级和/或组优先级。数据集群服务器13可根据数据队列的业务优先级和/或组优先级响应用户的请求,以及按照数据队列的业务优先级和/或组优先级对数据队列进行管理。

在一些示例中,数据集群服务器13还用于利用轻量目录访问协议(lightweightdirectoryaccessprotocol,ldap),建立数据集群服务器13中数据的目录。其中,不同组对应的数据的根目录不同,同一组中不同用户对应的数据在根目录下的库不同。即不同组的私有数据空间可通过设置不同的根目录实现隔离,且各个组可自行管理私有数据空间的用户和权限。一个组对应一个机构,使得共用一个开放式数据处理系统的多个机构可相互独立不受影响。

在一些示例中,ad服务器12包括主用ad服务器12和备用ad服务器12,可在主用ad服务器12故障的情况下,由备用ad服务器12实现本申请实施例中的ad服务器12的验证操作,从而保证了ad服务器12的验证操作的可靠性。

数据集群服务器13包括用于运行kerberos协议的kerberos模块。kerberos模块包括主用kerberos模块和备用kerberos模块。可在主用kerberos模块故障的情况下,由备用kerberos模块实现kerberos协议的认证操作,从而保证了kerberos协议的认证操作的可靠性。

在本申请实施例中,数据集群服务器13存储有第一数据和第二数据,其中,第一数据和第二数据存储于数据集群服务器13中不同的存储区间。第一数据包括明细数据和/或敏感数据。第二数据为进行脱敏操作后的第一数据。明细数据和/或敏感数据与用户的个人隐私相关,为不能被泄露的数据。脱敏操作指对第一数据进行技术处理,使得从经过技术处理后的第一数据中无法获得具体的明细数据和/或敏感数据。在一些示例中,可采用sm3技术对第一数据进行脱敏处理,得到第二数据。

在一些示例中,数据集群服务器13还存储有第一数据与第二数据的对应关系。

需要注意的是,目标数据包括公开数据、汇总数据、脱敏明细数据、脱敏敏感数据中的一种或多种。公开数据即为可公开的数据。汇总数据即为总结性数据。公开数据和汇总数据均不会涉及到用户个人隐私。脱敏明细数据为脱敏操作后的明细数据。脱敏敏感数据为脱敏操作后的敏感数据。明细数据和敏感数据涉及用户个人隐私,但脱敏明细数据和脱敏敏感数据并不会泄露用户个人隐私。

在一些示例中,在交易场景下,公开数据可包括商户公开数据、机构公开数据等。汇总数据可包括机构汇总数据、个人汇总数据、商户汇总数据等。明细数据可包括交易明细等。对应地,脱敏明细数据包括脱敏的交易明细。敏感数据可包括用户卡号、用户手机号、用户证件号码等。脱敏敏感数据可包括脱敏的用户卡号、脱敏的用户手机号、脱敏的用户证件号码等。

在本申请实施例中,数据集群服务器13并不会对外输出未经脱敏处理的明细数据和敏感数据,以从数据源实现对数据安全的控制。

数据集群服务器13包括审核模块。审核模块用于检测待输出的目标数据是否包括未脱敏操作的明细数据或未脱敏操作的敏感数据,若待输出的目标数据包括未脱敏操作的明细数据或未脱敏操作的敏感数据,则拒绝输出目标数据。

不论数据通过api输出,还是通过内部文件传输协议(filetransferprotocol,ftp)向外传输,未脱敏操作的明细数据或未脱敏操作的敏感数据均不能够通过审核。为了便于管理,在一些示例中,下载条数小于1000条的目标数据或大小小于1mb的目标数据均可通过自动审核完成。

进一步地,开放式数据处理系统与外部的数据传输,如文件传输,可通过专用的统一文件收发系统完成,并通过专用通信通道传输。

开放式数据处理系统还可采用白名单控制、用户流量控制等方式,进一步提高开放式数据处理系统的安全性。

为了提高开放式数据处理系统的安全性,可将开放式数据处理系统设置于数据中心的核心生产区,以降低开放式数据处理系统被攻击的风险。

开放式数据处理系统的操作均会记录于日志,从而便于后续过程通过查找日志中的记录进行问题的追溯。

本申请实施例还提供了一种开放式数据系统。图2为本申请实施例提供的一种开放式数据系统的结构示意图。如图2所示,该开放式数据系统可包括用户终端21和上述实施例中的开放式数据处理系统10。

其中,用户终端21具有人机交互界面。人机交互界面用于响应用户的输入操作,跳转至sso平台11,并将输入操作对应的输入信息传输至sso平台11。

开放式数据处理系统10的具体内容可参见上述实施例中的相关说明,在此不再赘述。

在一些示例中,为了进一步避免数据泄露,提高开放式数据系统的安全性,用户终端21需要通过专用通信通道与开放式数据系统进行通信。

在本申请实施例中,用户通过用户终端21跳转至sso平台11,触发sso平台11、ad服务器12以及数据集群服务器13中kerberos协议对用户进行三重身份认证。不论是用户连接的情况还是通过应用接口访问的情况,均需要在三重身份认证均通过的情况下,数据集群服务器13才会输出用户请求的与该用户的访问权限匹配的目标数据,和/或,执行用户请求的与该用户的操作权限匹配的目标任务。在本申请实施例中,保证用户从登陆访问到数据处理整个流程的安全性,降低甚至避免了数据泄露的风险,从而提高了开放式数据处理系统10的安全性。

本申请实施例提供的开放式数据处理系统10和开放式数据系统从数据源访问控制,数据安全处理,到数据输出全程进行安全管理,保证开放式数据处理系统10和开放式数据系统的安全性。

在上述实施例中,也可采用其他技术如openladp等实现用户的认证,利用其他权限控制组件、加密算法等实现用户的权限分配以及数据的脱敏,在此并不限定。

本申请还提供一种基于开放式数据处理系统的数据处理方法,具体可应用于上述实施例中的开放式数据处理系统。图3为本申请一实施例提供的一种基于开放式数据处理系统的数据处理方法的流程图。如图3所示,该基于开放式数据处理系统的数据处理方法可包括步骤s301至步骤s304。

在步骤s301中,sso平台根据接收到的用户的输入信息,对用户进行合法性验证。

在一些示例中,输入信息包括组标识、用户标识和验证口令。

在步骤s302中,在sso平台对用户的合法性验证通过的情况下,ad服务器检测ad服务器中是否存在与用户匹配的用户身份信息。

在步骤s303中,在ad服务器中存在与用户匹配的用户身份信息的情况下,数据集群服务器利用kerberos协议对用户进行身份认证。

在步骤s304中,若用户通过身份认证,确定用户的访问权限,输出用户请求的目标数据,和/或,确定用户的操作权限,执行用户请求的目标任务。

其中,目标数据存储于数据集群服务器中且与用户的访问权限匹配。目标任务与用户的操作权限匹配。在一些示例中,目标数据包括公开数据、汇总数据、脱敏明细数据、脱敏敏感数据中的一种或多种。

为了提高安全性,数据集群服务器中第一数据和第二数据存储于不同的存储区间。第一数据包括明细数据和/或敏感数据。第二数据为进行脱敏操作后的第一数据。则步骤s304中输出用户请求的目标数据可具体实现为数据集群服务器从用于存储第二数据的存储区间获取目标数目并输出。

在本申请实施例中,sso平台、ad服务器以及数据集群服务器中kerberos协议对用户进行三重身份认证。不论是用户连接的情况还是通过应用接口访问的情况,均需要在三重身份认证均通过的情况下,数据集群服务器才会输出用户请求的与该用户的访问权限匹配的目标数据,和/或,执行用户请求的与该用户的操作权限匹配的目标任务。在本申请实施例中,保证用户从登陆访问到数据处理整个流程的安全性,降低甚至避免了数据泄露的风险,从而提高了开放式数据处理系统的安全性。

在一些示例中,上述执行用户请求的目标任务可具体实现为:数据集群服务器调用数据集群服务器内置的与用户的操作权限匹配的组件执行目标任务。

组件可包括hive、impala、hbase、spark、hdfs中一个或多个。

图4为本申请另一实施例提供的一种基于开放式数据处理系统的数据处理方法的流程图。图4与图3的不同之处在于,图3中的步骤s301可具体细化为图4中的步骤s3011,图3中的步骤s303可具体细化为图4中的步骤s3031和步骤s3032,图4所示的基于开放式数据处理系统的数据处理方法还可包括步骤s305和步骤s306。

在步骤s3011中,sso平台根据接收到的用户的输入信息,获取为用户分配的ukey证书,利用分配的ukey证书对用户进行合法性验证。

在步骤s3031中,数据集群服务器通过kinit命令加载keytab文件。

在步骤s3032中,若加载的keytab文件通过认证,数据集群服务器确定用户通过身份认证。

在步骤s305中,数据集群服务器检测待输出的目标数据是否包括未脱敏操作的明细数据或未脱敏操作的敏感数据;

在步骤s306中,若待输出的目标数据包括未脱敏操作的明细数据或未脱敏操作的敏感数据,数据集群服务器拒绝输出目标数据。

在又一些实施例中,数据集群服务器可基于kerberos协议设置组。数据集群服务器基于sentry机制为用户创建角色,并对角色赋予权限,以建立角色与权限之间的权限映射关系。数据集群服务器建立组与属于组的用户的角色之间的映射关系。其中,权限包括访问权限和/或操作权限。

对应地,上述实施例中步骤s304中若用户通过身份认证,确定用户的访问权限,可具体细化为:若用户通过身份认证,数据集群服务器确定目标组;数据集群服务器在建立的组与角色的映射关系中查询目标角色集合;数据集群服务器在目标角色集合中查询目标角色;数据集群服务器将权限映射关系中与目标角色对应的权限作为用户的权限。

其中,目标组为用户所属的组。目标角色集合包括与目标组对应的角色。目标角色为与用户对应的角色。

具体地,在一些示例中,上述实施例中权限包括访问权限,访问权限包括目标数据粒度,目标数据粒度包括数据库、数据表、视图、字段中的一种或多种。

在另一些示例中,权限包括操作权限,操作权限包括操作粒度,操作粒度包括查找操作、删除操作、创建操作、更新操作中的一种或多种。

在一些实施例中,开放式数据处理系统中可能会出现新增用户。对应地,上述基于开放式数据处理系统的数据处理方法还可包括:sso平台确定用户为新增用户,向ad服务器发送调用请求,以调用ad服务器实现用户的注册。

在一些示例中,sso平台存储有用户身份信息。对应地,上述基于开放式数据处理系统的数据处理方法还可包括:sso平台与ad服务器定时互相同步用户身份信息。

在一些示例中,上述基于开放式数据处理系统的数据处理方法还可包括:ad服务器在进行用户的注册过程中,配置用户的验证口令的有效时长。

在一些示例中,上述基于开放式数据处理系统的数据处理方法还可包括:数据集群服务器确定用户为新增用户,触发调用应用程序编程接口生成用户的keytab文件。

在一些实例中,数据集群服务器内置有执行容器。数据集群服务器安装有系统安全服务守护进程sssd工具。对应地,上述基于开放式数据处理系统的数据处理方法还包括:数据集群服务器与ad服务器进行通信,利用sssd工具将ad服务器中的用户身份信息同步至各个执行容器。

在数据集群服务器中,数据可以以数据队列的方式存储。比如,在数据集群服务器中,一个组对应的数据存储于至少一个数据队列,不同组对应的数据存储于不同的数据队列。对应地,上述实施例中步骤s304中输出用户请求的目标数据可具体实现为:数据集群服务器确定用户所属的组,查找用户所属的组对应的数据队列;从用户的组对应的数据队列中获取目标数据并输出。

在数据集群服务器中,数据的存储可由目录的方式记录。比如,不同组对应的数据的根目录不同,同一组中不同用户对应的数据在根目录下的库不同。对应地,上述实施例中步骤s304中输出用户请求的目标数据可具体实现为:数据集群服务器确定用户所属的组,查找用户所属的组对应的根目录;在用户所属的组对应的根目录下,查找与用户对应的库;从与用户对应的库中获取目标数据并输出。

本申请实施例还提供一种基于开放式数据系统的数据处理方法,可应用于上述实施例中的开放式数据系统。图5为本申请实施例提供的一种基于开放式数据系统的数据处理方法的流程图。如图5所示,该基于开放式数据系统的数据处理方法可包括步骤s401至步骤s405。

在步骤s401中,用户终端的人机交互界面响应用户的输入操作,跳转至sso平台,并将输入操作对应的输入信息传输至sso平台。

在步骤s402中,sso平台根据接收到的用户的输入信息,对用户进行合法性验证。

在步骤s403中,在sso平台对用户的合法性验证通过的情况下,ad服务器检测ad服务器中是否存在与用户匹配的用户身份信息。

在步骤s404中,在ad服务器中存在与用户匹配的用户身份信息的情况下,数据集群服务器利用kerberos协议对用户进行身份认证。

在步骤s405中,若用户通过身份认证,数据集群服务器确定用户的访问权限,输出用户请求的目标数据,和/或,确定用户的操作权限,执行用户请求的目标任务。

其中,目标数据存储于数据集群服务器中且与用户的访问权限匹配。目标任务与用户的操作权限匹配。

在本申请实施例中,用户通过用户终端跳转至sso平台,触发sso平台、ad服务器以及数据集群服务器中kerberos协议对用户进行三重身份认证。不论是用户连接的情况还是通过应用接口访问的情况,均需要在三重身份认证均通过的情况下,数据集群服务器才会输出用户请求的与该用户的访问权限匹配的目标数据,和/或,执行用户请求的与该用户的操作权限匹配的目标任务。在本申请实施例中,保证用户从登陆访问到数据处理整个流程的安全性,降低甚至避免了数据泄露的风险,从而提高了开放式数据处理系统的安全性。

本申请实施例中基于开放式数据系统的数据处理方法中开放式数据处理系统执行的方法可参见上述实施例中的基于开放式数据处理系统的数据处理方法,在此不再赘述。

需要明确的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。对于开放式数据系统实施例、方法实施例而言,相关之处可以参见开放式数据处理系统实施例的说明部分。本申请并不局限于上文所描述并在图中示出的特定步骤和结构。本领域的技术人员可以在领会本申请的精神之后,作出各种改变、修改和添加,或者改变步骤之间的顺序。并且,为了简明起见,这里省略对已知方法技术的详细描述。

本领域技术人员应能理解,上述实施例均是示例性而非限制性的。在不同实施例中出现的不同技术特征可以进行组合,以取得有益效果。本领域技术人员在研究附图、说明书及权利要求书的基础上,应能理解并实现所揭示的实施例的其他变化的实施例。在权利要求书中,术语“包括”并不排除其他装置或步骤;不定冠词“一个”不排除多个;术语“第一”、“第二”用于标示名称而非用于表示任何特定的顺序。权利要求中的任何附图标记均不应被理解为对保护范围的限制。权利要求中出现的多个部分的功能可以由一个单独的硬件或软件模块来实现。某些技术特征出现在不同的从属权利要求中并不意味着不能将这些技术特征进行组合以取得有益效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1