CN109309686A - 一种多租户管理方法及装置 - Google Patents

一种多租户管理方法及装置 Download PDF

Info

Publication number
CN109309686A
CN109309686A CN201811295463.XA CN201811295463A CN109309686A CN 109309686 A CN109309686 A CN 109309686A CN 201811295463 A CN201811295463 A CN 201811295463A CN 109309686 A CN109309686 A CN 109309686A
Authority
CN
China
Prior art keywords
tenant
spark
target
address
yarn
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
Application number
CN201811295463.XA
Other languages
English (en)
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.)
Inspur Software Group Co Ltd
Original Assignee
Inspur Software Group 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 Inspur Software Group Co Ltd filed Critical Inspur Software Group Co Ltd
Priority to CN201811295463.XA priority Critical patent/CN109309686A/zh
Publication of CN109309686A publication Critical patent/CN109309686A/zh
Pending legal-status Critical Current

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/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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • 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/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种多租户管理方法及装置,该方法,包括:预先将第一授权策略配置到Ranger中;将至少一个服务地址配置到Apache Knox Gateway中;Apache Knox Gateway接收当前租户访问目标服务地址的访问命令;Ranger根据第一授权策略,判断当前租户是否有权限访问目标服务地址对应的Spark Thrift Server,如果是,则允许当前租户访问目标服务地址对应的Spark Thrift Server,否则,不允许当前租户访问目标服务地址对应的Spark Thrift Server。本发明能够实现多租户访问Spark Thrift Server的权限控制。

Description

一种多租户管理方法及装置
技术领域
本发明涉及计算机技术领域,特别涉及一种多租户管理方法及装置。
背景技术
Spark是Apache一个开源的框架,该组件中的Spark Thrift Server给用户提供了一个可以使用标准SQL语句访问大数据的基于内存高速计算的高可用服务。但是,现有技术中无法实现对多租户访问Spark Thrift Server的权限控制。
发明内容
本发明实施例提供了一种多租户管理方法及装置,能够实现多租户访问SparkThrift Server的权限控制。
第一方面,本发明实施例提供了一种多租户管理方法,包括:
预先接收外部输入的针对至少一个Spark Thrift Server的第一授权策略和至少一个服务地址,其中,所述至少一个Spark Thrift Server与所述至少一个服务地址一一对应;
将所述第一授权策略配置到Ranger中;
将所述至少一个服务地址配置到Apache Knox Gateway中;
所述Apache Knox Gateway接收当前租户访问目标服务地址的访问命令;
所述Ranger根据所述第一授权策略,判断所述当前租户是否有权限访问所述目标服务地址对应的Spark Thrift Server,如果是,则允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server,否则,不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server。
优选地,
该方法进一步包括:
预先接收外部输入的针对Yarn队列的第二授权策略;
将所述第二授权策略配置到所述Ranger中;
在所述允许所述当前租户访问所述目标服务地址对应的Spark Thrift Server之后,进一步包括:
所述目标服务地址对应的Spark Thrift Server接收所述当前租户发来的请求在目标Yarn队列上运行计算任务的请求命令;
所述Ranger根据所述第二授权策略,判断所述当前租户是否有权限使用所述目标Yarn队列,如果是,则允许所述当前租户在所述目标Yarn队列上运行所述计算任务,否则,不允许所述当前租户在所述目标Yarn队列上运行所述计算任务。
优选地,
该方法进一步包括:
预先设置Yarn的调度策略,将所述调度策略配置到所述Yarn中,其中,所述调度策略中包括:每个所述Yarn队列与计算资源的第一对应关系;
在所述允许所述当前租户在所述目标Yarn队列上运行所述计算任务之后,进一步包括:
所述Yarn按照所述调度策略中的所述第一对应关系,为所述目标Yarn队列分配对应的计算资源。
优选地,
所述第二授权策略中包括:每个租户与所述Yarn队列的第二对应关系,其中,每个租户有权限使用在所述第二对应关系中对应的所述Yarn队列;
所述Ranger根据所述第二授权策略,判断所述当前租户是否有权限使用所述目标Yarn队列,如果是,则允许所述当前租户在所述目标Yarn队列上运行所述计算任务,否则,不允许所述当前租户在所述目标Yarn队列上运行所述计算任务,包括:
所述Ranger根据所述第二授权策略中的所述第二对应关系,确定所述当前租户对应的可使用的Yarn队列;
所述Ranger判断所述当前租户对应的可使用的Yarn队列与所述目标Yarn队列是否相同,如果是,则允许所述当前租户在所述目标Yarn队列上运行所述计算任务,否则,不允许所述当前租户在所述目标Yarn队列上运行所述计算任务。
优选地,
所述第一授权策略中包括:每个租户与所述Spark Thrift Server的第三对应关系,其中,每个租户有权限访问在所述第三对应关系中对应的所述Spark Thrift Server;
所述Ranger根据所述第一授权策略,判断所述当前租户是否有权限访问所述目标服务地址对应的Spark Thrift Server,如果是,则允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server,否则,不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server,包括:
所述Ranger根据所述第一授权策略中的所述第三对应关系,确定所述当前租户对应的可访问的Spark Thrift Server;
所述Ranger判断所述当前租户对应的可访问的Spark Thrift Server与所述目标服务地址对应的Spark Thrift Server是否相同,如果是,则允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server,否则,不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server。
第二方面,本发明实施例提供了一种多租户管理装置,包括:
配置单元、Apache Knox Gateway、Ranger和至少一个Spark Thrift Server;
所述配置单元,用于接收外部输入的针对至少一个Spark Thrift Server的第一授权策略和至少一个服务地址,其中,所述至少一个Spark Thrift Server与所述至少一个服务地址一一对应;将所述第一授权策略配置到Ranger中;将所述至少一个服务地址配置到Apache Knox Gateway中;
所述Apache Knox Gateway,用于接收当前租户访问目标服务地址的访问命令;
所述Ranger,用于根据所述第一授权策略,判断所述当前租户是否有权限访问所述目标服务地址对应的Spark Thrift Server,如果是,则允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server,否则,不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server。
优选地,
所述配置单元,进一步用于接收外部输入的针对Yarn队列的第二授权策略;将所述第二授权策略配置到所述Ranger中;
所述目标服务地址对应的Spark Thrift Server,用于接收所述当前租户发来的请求在目标Yarn队列上运行计算任务的请求命令;
所述Ranger,进一步用于根据所述第二授权策略,判断所述当前租户是否有权限使用所述目标Yarn队列,如果是,则允许所述当前租户在所述目标Yarn队列上运行所述计算任务,否则,不允许所述当前租户在所述目标Yarn队列上运行所述计算任务。
优选地,
该装置进一步包括:Yarn;
所述配置单元,进一步用于设置所述Yarn的调度策略,将所述调度策略配置到所述Yarn中,其中,所述调度策略中包括:每个所述Yarn队列与计算资源的第一对应关系;
所述Yarn,用于按照所述调度策略中的所述第一对应关系,为所述目标Yarn队列分配对应的计算资源。
优选地,
所述第二授权策略中包括:每个租户与所述Yarn队列的第二对应关系,其中,每个租户有权限使用在所述第二对应关系中对应的所述Yarn队列;
所述Ranger,用于:
根据所述第二授权策略中的所述第二对应关系,确定所述当前租户对应的可使用的Yarn队列;
判断所述当前租户对应的可使用的Yarn队列与所述目标Yarn队列是否相同,如果是,则允许所述当前租户在所述目标Yarn队列上运行所述计算任务,否则,不允许所述当前租户在所述目标Yarn队列上运行所述计算任务。
优选地,
所述第一授权策略中包括:每个租户与所述Spark Thrift Server的第三对应关系,其中,每个租户有权限访问在所述第三对应关系中对应的所述Spark Thrift Server;
所述Ranger,用于:
根据所述第一授权策略中的所述第三对应关系,确定所述当前租户对应的可访问的Spark Thrift Server;
判断所述当前租户对应的可访问的Spark Thrift Server与所述目标服务地址对应的Spark Thrift Server是否相同,如果是,则允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server,否则,不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server。
在本发明实施例中,预先为Ranger配置第一授权策略,并通过Apache KnoxGateway为租户提供各个Spark Thrift Server的服务地址,在租户访问任一目标服务地址,Ranger根据第一授权策略对该租户进行验证,判断该租户是否有权限访问目标服务地址对应的Spark Thrift Server,在该租户有权限的情况下才允许该租户访问目标服务地址对应的Spark Thrift Server,实现了多租户访问Spark Thrift Server的权限控制。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种多租户管理方法的流程图;
图2是本发明一实施例提供的另一种多租户管理方法的流程图;
图3是本发明一实施例提供的一种多租户管理装置的示意图;
图4是本发明一实施例提供的另一种多租户管理装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种多租户管理方法,该方法可以包括以下步骤:
步骤101:预先接收外部输入的针对至少一个Spark Thrift Server的第一授权策略和至少一个服务地址,其中,所述至少一个Spark Thrift Server与所述至少一个服务地址一一对应;
步骤102:将所述第一授权策略配置到Ranger中;
步骤103:将所述至少一个服务地址配置到Apache Knox Gateway中;
步骤104:所述Apache Knox Gateway接收当前租户访问目标服务地址的访问命令;
步骤105:所述Ranger根据所述第一授权策略,判断所述当前租户是否有权限访问所述目标服务地址对应的Spark Thrift Server,如果是,则执行步骤106,否则,执行步骤107;
步骤106:允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server;
步骤107:不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server。
在本发明实施例中,预先为Ranger配置第一授权策略,并通过Apache KnoxGateway为租户提供各个Spark Thrift Server的服务地址,在租户访问任一目标服务地址,Ranger根据第一授权策略对该租户进行验证,判断该租户是否有权限访问目标服务地址对应的Spark Thrift Server,在该租户有权限的情况下才允许该租户访问目标服务地址对应的Spark Thrift Server,实现了多租户访问Spark Thrift Server的权限控制。
在本发明一实施例中,该方法进一步包括:
预先接收外部输入的针对Yarn队列的第二授权策略;
将所述第二授权策略配置到所述Ranger中;
在所述允许所述当前租户访问所述目标服务地址对应的Spark Thrift Server之后,进一步包括:
所述目标服务地址对应的Spark Thrift Server接收所述当前租户发来的请求在目标Yarn队列上运行计算任务的请求命令;
所述Ranger根据所述第二授权策略,判断所述当前租户是否有权限使用所述目标Yarn队列,如果是,则允许所述当前租户在所述目标Yarn队列上运行所述计算任务,否则,不允许所述当前租户在所述目标Yarn队列上运行所述计算任务。
在本发明实施例中,预先为Ranger配置第二授权策略,租户在连接到SparkThrift Server后,需要使用Yarn队列运行计算任务,Ranger根据第二授权策略判断租户是否有权限使用请求的目标Yarn队列,这样,实现对租户使用Yarn队列的权限控制,另外,各个租户使用其对应的Yarn队列运行计算任务,实现了资源隔离。
在本发明一实施例中,该方法进一步包括:
预先设置Yarn的调度策略,将所述调度策略配置到所述Yarn中,其中,所述调度策略中包括:每个所述Yarn队列与计算资源的第一对应关系;
在所述允许所述当前租户在所述目标Yarn队列上运行所述计算任务之后,进一步包括:
所述Yarn按照所述调度策略中的所述第一对应关系,为所述目标Yarn队列分配对应的计算资源。
在本发明实施例中,计算资源可以包括:CPU、内存、虚拟核等资源。通过调度策略中的第一对应关系为每个Yarn队列分配相应的计算资源。计算资源可以通过资源占比、权重值来分配,例如用:第一个Yarn队列对应的计算资源为50%的CPU、30%的内存等。
在本发明一实施例中,所述第二授权策略中包括:每个租户与所述Yarn队列的第二对应关系,其中,每个租户有权限使用在所述第二对应关系中对应的所述Yarn队列;
所述Ranger根据所述第二授权策略,判断所述当前租户是否有权限使用所述目标Yarn队列,如果是,则允许所述当前租户在所述目标Yarn队列上运行所述计算任务,否则,不允许所述当前租户在所述目标Yarn队列上运行所述计算任务,包括:
所述Ranger根据所述第二授权策略中的所述第二对应关系,确定所述当前租户对应的可使用的Yarn队列;
所述Ranger判断所述当前租户对应的可使用的Yarn队列与所述目标Yarn队列是否相同,如果是,则允许所述当前租户在所述目标Yarn队列上运行所述计算任务,否则,不允许所述当前租户在所述目标Yarn队列上运行所述计算任务。
在本发明实施例中,通过第二授权策略中的第二对应关系为每个租户分配Yarn队列,每个租户只能使用第二对应关系中对应的Yarn队列运行计算任务。
在本发明一实施例中,所述第一授权策略中包括:每个租户与所述Spark ThriftServer的第三对应关系,其中,每个租户有权限访问在所述第三对应关系中对应的所述Spark Thrift Server;
所述Ranger根据所述第一授权策略,判断所述当前租户是否有权限访问所述目标服务地址对应的Spark Thrift Server,如果是,则允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server,否则,不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server,包括:
所述Ranger根据所述第一授权策略中的所述第三对应关系,确定所述当前租户对应的可访问的Spark Thrift Server;
所述Ranger判断所述当前租户对应的可访问的Spark Thrift Server与所述目标服务地址对应的Spark Thrift Server是否相同,如果是,则允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server,否则,不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server。
在本发明实施例中,通过第一授权策略中的第三对应关系为每个租户分配SparkThrift Server,每个租户只能连接第三对应关系中对应的Spark Thrift Server。
如图2所示,本发明实施例提供了一种多租户管理方法,包括:
步骤201:预先接收外部输入的针对至少一个Spark Thrift Server的第一授权策略、针对Yarn队列的第二授权策略和至少一个服务地址,其中,所述至少一个Spark ThriftServer与所述至少一个服务地址一一对应。
具体地,可以向外部提供配置页面,通过配置页面可以输入第一授权策略、第二授权策略和至少一个服务地址等内容。
另外,可以预先设置每个Spark Thrift Server的服务名,通过Spark ThriftServer的服务名作为Spark Thrift Server的标识。在设置每个Spark Thrift Server的服务地址时,可以通过每个Spark Thrift Server的服务名来生成。
该每个Spark Thrift Server的服务地址通过Apache Knox Gateway提供给各个租户,Apache Knox Gateway作为Spark Thrift Server的代理,Spark Thrift Server的服务地址作为Apache Knox Gateway的映射访问地址,通过服务地址可以访问到对应的SparkThrift Server。
步骤202:将所述第一授权策略和第二授权策略配置到Ranger中,将所述至少一个服务地址配置到Apache Knox Gateway中。
具体地,Apache Knox Gateway可动态设置并加载多个Spark Thrift Server的服务。
步骤203:预先设置Yarn的调度策略,将所述调度策略配置到所述Yarn中,其中,所述调度策略中包括:每个所述Yarn队列与计算资源的第一对应关系。
步骤204:所述Apache Knox Gateway接收当前租户访问目标服务地址的访问命令。
具体地,租户可以通过Apache Knox Gateway访问任一服务地址。
步骤205:所述Ranger根据所述第一授权策略,判断所述当前租户是否有权限访问所述目标服务地址对应的Spark Thrift Server,如果是,执行步骤206,否则,执行步骤207。
具体地,租户点击任一服务地址后,可以能无法连接到相应的Spark ThriftServer,Ranger需要对该租户的权限进行判断。
步骤206:允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server,执行步骤208。
具体地,在允许当前租户通过目标服务地址访问目标服务地址对应的SparkThrift Server后,当前租户可以连接到目标服务地址对应的Spark Thrift Server。
步骤207:不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server,结束当前流程。
具体地,当前租户无法连接到目标服务地址对应的Spark Thrift Server。
步骤208:所述目标服务地址对应的Spark Thrift Server接收所述当前租户发来的请求在目标Yarn队列上运行计算任务的请求命令,执行步骤209。
具体地,当前租户发出请求命令后,可能无法使用所请求的目标Yarn队列,需要Ranger判断该当前租户是否有权限。
步骤209:所述Ranger根据所述第二授权策略,判断所述当前租户是否有权限使用所述目标Yarn队列,如果是,则执行步骤210,否则,执行步骤211。
步骤210:允许所述当前租户在所述目标Yarn队列上运行所述计算任务,执行步骤212。
步骤211:不允许所述当前租户在所述目标Yarn队列上运行所述计算任务,结束当前流程。
步骤212:所述Yarn按照所述调度策略中的所述第一对应关系,为所述目标Yarn队列分配对应的计算资源。
具体地,在允许当前租户使用目标Yarn队列时,Yarn为目标Yarn队列分配计算资源,然后,可以利用这些计算资源在目标Yarn队列上执行计算任务。
具体地,每个Spark Thrift Server按照Yarn的资源调度策略分配资源,并独立启动在不同的队列上,使用资源被隔离,相互间不侵犯。
另外,在启用Spark Thrift Server、Ranger、Apache Knox Gateway和Yarn之前,还需要配置以下内容:
1、修改Spark参数hive.server2.transport.mode=http,通过该配置,使得SparkThrift Server支持通过Apache Knox Gateway的服务地址进行访问。
2、如果集群启用kerberos权限认证,需要设置hive.server2.authentication.kerberos.keytab=/etc/security/keytabs/spnego.service.keytab和hive.server2.authentication.kerberos.principal=HTTP/_HOST@INDATA.COM。
3、修改Apache Knox Gateway的admin.xml相关配置,修改main.ldapRealm.userDnTemplate=krbPrincipalName={0}@INDATA.COM,cn=INDATA.COM,cn=kerberos,dc=indata,dc=com和main.ldapRealm.contextFactory.url=ldap://{{knox_host_name}}:1389。
4、修改Apache Knox Gateway的authorization中knox.acl的配置,将admin修改为*。
5、在Apache Knox Gateway的topologies中增加以Spark Thrift Server服务名命名,例如:ThriftServer_service1的xml,并配置该服务名映射的Hive的service URL,例如:url=http://{{hive_server_host}}:10021/cliservice。
当需要增加多个Spark Thrift Server时,重复5中的配置。
6、在Ranger中设置启用对Knox的授权管理。
另外,在启动Spark Thrift Server时,使不同租户启动不同的Server服务,并在启动参数中设置租户已经通过Ranger授权的队列和端口号以及在Apache Knox Gateway中代理的服务的名称,如ThriftServer_service1。
用户启动或访问Spark Thrift Server时,访问Apache Knox Gateway的代理地址如:http://10.10.6.10:8444/gateway/Thriftserver_service1/hive。
不同的Spark Thrift Server进程通过Ranger的Yarn队列授权,运行在不同的队列中,由Yarn的调度策略控制,实现Spark Thrift Server的资源隔离功能。
Spark Thrift Server、Ranger、Apache Knox Gateway和Yarn均为开源组件。
在本发明实施例中,利用Apache Knox Gateway代理访问Spark Thrift Server;不同的Spark Thrift Server进程,分别启动在不同的Yarn队列上;针对租户不同权限实现对Spark Thrift Server访问控制;通过页面简单设置可以完成包括Knox、Ranger、Yarn及Spark Thrift Server的属性配置;多租户同时访问不同的Spark Thrift Server时,实现资源隔离。
在本发明实施例中,合法租户通过Apache Knox Gateway代理访问Spark ThriftServer可以正常执行SQL查询,执行Spark计算任务,非法用户则无法连接Spark ThriftServer。
在本发明实施例中,实现了租户访问Spark Thrift Server的权限控制和资源隔离功能,大大提高了大数据资源的利用率,更好更方便的管理大数据集群。租户访问的权限控制,提高了大数据的安全级别,大数据资源隔离功能使得不同租户间的计算任务互不干扰,提高了工作效率,最大限度的发挥集群的优势,让大数据集群资源的多租户管理变得更方便,更有效。
如图3、图4所示,本发明实施例提供了一种多租户管理装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图3所示,为本发明实施例提供的一种多租户管理装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图4所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的一种多租户管理装置,包括:
配置单元401、Apache Knox Gateway 402、Ranger 403和至少一个Spark ThriftServer 404;
所述配置单元401,用于接收外部输入的针对至少一个Spark Thrift Server的第一授权策略和至少一个服务地址,其中,所述至少一个Spark Thrift Server与所述至少一个服务地址一一对应;将所述第一授权策略配置到Ranger中;将所述至少一个服务地址配置到Apache Knox Gateway中;
所述Apache Knox Gateway 402,用于接收当前租户访问目标服务地址的访问命令;
所述Ranger 403,用于根据所述第一授权策略,判断所述当前租户是否有权限访问所述目标服务地址对应的Spark Thrift Server,如果是,则允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server,否则,不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server。
图4中示出了1个Spark Thrift Server 404。
在本发明一实施例中,所述配置单元,进一步用于接收外部输入的针对Yarn队列的第二授权策略;将所述第二授权策略配置到所述Ranger中;
所述目标服务地址对应的Spark Thrift Server,用于接收所述当前租户发来的请求在目标Yarn队列上运行计算任务的请求命令;
所述Ranger,进一步用于根据所述第二授权策略,判断所述当前租户是否有权限使用所述目标Yarn队列,如果是,则允许所述当前租户在所述目标Yarn队列上运行所述计算任务,否则,不允许所述当前租户在所述目标Yarn队列上运行所述计算任务。
在本发明一实施例中,该装置进一步包括:Yarn;
所述配置单元,进一步用于设置所述Yarn的调度策略,将所述调度策略配置到所述Yarn中,其中,所述调度策略中包括:每个所述Yarn队列与计算资源的第一对应关系;
所述Yarn,用于按照所述调度策略中的所述第一对应关系,为所述目标Yarn队列分配对应的计算资源。
在本发明一实施例中,所述第二授权策略中包括:每个租户与所述Yarn队列的第二对应关系,其中,每个租户有权限使用在所述第二对应关系中对应的所述Yarn队列;
所述Ranger,用于:
根据所述第二授权策略中的所述第二对应关系,确定所述当前租户对应的可使用的Yarn队列;
判断所述当前租户对应的可使用的Yarn队列与所述目标Yarn队列是否相同,如果是,则允许所述当前租户在所述目标Yarn队列上运行所述计算任务,否则,不允许所述当前租户在所述目标Yarn队列上运行所述计算任务。
在本发明一实施例中,所述第一授权策略中包括:每个租户与所述Spark ThriftServer的第三对应关系,其中,每个租户有权限访问在所述第三对应关系中对应的所述Spark Thrift Server;
所述Ranger,用于:
根据所述第一授权策略中的所述第三对应关系,确定所述当前租户对应的可访问的Spark Thrift Server;
判断所述当前租户对应的可访问的Spark Thrift Server与所述目标服务地址对应的Spark Thrift Server是否相同,如果是,则允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server,否则,不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server。
在本发明一实施例中,配置单元可以为外部提供配置页面,外部可以通过配置页面进行配置。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行本发明实施例提供的任意一种多租户管理方法。
本发明实施例提供了一种存储控制器,包括:处理器、存储器和总线;
所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的执行指令,以使所述存储控制器执行本发明实施例提供的任意一种多租户管理方法。
本发明各个实施例至少具有如下有益效果:
1、在本发明实施例中,预先为Ranger配置第一授权策略,并通过Apache KnoxGateway为租户提供各个Spark Thrift Server的服务地址,在租户访问任一目标服务地址,Ranger根据第一授权策略对该租户进行验证,判断该租户是否有权限访问目标服务地址对应的Spark Thrift Server,在该租户有权限的情况下才允许该租户访问目标服务地址对应的Spark Thrift Server,实现了多租户访问Spark Thrift Server的权限控制。
2、在本发明实施例中,预先为Ranger配置第二授权策略,租户在连接到SparkThrift Server后,需要使用Yarn队列运行计算任务,Ranger根据第二授权策略判断租户是否有权限使用请求的目标Yarn队列,这样,实现对租户使用Yarn队列的权限控制,另外,各个租户使用其对应的Yarn队列运行计算任务,实现了资源隔离。
3、在本发明实施例中,实现了租户访问Spark Thrift Server的权限控制和资源隔离功能,大大提高了大数据资源的利用率,更好更方便的管理大数据集群。租户访问的权限控制,提高了大数据的安全级别,大数据资源隔离功能使得不同租户间的计算任务互不干扰,提高了工作效率,最大限度的发挥集群的优势,让大数据集群资源的多租户管理变得更方便,更有效。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种多租户管理方法,其特征在于,
预先接收外部输入的针对至少一个Spark Thrift Server的第一授权策略和至少一个服务地址,其中,所述至少一个Spark Thrift Server与所述至少一个服务地址一一对应;
将所述第一授权策略配置到Ranger中;
将所述至少一个服务地址配置到Apache Knox Gateway中;
还包括:
所述Apache Knox Gateway接收当前租户访问目标服务地址的访问命令;
所述Ranger根据所述第一授权策略,判断所述当前租户是否有权限访问所述目标服务地址对应的Spark Thrift Server,如果是,则允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server,否则,不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server。
2.根据权利要求1所述的方法,其特征在于,
进一步包括:
预先接收外部输入的针对Yarn队列的第二授权策略;
将所述第二授权策略配置到所述Ranger中;
在所述允许所述当前租户访问所述目标服务地址对应的Spark Thrift Server之后,进一步包括:
所述目标服务地址对应的Spark Thrift Server接收所述当前租户发来的请求在目标Yarn队列上运行计算任务的请求命令;
所述Ranger根据所述第二授权策略,判断所述当前租户是否有权限使用所述目标Yarn队列,如果是,则允许所述当前租户在所述目标Yarn队列上运行所述计算任务,否则,不允许所述当前租户在所述目标Yarn队列上运行所述计算任务。
3.根据权利要求2所述的方法,其特征在于,
进一步包括:
预先设置Yarn的调度策略,将所述调度策略配置到所述Yarn中,其中,所述调度策略中包括:每个所述Yarn队列与计算资源的第一对应关系;
在所述允许所述当前租户在所述目标Yarn队列上运行所述计算任务之后,进一步包括:
所述Yarn按照所述调度策略中的所述第一对应关系,为所述目标Yarn队列分配对应的计算资源。
4.根据权利要求2所述的方法,其特征在于,
所述第二授权策略中包括:每个租户与所述Yarn队列的第二对应关系,其中,每个租户有权限使用在所述第二对应关系中对应的所述Yarn队列;
所述Ranger根据所述第二授权策略,判断所述当前租户是否有权限使用所述目标Yarn队列,如果是,则允许所述当前租户在所述目标Yarn队列上运行所述计算任务,否则,不允许所述当前租户在所述目标Yarn队列上运行所述计算任务,包括:
所述Ranger根据所述第二授权策略中的所述第二对应关系,确定所述当前租户对应的可使用的Yarn队列;
所述Ranger判断所述当前租户对应的可使用的Yarn队列与所述目标Yarn队列是否相同,如果是,则允许所述当前租户在所述目标Yarn队列上运行所述计算任务,否则,不允许所述当前租户在所述目标Yarn队列上运行所述计算任务。
5.根据权利要求1-4中所述的方法,其特征在于,
所述第一授权策略中包括:每个租户与所述Spark Thrift Server的第三对应关系,其中,每个租户有权限访问在所述第三对应关系中对应的所述Spark Thrift Server;
所述Ranger根据所述第一授权策略,判断所述当前租户是否有权限访问所述目标服务地址对应的Spark Thrift Server,如果是,则允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server,否则,不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server,包括:
所述Ranger根据所述第一授权策略中的所述第三对应关系,确定所述当前租户对应的可访问的Spark Thrift Server;
所述Ranger判断所述当前租户对应的可访问的Spark Thrift Server与所述目标服务地址对应的Spark Thrift Server是否相同,如果是,则允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server,否则,不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server。
6.一种多租户管理装置,其特征在于,包括:
配置单元、Apache Knox Gateway、Ranger和至少一个Spark Thrift Server;
所述配置单元,用于接收外部输入的针对至少一个Spark Thrift Server的第一授权策略和至少一个服务地址,其中,所述至少一个Spark Thrift Server与所述至少一个服务地址一一对应;将所述第一授权策略配置到Ranger中;将所述至少一个服务地址配置到Apache Knox Gateway中;
所述Apache Knox Gateway,用于接收当前租户访问目标服务地址的访问命令;
所述Ranger,用于根据所述第一授权策略,判断所述当前租户是否有权限访问所述目标服务地址对应的Spark Thrift Server,如果是,则允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server,否则,不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server。
7.根据权利要求6所述的装置,其特征在于,
所述配置单元,进一步用于接收外部输入的针对Yarn队列的第二授权策略;将所述第二授权策略配置到所述Ranger中;
所述目标服务地址对应的Spark Thrift Server,用于接收所述当前租户发来的请求在目标Yarn队列上运行计算任务的请求命令;
所述Ranger,进一步用于根据所述第二授权策略,判断所述当前租户是否有权限使用所述目标Yarn队列,如果是,则允许所述当前租户在所述目标Yarn队列上运行所述计算任务,否则,不允许所述当前租户在所述目标Yarn队列上运行所述计算任务。
8.根据权利要求7所述的装置,其特征在于,
进一步包括:Yarn;
所述配置单元,进一步用于设置所述Yarn的调度策略,将所述调度策略配置到所述Yarn中,其中,所述调度策略中包括:每个所述Yarn队列与计算资源的第一对应关系;
所述Yarn,用于按照所述调度策略中的所述第一对应关系,为所述目标Yarn队列分配对应的计算资源。
9.根据权利要求7所述的装置,其特征在于,
所述第二授权策略中包括:每个租户与所述Yarn队列的第二对应关系,其中,每个租户有权限使用在所述第二对应关系中对应的所述Yarn队列;
所述Ranger,用于:
根据所述第二授权策略中的所述第二对应关系,确定所述当前租户对应的可使用的Yarn队列;
判断所述当前租户对应的可使用的Yarn队列与所述目标Yarn队列是否相同,如果是,则允许所述当前租户在所述目标Yarn队列上运行所述计算任务,否则,不允许所述当前租户在所述目标Yarn队列上运行所述计算任务。
10.根据权利要求6-9中所述的装置,其特征在于,
所述第一授权策略中包括:每个租户与所述Spark Thrift Server的第三对应关系,其中,每个租户有权限访问在所述第三对应关系中对应的所述Spark Thrift Server;
所述Ranger,用于:
根据所述第一授权策略中的所述第三对应关系,确定所述当前租户对应的可访问的Spark Thrift Server;
判断所述当前租户对应的可访问的Spark Thrift Server与所述目标服务地址对应的Spark Thrift Server是否相同,如果是,则允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server,否则,不允许所述当前租户通过所述目标服务地址访问所述目标服务地址对应的Spark Thrift Server。
CN201811295463.XA 2018-11-01 2018-11-01 一种多租户管理方法及装置 Pending CN109309686A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811295463.XA CN109309686A (zh) 2018-11-01 2018-11-01 一种多租户管理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811295463.XA CN109309686A (zh) 2018-11-01 2018-11-01 一种多租户管理方法及装置

Publications (1)

Publication Number Publication Date
CN109309686A true CN109309686A (zh) 2019-02-05

Family

ID=65222917

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811295463.XA Pending CN109309686A (zh) 2018-11-01 2018-11-01 一种多租户管理方法及装置

Country Status (1)

Country Link
CN (1) CN109309686A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175164A (zh) * 2019-05-27 2019-08-27 浪潮软件股份有限公司 一种SparkSQL thriftserver查询及操作Hive的权限控制的方法
CN110188573A (zh) * 2019-05-27 2019-08-30 深圳前海微众银行股份有限公司 分区授权方法、装置、设备及计算机可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107066867A (zh) * 2017-03-11 2017-08-18 郑州云海信息技术有限公司 一种大数据集群资源分配方法及装置
CN107196951A (zh) * 2017-06-12 2017-09-22 北京明朝万达科技股份有限公司 一种hdfs系统防火墙的实现方法和防火墙系统
CN107194239A (zh) * 2017-05-24 2017-09-22 郑州云海信息技术有限公司 一种权限管理方法及装置
CN107622211A (zh) * 2017-09-27 2018-01-23 浪潮软件股份有限公司 一种大数据集群权限访问控制方法及装置
CN107659450A (zh) * 2017-09-29 2018-02-02 深圳索信达数据技术股份有限公司 大数据集群资源的分配方法、分配装置及存储介质
CN108280367A (zh) * 2018-01-22 2018-07-13 腾讯科技(深圳)有限公司 数据操作权限的管理方法、装置、计算设备及存储介质
CA2997071A1 (en) * 2017-03-03 2018-09-03 Next Pathway Inc. Metadata-driven data management platform
CN108595473A (zh) * 2018-03-09 2018-09-28 广州市优普计算机有限公司 一种基于云计算的大数据应用平台

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2997071A1 (en) * 2017-03-03 2018-09-03 Next Pathway Inc. Metadata-driven data management platform
CN107066867A (zh) * 2017-03-11 2017-08-18 郑州云海信息技术有限公司 一种大数据集群资源分配方法及装置
CN107194239A (zh) * 2017-05-24 2017-09-22 郑州云海信息技术有限公司 一种权限管理方法及装置
CN107196951A (zh) * 2017-06-12 2017-09-22 北京明朝万达科技股份有限公司 一种hdfs系统防火墙的实现方法和防火墙系统
CN107622211A (zh) * 2017-09-27 2018-01-23 浪潮软件股份有限公司 一种大数据集群权限访问控制方法及装置
CN107659450A (zh) * 2017-09-29 2018-02-02 深圳索信达数据技术股份有限公司 大数据集群资源的分配方法、分配装置及存储介质
CN108280367A (zh) * 2018-01-22 2018-07-13 腾讯科技(深圳)有限公司 数据操作权限的管理方法、装置、计算设备及存储介质
CN108595473A (zh) * 2018-03-09 2018-09-28 广州市优普计算机有限公司 一种基于云计算的大数据应用平台

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
陈丽: "Hadoop大数据平台安全问题和解决方案的综述", 《计算机系统应用》 *
韩磊: "企业级Hadoop大数据平台安全管理方案的研究", 《电脑与电信》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175164A (zh) * 2019-05-27 2019-08-27 浪潮软件股份有限公司 一种SparkSQL thriftserver查询及操作Hive的权限控制的方法
CN110188573A (zh) * 2019-05-27 2019-08-30 深圳前海微众银行股份有限公司 分区授权方法、装置、设备及计算机可读存储介质
CN110175164B (zh) * 2019-05-27 2023-04-07 浪潮软件股份有限公司 一种SparkSQL thriftserver查询及操作Hive的权限控制的方法
CN110188573B (zh) * 2019-05-27 2024-06-04 深圳前海微众银行股份有限公司 分区授权方法、装置、设备及计算机可读存储介质

Similar Documents

Publication Publication Date Title
US11750609B2 (en) Dynamic computing resource access authorization
US8769653B2 (en) Unified access control system and method for composed services in a distributed environment
US10055561B2 (en) Identity risk score generation and implementation
EP2039111B1 (en) System and method for tracking the security enforcement in a grid system
US8726348B2 (en) Collaborative rules based security
CN112368690A (zh) 受保护实体的基于区块链的准入过程
US20120246695A1 (en) Access control of distributed computing resources system and method
US20150046971A1 (en) Method and system for access control in cloud computing service
US20120110318A1 (en) System and method for controlling state tokens
CN102082821B (zh) 基于联邦中心的跨资源池资源安全访问方法与系统
US10237252B2 (en) Automatic creation and management of credentials in a distributed environment
CN110113369A (zh) 一种基于角色权限控制的鉴权方法
CN108092945A (zh) 访问权限的确定方法和装置、终端
US9537893B2 (en) Abstract evaluation of access control policies for efficient evaluation of constraints
US20130312068A1 (en) Systems and methods for administrating access in an on-demand computing environment
CN109309686A (zh) 一种多租户管理方法及装置
US9836711B2 (en) Job execution system, job execution program, and job execution method
US20100030805A1 (en) Propagating information from a trust chain processing
CN116566614A (zh) 用于动态制造系统的访问控制实施架构
US20120185581A1 (en) Domain based isolation of network ports
US20240007465A1 (en) Controlling access to components of a software-defined data center in a hybrid environment
US20240007463A1 (en) Authenticating commands issued through a cloud platform to execute changes to inventory of virtual objects deployed in a software-defined data center
US20210136053A1 (en) Access management system with a secret isolation manager
KR20230072258A (ko) 데이터베이스에 대한 api 기반의 접근 제어 시스템 및 방법
CN116346479A (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

Application publication date: 20190205

RJ01 Rejection of invention patent application after publication