CN110708310B - 租户级权限管理方法、装置及设备 - Google Patents
租户级权限管理方法、装置及设备 Download PDFInfo
- Publication number
- CN110708310B CN110708310B CN201910938470.5A CN201910938470A CN110708310B CN 110708310 B CN110708310 B CN 110708310B CN 201910938470 A CN201910938470 A CN 201910938470A CN 110708310 B CN110708310 B CN 110708310B
- Authority
- CN
- China
- Prior art keywords
- authorization
- application
- tenant
- deployment environment
- license file
- 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
Links
Images
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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- 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/102—Entity profiles
-
- 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/108—Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/101—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management
Abstract
本发明实施例提供租户级权限管理方法与装置,以释放人力开发资源。在本发明实施例中,由PAAS平台生成部署环境摘要,后续授权***会根据PAAS平台生成的部署环境摘要授权许可证文件,在将授权许可证文件上传至PAAS平台后,由PAAS平台将授权许可证文件导入租户下的应用中。在本实施例中,不需要针对每一应用均生成一次授权许可证文件,授权文件的解析、部署环境摘要的生成由PAAS平台完成。因此,采用本实施例所提供的方案,每一应用并不需要开发相同的模块代码以实现权限控制,降低了业务应用接入权限控制的成本,释放了各应用自行开发权限控制逻辑的人力资源,使开发人员更专注业务领域。
Description
技术领域
本发明涉及计算机技术领域,特别涉及租户级权限管理方法与装置。
背景技术
随着云计算技术的发展,选择使用PAAS(Platform-as-a-Service,平台即服务)平台部署应用已经成为一种首选方案。PAAS平台是把应用服务的运行和开发环境作为服务进行提供的商业模式。PAAS平台上有多个租户,一租户环境中(也可认为一租户下)可安装软件产品,而一个软件产品可能有很多个应用组成。
上述多个应用需要进行权限控制。现有的应用权限控制逻辑主要包括以下步骤:
1)授权***生成授权文件;
2)软件交付人员将授权文件导入到应用;
3)应用解析授权文件,生成部署环境摘要;
4)软件交付人员将部署环境摘要导入到授权***,生成授权许可证文件;
5)软件交付人员将授权许可证文件导入到应用,授权成功。
现有的权限控制方案需要通过应用自身实现解析授权文件、生成部署环境摘要等操作,才能实现权限控制。因此,每一应用都需要开发相同的模块代码以实现权限控制。在应用数量比较多时,这种重复性的工作在实行敏捷开发、快速交付的开发思想中,是一种很严重的资源浪费,每个应用都需要投入相应的人力去做同样的工作,使得软件开发人员无法专注于业务领域。
发明内容
有鉴于此,本发明实施例提供租户级权限管理方法与装置,以释放人力开发资源。
为实现上述目的,本发明实施例提供如下技术方案:
一种租户级权限管理方法,应用于PASS平台,包括:
接收由授权***生成的授权文件;
根据所述授权文件及租户的软件环境生成部署环境摘要;
接收租户的授权许可证文件;所述授权许可证文件是将所述部署环境摘要导入所述授权***后生成的;
对所述授权许可证文件进行检验;
将检验通过后的授权许可文件导入所述租户下的应用中,并对所述租户下部署的应用进行统一的权限管理。
可选的,所述对所述租户下部署的应用进行统一的权限管理包括:定期检测所述租户下各应用是否已注册;在存在未注册的应用时,停止所述未注册的应用,并释放所述未注册的应用所占用的资源。
可选的,所述对所述租户下部署的应用进行统一的权限管理还包括:定期计算所述授权许可证文件的授权剩余时间。
可选的,所述租户下的应用中嵌入了授权模块,所述授权模块在应用启动时加载;所述统一的权限管理还包括:接收所述授权模块发送的授权信息获取请求,所述授权信息获取请求携带了部署环境摘要;查找与所述授权信息获取请求中的部署环境摘要相关联的授权许可证文件和授权剩余时间;向所述授权模块返回查找到的授权许可证文件和授权剩余时间。
可选的,所述统一的权限管理还包括:定期比对所述租户当前的部署环境摘要与所述授权许可证文件中的部署环境摘要是否一致;若不一致,将所述授权许可证文件的状态更改为“未授权”;定期对所述授权许可证文件进行签名检验,若检验失败,将所述授权许可证文件的状态更改为“未授权”。
可选的,所述对所述授权许可证文件进行检验包括:对所述授权许可证文件中的字段进行格式校验;对所述授权许可证文件的内容的签名进行校验;若格式检验成功,并且签名校验成功,则检验通过,否则,检测未通过。
可选的,还包括:向所述租户下的应用导入与所述部署环境摘要相关联的公钥,以及,所述应用的标识ID;其中,向所述应用导入的部署环境摘要为第一部署环境摘要;在所述应用启动时,所述应用中嵌入的授权模块用于:从所述PAAS平台处获取加密的部署环境摘要;使用所述公钥对所述加密的部署环境摘要进行解密,得到第二部署环境摘要;将所述第一部署环境摘要与所述第二部署环境摘要进行比对,若比对失败,所述任一应用启动失败。
可选的,所述授权模块还用于:若所述第一部署环境摘要与所述第二部署环境摘要比对成功,使用导入的ID注册至所述PAAS平台。
一种租户级权限管理装置,包括:
上传单元,用于接收由授权***生成的授权文件,根据所述授权文件及租户的软件环境生成部署环境摘要,以及,接收租户的授权许可证文件;其中,所述授权许可证文件是将所述部署环境摘要导入所述授权***后生成的;;
检验单元,用于对所述授权许可证文件进行检验;
权限管理单元,用于将检验通过后的授权许可文件导入所述租户下的应用中,并对所述租户下部署的应用进行统一的权限管理。
可选的,在所述对所述租户下部署的应用进行统一的权限管理的方面,所述权限管理单元具体用于:定期检测所述租户下各应用是否已注册;在存在未注册的应用时,停止所述未注册的应用,并释放所述未注册的应用所占用的资源。
可选的,在所述对所述租户下部署的应用进行统一的权限管理的方面,所述权限管理单元具体还用于:定期计算所述授权许可证文件的授权剩余时间。
可选的,所述租户下的应用中嵌入了授权模块,所述授权模块在应用启动时加载;在所述对所述租户下部署的应用进行统一的权限管理的方面,所述权限管理单元具体还用于:接收所述授权模块发送的授权信息获取请求,所述授权信息获取请求携带了部署环境摘要;查找与所述授权信息获取请求中的部署环境摘要相关联的授权许可证文件和授权剩余时间;向所述授权模块返回查找到的授权许可证文件和授权剩余时间。
可选的,在所述对所述租户下部署的应用进行统一的权限管理的方面,所述权限管理单元具体还用于:定期比对所述租户当前的部署环境摘要与所述授权许可证文件中的部署环境摘要是否一致;若不一致,将所述授权许可证文件的状态更改为“未授权”;定期对所述授权许可证文件进行签名检验,若检验失败,将所述授权许可证文件的状态更改为“未授权”。
一种租户级权限管理设备,至少包括处理器和存储器;上述处理器通过执行上述存储器中存放的程序以及调用其他设备,执行上述的租户级权限管理方法。
可见,在本发明实施例中,由PAAS平台生成部署环境摘要,后续授权***会根据PAAS平台生成的部署环境摘要生成授权许可证文件(包含该部署环境摘要),在将授权许可证文件上传至PAAS平台后,由PAAS平台将授权许可文件导入租户下的应用中。
同时,在本实施例中,不需要针对每一应用均生成一次授权许可证文件,授权文件的解析、部署环境摘要的生成由PAAS平台完成,不需要如现有技术一样,要求每一应用都解析、生成部署环境摘要。因此,采用本实施例所提供的方案,每一应用并不需要开发相同的模块代码以实现权限控制,降低了业务应用接入权限控制的成本,释放了各应用自行开发权限控制逻辑的人力资源,使开发人员更专注业务领域。
附图说明
图1a为本发明实施例提供的PAAS平台的示例性结构;
图1b为本发明实施例提供的PAAS平台的另一示例性结构;
图2为本发明实施例提供的示例性应用场景;
图3为本发明实施例提供的权限管理装置示例性结构;
图4为本发明实施例提供的租户级权限管理方法的一种示例性流程;
图5为本发明实施例提供的租户级权限管理方法的另一种示例性流程;
图6为本发明实施例提供的租户级权限管理方法的又一种示例性流程;
图7为本发明实施例提供的租户级权限管理方法的又一种示例性流程;
图8为本发明实施例提供的权限管理装置的另一示例性结构。
具体实施方式
为了引用和清楚起见,下文中使用的技术名词、简写或缩写总结如下:
PAAS:Platform-as-a-Service,平台即服务;
ID:标识;
API:Application Programming Interface,应用程序接口;
Docker:一个开源的应用容器引擎;
SDK:Software Development Kit,软件开发工具包,被软件工程师用于为特定的软件包、软件框架、硬件平台、操作***等建立应用软件的开发工具的集合;
License:许可证,是产品供应商对产品特性的使用范围、期限等进行授权的一种合约形式,License可以动态控制产品的某些特性或功能是否可用。
本发明实施例提供了租户级权限管理方法与装置,以实现对PAAS平台上同一租户下多个应用进行权限控制。
请参见图1a,PAAS平台在硬件上可包含web服务器和后端服务器。需要说明的是,图1a只示例性得示出了一台web服务器和一台后端服务器,本领域技术人员可根据实际需要灵活设计web服务器和后端服务器的数量。
图1b示出了PAAS平台的软件架构:在PAAS平台上有多个租户,一租户下(也可认为一租户环境中)可安装软件产品,而一个软件产品可包含很多个应用(应用1-应用n)提供服务。对软件产品的权限管理包含了对每个应用进行权限(License)管理。
图2示出了PAAS平台的一种示例性应用场景:某租户安装的软件产品具体为购物平台软件产品,购物平台软件产品下又包含一系列应用,例如用户中心、订单中心、商品中心、物流中心等。对购物平台软件产品的权限管理包含了对每个应用进行权限管理。
请参见图1b和图2,本发明实施例主要涉及的PAAS平台的功能模块包括项目(租户)管理模块1和配置中心2。
本发明实施例中的租户级权限管理装置可包括项目(租户)管理模块1,也可同时包括项目(租户)管理模块1和配置中心2。
请参见图3,项目(租户)管理模块1进一步可包括:上传单元11、检测单元12和权限管理单元13。
在本发明其他实施例中,仍请参见图3,上述项目(租户)管理模块1还可包括注册单元14。当然,权限管理单元13和注册单元14也可合并。
本文后续将结合租户级权限管理方法对上述各模块和各单元的作用进行进一步的介绍。
租户级管理方法及装置的核心是基于同一授权许可证文件,对租户环境下的应用进行统一的权限管理。
需要说明的是,不同的项目(租户)之间的授权管理没有关联关系。举例来讲,租户A的授权许可证文件,不能用于租户B的权限授权管理。
在一示例中,可设计为默认对每一租户下的应用均执行统一的权限管理;
在另一示例中,请参见图3,PAAS平台也可提供授权控制开关,仅对开启了授权控制开关的租户下的应用执行统一的权限管理。
授权控制开关可独立于项目管理模块1,也可作为项目管理模块1的组成部分。在具体实施时,授权控制开关可为PAAS平台提供的一项页面功能。
下面基于上述共性介绍,对本发明实施例做进一步详细说明。
图4示出了由上述租户级权限管理装置所执行的租户级权限管理方法的一种示例性流程,包括:
S1:接收由授权***生成的授权文件。
授权***可为第三方***,也可为PAAS平台的组成部分。
需要说明的是,在PAAS平台提供授权控制开关的场景下,在步骤S1之前,仍请参见图5,还可包括步骤S0:开启当前租户的授权控制开关。开启操作由软件产品的所有者执行。
S2:根据上述授权文件及租户的软件环境生成部署环境摘要;
需要说明的是,与现有技术不同,现有技术中,是应用根据自身的软件环境生成部署环境摘要。
而在本实施例中,是根据租户的软件环境生成部署环境摘要。
根据授权文件和软件环境生成部署环境摘要的方式可参见现有方式,在此不作赘述。
S3:接收租户的授权许可证文件;
项目下的所有应用使用同一授权许可证文件进行管理。
授权许可证文件是将上述部署环境摘要导入授权***后生成的。授权许可证文件可由软件产品的所有者上传至PAAS平台,上传单元11向软件产品的所有者提供上传功能。
具体的,授权许可证文件可包括部署环境摘要。需要说明的是,部署环境即产品运行环境,部署环境摘要是根据产品部署环境计算得到的唯一值。
此外,授权许可证文件还可包括授权规模、授权功能、授权时间等。
在一个示例中,可由前述的上传单元11执行步骤S1-S3。
S4:对上述授权许可证文件进行检验;检测通过,可进入后续步骤S5。
检测通过后,可将授权许可证文件存至前述的配置中心2。
步骤S4具体可由前述的检测单元12执行。
检测单元12所进行的检测可包括:对授权许可证文件中的字段进行格式校验,对授权许可证文件的内容的签名进行校验等。
上述格式校验目的是为了格式统一,而签名校验是为了验证授权许可证文件是否被修改。
需要说明的是,在将授权许可证文件上传之前,软件产品的所有者会向PAAS平台提供一个公钥,而授权内容一般会使用哈希函数生成摘要,对摘要使用软件产品所有者的私钥进行加密,得到签名。
在上传授权许可证文件后,PAAS平台用公钥对签名解密,得到摘要(可称为第一摘要)。再使用哈希函数对授权许可证文件的内容生成摘要(可称为第二摘要),若第一摘要与第二摘要一致,说明授权许可证文件未被修改,则签名校验通过。
在本发明其他实施例中,若格式检验和签名校验中的任一项失败,可提示相应的失败原因,以便所有者修正授权许可证文件进行重传。
需要说明的是,若所有者想更新授权许可证文件的内容,可向PAAS平台上传新的授权许可证文件,租户级权限管理装置同样对新的授权许可证文件执行步骤S3和S4。
S5:将检验通过后的授权许可文件导入租户下的应用中,并对租户下部署的应用进行统一的权限管理。
具体的,在容器化场景下,可将授权许可文件注入应用的容器中。而在非容器化场景下,可将授权许可文件传递给应用,由应用将授权许可文件存储在数据库中或保存至文件中。
可由前述的权限管理单元13执行步骤S5。
可见,在本发明实施例中,由PAAS平台生成部署环境摘要,后续授权***会根据PAAS平台生成的部署环境摘要生成授权许可证文件(包含该部署环境摘要),在将授权许可证文件上传至PAAS平台后,由PAAS平台将授权许可文件导入租户下的应用中。
同时,在本实施例中,不需要针对每一应用均生成一次授权许可证文件,授权文件的解析、部署环境摘要的生成由PAAS平台完成,不需要如现有技术一样,要求每一应用都解析、生成部署环境摘要。因此,采用本实施例所提供的方案,每一应用并不需要开发相同的模块代码以实现权限控制,降低了业务应用接入权限控制的成本,释放了各应用自行开发权限控制逻辑的人力资源,使开发人员更专注业务领域。
下面详细介绍PAAS平台对租户下的应用所进行的统一权限管理。
请参见图5,所进行的统一权限管理可包括:
S50:使用授权许可证文件完成应用的注册。
前述的配置中心2用于维护注册成功的应用的应用ID,或者也可说,是将租户下的应用注册至配置中心2。
步骤S50具体可由前述的注册单元14在应用启动时执行。
在一个示例中,可在应用每一次启动时,均执行注册操作。
以前述的订单中心为例,订单中心每次启动时,都会尝试通过注册单元14注册至配置中心2,若注册成功,则订单中心为合法应用。
需要说明的是,步骤S3和S4是步骤S50得以执行的前提,在已经上传授权许可证文件并已通过检验的情况下,若租户下的应用启动,可直接从步骤S50开始执行。
S51:定期检测租户下各应用是否已注册;
可由前述的权限管理单元13执行步骤S51。
在一个示例中,在PAAS平台提供授权控制开关的场景下,权限管理单元13可定时获取开启了授权控制开关的租户下的所有应用的ID,检查获取的各应用ID是否已在配置中心注册。
S52:在存在未注册的应用时,停止未注册的应用,并释放未注册的应用所占用的资源。
可由前述的权限管理单元13执行步骤S52。
仍以订单中心为例,假定订单中心的应用ID为01000,在配置中心2该ID并未注册,则停止订单中心,释放该订单中心所占用的资源。
PAAS平台通过定时检查受控应用的唯一标识,保证了在租户环境中运行的应用都是授权许可的应用,提高了租户资源的利用率以及租户虚拟机的安全性。
下面重点介绍应用如何进行注册,请参见图6,其示例性的可包括如下步骤:
S601-S602与前述的S3-S4相同,在此不作赘述。
需要说明的是,为方便起见,本实施例是从上传授权许可证文件开始描述的,实际上,接收授权文件和生成部署环境摘要也要完成。
S603:检验通过后,项目(租户)管理模块将授权许可证文件存至配置中心。
在一个示例中,配置中心会维护部署环境摘要与授权许可证文件的对应关系。
具体的,配置中心可分别维护部署环境摘要与每一内容项间的对应关系。
步骤S603具体可由前述的检测单元12执行。
在本发明其他实施例中,检测单元12还可定期(例如每天)根据上述授权时间计算授权剩余时间。
上述授权时间包括:授权开始时间(日期)及持续时长(例如3个月),可根据授权开始时间、持续时长及当前日期,来计算授权剩余时间。对于一些要求严格的场景,授权开始时间和授权剩余时间可精确到分或者秒。
对于PAAS平台,授权剩余时间可用于确定授权许可证文件是否超期。后续若超期了,PAAS平台会进行超期提醒。
在一个示例中,PAAS平台也可在超期后,停止租户下的应用,释放应用所占用的资源。
此外,PAAS平台也可应应用的请求,向应用提供授权剩余时间。本文后续将进行介绍。
PAAS平台可调用配置中心的API接口,将项目的授权许可证文件、授权剩余时间等写入到配置中心。
S604:项目(租户)管理模块为授权许可证文件中的部署环境摘要分配相关联的密钥对。
密钥对由项目(租户)管理模块生成。
密钥对包括私钥和公钥,密钥对也会由前述的配置中心2维护。
步骤S604可由前述的注册单元14执行,也可新增分配单元执行。
在一个示例中,可使用私钥对部署环境摘要进行加密,得到加密的部署环境摘要。在配置中心中,还可维护(未加密的)部署环境摘要与加密的部署环境摘要之间的对应关系。
此外,前述提及授权许可证文件包括多个内容项(例如授权规模、授权功能、授权时间等),出于安全考虑,授权许可证文件的部分或全部安全项可使用私钥进行加密。
举例来讲,假定授权规模、授权功能需要加密,则配置中心可维护如下对应关系:
部署环境摘要<—>加密的授权规模;
部署环境摘要<—>加密的授权功能;
部署环境摘要<—>非加密的授权时间;
部署环境摘要<—>加密的部署环境摘要。
S605:租户下部署好的应用启动。
应用是PAAS平台的概念,部署在PAAS平台上应用会对应一条记录,也就会有一个唯一的应用ID。
在本发明其他实施例中,在启动应用之前,如需在租户环境下新添应用可先由项目(租户)管理模块的应用管理部分(应用管理单元)创建和部署新应用,并在应用创建时生成应用ID。
需要说明的是,这里所说的应用启动,指的是生成一个应用的实例。
为了方便描述,本实施例后续以应用x为例进行说明,应用x可为租户下的任一应用。
S606:嵌入应用x中的授权模块被加载。
在一个示例中,授权模块具体为嵌入应用x的SDK,在本实施例中,可将其称为License-SDK。
License-SDK由PAAS平台提供,如应用使用平台的统一权限管理功能,在开发应用时需要将License-SDK嵌入应用中,在应用启动时在程序入口加载License-SDK。
需要说明的是,License-SDK封装了与外界的交互,License-SDK与PAAS平台间的交互,所嵌入的应用是不感知的。
S607:项目(租户)管理模块将注册相关信息注入到应用x对应的应用容器中;
应用容器是用来运行应用的资源环境,为应用提供运行所需要的网络、运算、存储资源等。
在一个示例中,注册相关信息至少可包括:授权许可证文件(或与租户相关联的部署环境摘要)、与部署环境摘要相关联的公钥以及应用ID。
需要说明的是,在容器化场景下,应用容器中的数据不做持久化保存,应用一旦重启,会重新生成一个新的容器,因此需要在应用每次启动时注入应用ID。
示例性得,应用容器具体可为docker容器。
Docker使用环境变量来传达相关信息,包括容器的守护选项,容器主机名,以及其他在容器中运行的实用信息。因此,上述注册相关信息可作为环境变量注入容器。
具体的,容器可利用获取环境变量的方式,来获取注册相关信息。
步骤S607可由前述的注册单元14执行。注册单元14可从配置中心2处获取上述部署环境摘要及公钥,将其与应用ID一并注入应用容器。
一般情况下,注入的部署环境摘要与租户在PAAS平台中存储的加密的部署环境摘要相一致;但在特殊情况下(例如从PAAS平台处获取部署环境摘要被修改),则注入应用的部署环境摘要,与租户在PAAS平台中存储的部署环境摘要不一致。
为称呼方便,可将向应用容器注入的部署环境摘要称为第一部署环境摘要。
S608:授权模块获取加密的部署环境摘要,若获取成功,进入S609,否则,进入S612。
在步骤S604中曾提及配置中心维护有(未加密的)部署环境摘要与加密的部署环境摘要(简称加密摘要)之间的对应关系。
在一个示例中,License-SDK会以前述第一部署环境摘要为参数,向配置中心请求取加密摘要;配置中心可根据License-SDK提供的第一部署环境摘要,确定出与之相对应的加密摘要,并返回给License-SDK。
当然,若License-SDK提供的第一部署环境摘要经过篡改,则配置中心无法确定出相应的加密摘要,或会确定出错误的加密摘要(别的软件产品的加密摘要)返回给License-SDK,此种情况下,返回的加密摘要是无法解密成功的。无论哪种情况,都会导致License-SDK获取加密摘要失败。
S609:授权模块使用注入的公钥对上述加密的部署环境摘要进行解密,得到第二部署环境摘要。
向应用容器注入的公钥是与上述私钥相对应的。在解密时,使用该公钥对其进行解密,可得到真实部署环境摘要,为方便起见,可称其为第二部署环境摘要。
当然,若解密失败,可进入步骤S612。
S610:授权模块将第一部署环境摘要与第二部署环境摘要进行比对,若比对成功,进入S611,否则,进入S612。
需要说明的是,S608-S610是在校验部署环境,若获取失败或比对失败导致校验失败,则后续应用将不可启动。其实现的是应用对PAAS平台的验证,因为,无论是注入的部署环境摘要被篡改,还是加密的部署环境摘要被篡改,都会导致比对失败,应用则不会启动,这确保了应用运行在安全可靠的平台上。
S611:授权模块使用注入的应用ID注册至PAAS平台(配置中心)。
具体的,注册过程是将注入的应用ID写入到配置中心中。以应用x为例,注册成功后,表明应用x是合法的已接受权限控制的应用。
在一个示例中,配置中心可维护索引与注册应用ID之间的对应关系,其中,索引内容可包括应用ID和部署环境摘要。
更具体的,每一注册成功的应用在配置中心对应一份文件,文件内容是注册成功的应用的应用ID,其索引可包括应用ID和部署环境摘要。
仍以应用x为例,假定应用x的应用ID为0010,部署环境摘要以C表示,则可使用0010与C构成索引,使用该索引可查找到一文件,该文件的内容是“0010”。
配置中心所维护的数据关系包含但不限于如下一种或多种:
a,部署环境摘要<—>授权许可证文件;
进一步的,部署环境摘要可分别与授权许可证文件中的各内容项相对应,内容项可加密也可不加密。具体可参见步骤S604中的介绍。
b,部署环境摘要<—>密钥对;
c,部署环境摘要<—>加密的部署环境摘要;
d,索引(应用ID+部署环境摘要)<—>文件(已注册的应用ID)。
S612:应用启动失败。
步骤S608-S612为应用对PAAS平台的验证,保证了应用运行在可信的PAAS平台,其中的步骤S611的执行也保证了在租户环境中只允许受控的应用可以正常运行。
S613:项目(租户)管理模块定时获取开启了授权控制开关的租户下的应用的ID。
可由前述的权限管理单元13执行步骤S613。
以租户A下的应用x为例,权限管理单元13可定时获取租户A下应用x的应用ID。
S614:项目(租户)管理模块检测获取的应用ID是否已在配置中心注册。
可由前述的权限管理单元13执行步骤S614。
权限管理单元13可以获取的应用ID以及租户对应的部署环境摘要为参数获取配置中心中对应的数据。
前述提及了,每一注册成功的应用在配置中心对应一份文件,文件内容是注册成功的应用的应用ID,其索引内容可包括应用ID和部署环境摘要。
以租户A下的应用x为例,假定应用x的应用ID是0010,部署环境摘要为C,权限管理单元1可以0010与C为参数,向配置中心进行查询。
配置中心以0010与C为索引,查找到相应文件,返回文件内容“0010”。
当然,若应用x未注册成功,则配置中心无法查找到相应文件,则返回提示内容为空或查找失败的消息。
S615:若未注册,停止该应用ID对应的应用,并释放其所占用的资源。
可由前述的权限管理单元13执行步骤S615。
此外,考虑下述应用场景:在授权模块将第一部署环境摘要与第二部署环境摘要比对成功后(请参见前述S610),授权模块所在的应用可通过授权模块获取授权许可证文件,根据授权许可证文件确定自身是否被授权启动,若未被授权启动,则不会通过授权模块使用注入的应用ID注册至PAAS平台,则后续该应用也不会被启用;而在确定自身被授权启动后,再执行步骤S611。
举个更具体的例子,一软件产品包含6个应用,其权限分为通用版、专业版等。其中对于专业版,6个应用均可正常运行,而通用版可能限制部分应用无法运行。
假定通用版限制了应用A运行,则应用A在获取到通用版的授权许可证文件后,会确定自身未被授权启动,则不会通过授权模块使用注入的应用ID注册至PAAS平台。这样,就实现了对应用A的权限控制。
此外,应用在需要使用授权许可证文件对其下用户进行授权校验时,也会向PAAS平台获取授权许可证文件。
下面介绍应用如何获取到授权许可证文件,请参见图7,上述方法还可包括如下步骤:
S701:授权模块发送授权信息获取请求。
其中,授权信息获取请求携带了前述注入的部署环境摘要。
应用在需要获取授权许可证文件时,会调用License-SDK中的方法,向配置中心发送授权信息获取请求。
授权信息获取请求具体可为HTTP请求。
S702:PAAS平台(配置中心)返回授权许可证文件和授权剩余时间。
前述提及了,授权许可证文件可包括多个内容项,例如授权规模、授权功能、授权时间、部署环境摘要。
出于不同的安全考虑,配置中心返回的授权许可证文件中的部分或全部内容项可使用私钥加密。
具体的,配置中心可维护部署环境摘要与(加密或非加密)各内容项间的对应关系(可参见步骤S604中的介绍)。在收到授权信息获取请求,可根据授权信息获取请求中的部署环境摘要返回各内容项和授权剩余时间。
由于授权许可证文件是存放在配置中心,并且通过HTTP请求来获取,因此当授权许可证文件更新后,应用不需要任何更新即可直接获取到最新的授权许可证文件和授权剩余时间。
需要注意的是,现有软件产品的权限控制逻辑主要包括:
1,周期性校验授权许可证文件的状态。
具体的,软件产品需对授权许可证文件进行解析,提取其中的部署环境摘要,然后根据当前部署环境计算部署环境摘要,将其与授权许可证文件中的部署环境摘要相比对,若不一致,将授权许可证文件的状态更改为“未授权”。
2,周期性计算授权剩余时间。
具体的,软件产品需对授权许可证文件进行解析,提取其中的授权时间,根据授权时间计算授权剩余时间。
可见,现有的权限控制方案需要通过软件产品自身实现解析授权文件、提取其中的部署环境摘要等操作,才能实现权限控制。因此,每一软件产品都需要开发相同的模块代码以实现解析逻辑。
在微服务架构、容器化部署大行其道的今天,日益增长的软件产品数量给权限控制带来了新挑战:
在软件产品数量比较多时,这种重复性的工作在实行敏捷开发、快速交付的开发思想中,是一种资源浪费,使得软件开发人员无法专注于业务领域。
为解决上述问题,在本发明其他实施例中,可由PAAS平台(租户管理模块的权限管理单元13)执行权限控制逻辑:
1,由PAAS平台定期计算租户当前的部署环境摘要,将其与授权许可证文件中的部署环境摘要相比对,若不一致,将授权许可证文件的状态更改为“未授权”。
2,定期对授权许可证文件进行签名检验,若检验失败,将授权许可证文件的状态更改为“未授权”。
签名校验内容请参见前述记载,在此不作赘述。
3,由PAAS平台定期根据授权时间计算授权剩余时间。在应用发送授权信息获取请求时返回。
在本实施例中,将权限控制的管理权由软件产品移交至PAAS平台,从PAAS平台级别对租户环境中软件产品下的各应用进行统一的权限控制,很大程度提高了权限控制逻辑代码的复用率,释放了权限控制***的开发人力,使应用开发人员更专注于应用本身的业务领域。
综上,本发明所提供的技术方案具有如下优势:
1,从PAAS平台租户级别对租户下的应用进行统一的软件权限控制管理,降低了应用接入权限控制的成本,释放了各应用自行开发软件权限控制逻辑的人力资源,使开发人员更专注领域。
2,通过配置中心的方式,将授权信息提供给应用,在授权许可证文件更新时,应用通过HTTP请求即可获取到最新的授权信息,将应用与授权控制解耦,保证了应用的稳定性。
3,应用依赖的License-SDK通过校验环境摘要来确保应用运行的PAAS平台是安全可信的,降低了应用源代码泄露的风险。
4,PAAS平台通过定时检查受控应用的唯一标识,保证了在租户环境中运行的应用都是授权许可的应用,提高了租户资源的利用率以及租户虚拟机的安全性。
图3示出了上述租户级权限管理装置的一种示例性结构,包括:
上传单元11,用于接收由授权***生成的授权文件,根据授权文件及租户的软件环境生成部署环境摘要,以及,接收租户的授权许可证文件;其中,授权许可证文件是将部署环境摘要导入授权***后生成的;;
检验单元12,用于对授权许可证文件进行检验;
权限管理单元13,用于将检验通过后的授权许可文件导入租户下的应用中,并对租户下部署的应用进行统一的权限管理。
在本发明其他实施例中,在对租户下部署的应用进行统一的权限管理的方面,上述权限管理单元13可具体用于:
定期检测租户下各应用是否已注册;
在存在未注册的应用时,停止未注册的应用,并释放未注册的应用所占用的资源。
具体细节请参见本文前述记载,在此不作赘述。
在本发明其他实施例中,仍请参见图3,上述装置还可包括注册单元13。
注册单元14可从配置中心2处获取部署环境摘要及公钥,将其与应用ID一并注入应用。其中,向应用导入的部署环境摘要为第一部署环境摘要。
而在应用启动时,应用中嵌入的授权模块用于:
从PAAS平台处获取加密的部署环境摘要;
使用公钥对加密的部署环境摘要进行解密,得到第二部署环境摘要;
将第一部署环境摘要与第二部署环境摘要进行比对,若比对失败,任一应用启动失败。
具体细节请参见本文前述记载,在此不作赘述。
在本发明其他实施例中,上述授权模块还用于:若第一部署环境摘要与第二部署环境摘要比对成功,使用导入的ID注册至PAAS平台。
具体细节请参见本文前述记载,在此不作赘述。
在本发明其他实施例中,在对租户下部署的应用进行统一的权限管理的方面,上述权限管理单元13还可具体用于:
定期计算授权许可证文件的授权剩余时间。
具体细节请参见本文前述记载,在此不作赘述。
在本发明其他实施例中,在对租户下部署的应用进行统一的权限管理的方面,上述权限管理单元13还可具体用于:
接收授权模块发送的授权信息获取请求,授权信息获取请求携带了部署环境摘要;
查找与授权信息获取请求中的部署环境摘要相关联的授权许可证文件和授权剩余时间;
向授权模块返回查找到的授权许可证文件和授权剩余时间。
具体细节请参见本文前述记载,在此不作赘述。
在本发明其他实施例中,在对租户下部署的应用进行统一的权限管理的方面,上述权限管理单元13还可具体用于:
定期比对租户当前的部署环境摘要与授权许可证文件中的部署环境摘要是否一致;
若不一致,将授权许可证文件的状态更改为“未授权”;
定期对授权许可证文件进行签名检验,若检验失败,将授权许可证文件的状态更改为“未授权”。
具体细节请参见本文前述记载,在此不作赘述。
在本发明其他实施例中,在对授权许可证文件进行检验的方面,上述检测单元12可具体用于:
对授权许可证文件中的字段进行格式校验;
对授权许可证文件的内容的签名进行校验;
若格式检验成功,并且签名校验成功,则检验通过,否则,检测未通过。
具体细节请参见本文前述记载,在此不作赘述。
图8示出了上述实施例中租户级权限管理装置的一种可能的结构示意图,包括:总线、处理器1、存储器2、通信接口3、输入设备4和输出设备5。处理器1、存储器2、通信接口3、输入设备4和输出设备5通过总线相互连接。其中:
总线可包括一通路,在计算机***各个部件之间传送信息。
处理器1可以是通用处理器,例如通用中央处理器(CPU)、网络处理器(NetworkProcessor,简称NP)、微处理器等,也可以是特定应用集成电路(application-specificintegrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。还可以是数字信号处理器(DSP)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器2中保存有执行本发明技术方案的程序或脚本,还可以保存有操作***和其他关键业务。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。脚本则通常以文本(如ASCII)保存,只在被调用时进行解释或编译。
输入设备4可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、语音输入装置、触摸屏等。
输出设备5可包括允许输出信息给用户的装置,例如显示屏、扬声器等。
通信接口3可包括使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(WLAN)等。
处理器1通过执行存储器2中所存放的程序以及调用其他设备,可实现上述实施例提供的租户级权限管理方法。
此外,图3所示的租户级权限管理装置各单元的功能,可由前述的处理器1执行存储器2中所存放的程序以及调用其他设备实现。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及模型步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或模型的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、WD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (11)
1.一种租户级权限管理方法,应用于PAAS平台,其特征在于,包括:
接收由授权***生成的授权文件;
根据所述授权文件及租户的软件环境生成部署环境摘要;
接收租户的授权许可证文件;所述授权许可证文件是将所述部署环境摘要导入所述授权***后生成的;
对所述授权许可证文件进行检验;
将检验通过后的授权许可文件导入所述租户下的应用中,并对所述租户下部署的应用进行统一的权限管理;
所述租户下的应用中嵌入了授权模块,所述授权模块在应用启动时加载;
所述统一的权限管理还包括:
接收所述授权模块发送的授权信息获取请求,所述授权信息获取请求携带了部署环境摘要;查找与所述授权信息获取请求中的部署环境摘要相关联的授权许可证文件和授权剩余时间;向所述授权模块返回查找到的授权许可证文件和授权剩余时间;
向所述租户下的应用导入与所述部署环境摘要相关联的公钥,以及,所述应用的标识ID;其中,向所述应用导入的部署环境摘要为第一部署环境摘要;在所述应用启动时,所述应用中嵌入的授权模块用于:
从所述PAAS平台处获取加密的部署环境摘要;使用所述公钥对所述加密的部署环境摘要进行解密,得到第二部署环境摘要;将所述第一部署环境摘要与所述第二部署环境摘要进行比对,若比对失败,所述应用启动失败。
2.如权利要求1所述的方法,其特征在于,所述对所述租户下部署的应用进行统一的权限管理包括:
定期检测所述租户下各应用是否已注册;
在存在未注册的应用时,停止所述未注册的应用,并释放所述未注册的应用所占用的资源。
3.如权利要求2所述的方法,其特征在于,所述对所述租户下部署的应用进行统一的权限管理还包括:
定期计算所述授权许可证文件的授权剩余时间。
4.如权利要求1至3任一项所述的方法,其特征在于,所述统一的权限管理还包括:
定期比对所述租户当前的部署环境摘要与所述授权许可证文件中的部署环境摘要是否一致;
若不一致,将所述授权许可证文件的状态更改为“未授权”;
定期对所述授权许可证文件进行签名检验,若检验失败,将所述授权许可证文件的状态更改为“未授权”。
5.如权利要求1所述的方法,其特征在于,所述对所述授权许可证文件进行检验包括:
对所述授权许可证文件中的字段进行格式校验;
对所述授权许可证文件的内容的签名进行校验;
若格式检验成功,并且签名校验成功,则检验通过,否则,检测未通过。
6.如权利要求1所述的方法,其特征在于,所述授权模块还用于:若所述第一部署环境摘要与所述第二部署环境摘要比对成功,使用导入的ID注册至所述PAAS平台。
7.一种租户级权限管理装置,其特征在于,包括:
上传单元,用于接收由授权***生成的授权文件,根据所述授权文件及租户的软件环境生成部署环境摘要,以及,接收租户的授权许可证文件;其中,所述授权许可证文件是将所述部署环境摘要导入所述授权***后生成的;
检验单元,用于对所述授权许可证文件进行检验;
权限管理单元,用于将检验通过后的授权许可文件导入所述租户下的应用中,并对所述租户下部署的应用进行统一的权限管理;
所述租户下的应用中嵌入了授权模块,所述授权模块在应用启动时加载;
在所述对所述租户下部署的应用进行统一的权限管理的方面,所述权限管理单元具体还用于:接收所述授权模块发送的授权信息获取请求,所述授权信息获取请求携带了部署环境摘要;查找与所述授权信息获取请求中的部署环境摘要相关联的授权许可证文件和授权剩余时间;向所述授权模块返回查找到的授权许可证文件和授权剩余时间;
向所述租户下的应用导入与所述部署环境摘要相关联的公钥,以及,所述应用的标识ID;其中,向所述应用导入的部署环境摘要为第一部署环境摘要;在所述应用启动时,所述应用中嵌入的授权模块用于:
从PAAS平台处获取加密的部署环境摘要;使用所述公钥对所述加密的部署环境摘要进行解密,得到第二部署环境摘要;将所述第一部署环境摘要与所述第二部署环境摘要进行比对,若比对失败,所述应用启动失败。
8.如权利要求7所述的装置,其特征在于,
在所述对所述租户下部署的应用进行统一的权限管理的方面,所述权限管理单元具体用于:
定期检测所述租户下各应用是否已注册;
在存在未注册的应用时,停止所述未注册的应用,并释放所述未注册的应用所占用的资源。
9.如权利要求7所述的装置,其特征在于,在所述对所述租户下部署的应用进行统一的权限管理的方面,所述权限管理单元具体还用于:
定期计算所述授权许可证文件的授权剩余时间。
10.如权利要求7-9任一项所述的装置,其特征在于,在所述对所述租户下部署的应用进行统一的权限管理的方面,所述权限管理单元具体还用于:
定期比对所述租户当前的部署环境摘要与所述授权许可证文件中的部署环境摘要是否一致;
若不一致,将所述授权许可证文件的状态更改为“未授权”;
定期对所述授权许可证文件进行签名检验,若检验失败,将所述授权许可证文件的状态更改为“未授权”。
11.一种租户级权限管理设备,其特征在于,至少包括处理器和存储器;所述处理器通过执行所述存储器中存放的程序以及调用其他设备,执行如权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910938470.5A CN110708310B (zh) | 2019-09-30 | 2019-09-30 | 租户级权限管理方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910938470.5A CN110708310B (zh) | 2019-09-30 | 2019-09-30 | 租户级权限管理方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110708310A CN110708310A (zh) | 2020-01-17 |
CN110708310B true CN110708310B (zh) | 2022-02-08 |
Family
ID=69197991
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910938470.5A Active CN110708310B (zh) | 2019-09-30 | 2019-09-30 | 租户级权限管理方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110708310B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112596740A (zh) * | 2020-12-28 | 2021-04-02 | 北京千方科技股份有限公司 | 一种程序部署方法及装置 |
CN113515726B (zh) * | 2021-06-23 | 2022-03-25 | 北京顶象技术有限公司 | 一种防止企业产品授权文件外泄的方法及装置 |
CN114221769B (zh) * | 2021-11-12 | 2023-06-02 | 联奕科技股份有限公司 | 一种基于容器的软件授权许可控制方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102324009A (zh) * | 2011-09-07 | 2012-01-18 | 上海普元信息技术股份有限公司 | 基于云计算平台的软件版权控制***及其方法 |
CN108667886A (zh) * | 2017-04-01 | 2018-10-16 | 华为技术有限公司 | 提供PaaS服务的方法、管理***和云计算服务架构 |
CN109255208A (zh) * | 2018-09-04 | 2019-01-22 | 山东浪潮云投信息科技有限公司 | 一种软件服务产品的授权方法及*** |
CN109274731A (zh) * | 2018-09-04 | 2019-01-25 | 北京京东金融科技控股有限公司 | 基于多租户技术的web服务的部署、调用方法和装置 |
CN109542403A (zh) * | 2018-10-12 | 2019-03-29 | 浙江托普云农科技股份有限公司 | 一种基于农业物联网PaaS云平台的项目集成***及项目集成方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11399025B2 (en) * | 2018-01-26 | 2022-07-26 | Vmware, Inc. | Role-template-based batch management of tenant-specific roles and rights in a computing system |
-
2019
- 2019-09-30 CN CN201910938470.5A patent/CN110708310B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102324009A (zh) * | 2011-09-07 | 2012-01-18 | 上海普元信息技术股份有限公司 | 基于云计算平台的软件版权控制***及其方法 |
CN108667886A (zh) * | 2017-04-01 | 2018-10-16 | 华为技术有限公司 | 提供PaaS服务的方法、管理***和云计算服务架构 |
CN109255208A (zh) * | 2018-09-04 | 2019-01-22 | 山东浪潮云投信息科技有限公司 | 一种软件服务产品的授权方法及*** |
CN109274731A (zh) * | 2018-09-04 | 2019-01-25 | 北京京东金融科技控股有限公司 | 基于多租户技术的web服务的部署、调用方法和装置 |
CN109542403A (zh) * | 2018-10-12 | 2019-03-29 | 浙江托普云农科技股份有限公司 | 一种基于农业物联网PaaS云平台的项目集成***及项目集成方法 |
Non-Patent Citations (1)
Title |
---|
基于开源平台的云资源管理***的研究与应用;张远;《中国优秀硕士学位论文全文数据库信息科技辑》;20160315;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110708310A (zh) | 2020-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101740256B1 (ko) | 모바일 앱 무결성 보증 장치 및 방법 | |
US9262598B1 (en) | Digital rights management for applications | |
CN110708310B (zh) | 租户级权限管理方法、装置及设备 | |
CN109274652B (zh) | 身份信息验证***、方法及装置及计算机存储介质 | |
WO2022073264A1 (en) | Systems and methods for secure and fast machine learning inference in trusted execution environment | |
JPH11355264A (ja) | 国際暗号体系のホストシステム要素 | |
US20090089881A1 (en) | Methods of licensing software programs and protecting them from unauthorized use | |
CN111262889A (zh) | 一种云服务的权限认证方法、装置、设备及介质 | |
CN111079091A (zh) | 一种软件的安全管理方法、装置、终端及服务器 | |
US20140282876A1 (en) | Method and system for restricting the operation of applications to authorized domains | |
CN104202296A (zh) | 一种国产操作***可信安全增强方法 | |
BR112018004760B1 (pt) | Métodos e dispositivos de registro e autenticação de informação | |
CN111159657A (zh) | 一种应用程序鉴权方法及*** | |
WO2014150737A2 (en) | Method and system for enabling the federation of unrelated applications | |
US9129098B2 (en) | Methods of protecting software programs from unauthorized use | |
CN114448648B (zh) | 基于rpa的敏感凭据管理方法及*** | |
AU2010336503B2 (en) | Securing execution of computational resources | |
KR101294866B1 (ko) | 개발환경 관리 시스템 및 이의 개발환경 관리 방법 | |
CN111597577A (zh) | 功能菜单加载方法、功能菜单加载装置及终端设备 | |
Rivera-Dourado | DebAuthn: a Relying Party Implementation as a WebAuthn Authenticator Debugging Tool | |
CN117574368A (zh) | 离线静态代码分析与云端解析漏洞扫描报告结合的方法 | |
Neron et al. | A formal security model of a smart card web server | |
CN116821862A (zh) | 应用授权方法、电子设备及存储介质 | |
CN117421770A (zh) | 基于区块链的资源处理方法、装置、电子设备和存储介质 | |
CN116150798A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |