CN108471395B - 实现认证/授权的方法、装置、云计算系统及计算机系统 - Google Patents
实现认证/授权的方法、装置、云计算系统及计算机系统 Download PDFInfo
- Publication number
- CN108471395B CN108471395B CN201710100457.3A CN201710100457A CN108471395B CN 108471395 B CN108471395 B CN 108471395B CN 201710100457 A CN201710100457 A CN 201710100457A CN 108471395 B CN108471395 B CN 108471395B
- Authority
- CN
- China
- Prior art keywords
- service
- token
- tenant
- information
- request
- 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
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000013475 authorization Methods 0.000 title claims abstract description 41
- 239000000284 extract Substances 0.000 claims description 4
- 230000006870 function Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 238000011161 development Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000001755 vocal effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0892—Network architectures or network communication protocols for network security for authentication of entities by using authentication-authorization-accounting [AAA] servers or protocols
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
Abstract
本申请提供一种实现认证/授权的方法、装置、云计算系统及计算机系统,应用于多租户域的云计算系统中,为不同服务之间的调用实现认证/授权,能够提高服务调用的效率。其中,该方法包括接收服务调用请求;根据该服务调用请求中包含的第二服务的信息从第一令牌集合中获取所述第二服务的令牌,所述第一令牌集合包括所述第二服务的信息和所述第二服务的令牌之间的对应关系;使用获取到的所述第二服务的令牌更新所述服务调用请求;根据所述第二服务的信息向所述第二服务发送所述更新后的服务调用请求。
Description
技术领域
本发明实施例涉及云计算领域,尤其涉及一种基于PaaS平台的服务之间的认证/授权方法。
背景技术
云计算(Cloud Computing)是一种通过网络以服务的方式提供动态可伸缩的虚拟化资源的计算模式。PaaS(Platform as a Service)是云计算的主要模式之一,主要用于将软件研发平台作为服务提供给租户。PaaS平台上注册不同的租户,这些租户会使用PaaS平台提供的软件研发平台开发和提供各种各样的软件服务(包括微服务),下文简称为服务。不同的租户之间会发生服务调用服务的情况,例如,租户1的服务A订阅租户2的服务B,这意味着服务A在被使用的时候会周期性或事件触发性地调用服务B。
同一个PaaS平台上,由于不同的租户可采用不同的程序模型开发服务,导致不同的服务的认证/授权机制可能不同。PaaS上常用的认证/授权机制为基于令牌(token)的认证/授权机制,例如SWT(Simple Web Token),JWT(Json Web Token),CMS(CryptographicMessage Syntax),SAML(Security Assertion Markup Language),X.509Certificate,OAuth2授权token,RSA token等。拥有不同的认证/授权机制的服务之间如果发生调用,就会存在认证/授权困难的问题,从而无法达到安全的无缝集成。
为解决这一问题,现有技术主要提出两种方案:一种是采用统一的认证授权中心来处理所有的服务调用请求,但这种方式会导致性能瓶颈,可能带来单点失败(singlepoint failure)的问题;另一种是服务请求者在其客户端实现不同格式的token的生成代码,从而在该服务请求者调用不同的服务时能相应生成不同格式的token,但这种方式会给服务开发者增加额外的开发负担。
发明内容
本发明实施例提供一种实现认证/授权的方法、装置、云计算系统及计算机系统,应用于多租户域的云计算系统中,为不同服务之间的调用实现认证/授权,能够提高服务调用的效率。
第一方面,本发明实施例提供一种实现认证/授权的方法,该方法可以应用于包括云计算系统或其他类型计算机系统中。该方法包括:接收运行在第一租户域上的第一服务发送的服务调用请求,其中,所述服务调用请求包括第二服务的信息;根据所述第二服务的信息从第一令牌集合中获取所述第二服务的令牌,其中,所述第一令牌集合包括所述第二服务的信息和所述第二服务的令牌之间的对应关系;使用获取到的所述第二服务的令牌更新所述服务调用请求;根据所述第二服务的信息向所述第二服务发送所述更新后的服务调用请求。
当以上方法应用于云计算系统时,第一租户域为该云计算系统中属于第一租户的租户域。云计算系统提供的服务,例如开发环境/开发平台,可以同时提供给多个用户,每个用户都像“租赁”一样使用该服务,所以云计算系统的用户一般称之为“租户”。
第二服务的信息可以为用于标识服务的信息,例如服务的访问端点(endpoint)。
令牌集合中包括一个或多个令牌以及令牌与服务的对应关系,例如,令牌A与服务A对应则表明该令牌A可以在其他服务调用服务A的时候使用。当令牌集合包含多个令牌时,令牌集合在本发明的一些实施例中也被称为令牌栈。关于令牌集合的具体形式,本发明实施例不做限定。注意,令牌集合可以仅包括一个令牌及该令牌与服务的对应关系。
通常不同租户域的服务之间才可能存在认证/授权机制不一致的问题,所以本发明实施例提供的方法中的第二服务通常运行在与第一租户域不同的第二租户域中,但是如果同一租户域中存在认证/授权机制不同的服务,这些服务彼此调用时也可以使用本发明实施例提供的方法。
以上方法的执行主体为部署在第一租户域的一个或多个单元,为方便描述,为这一个或多个单元命名为第一请求重构单元。其他租户域中也可以部署有与该第一请求重构单元功能类似的请求重构单元。但本发明实施例并不强制要求云计算系统的每个租户域中都部署类似单元。另外,需要说明的是,下述第一方面的其他实现方式中更多的方法步骤是云计算系统实现的,但未必均由第一租户域实现。
可见,通过在第一租户域中实现第二服务的令牌的获取,以及针对第二服务的服务调用请求的更新,实现了非集中式的认证/授权模式,避免了单点失败问题,提高认证/授权的效率。通过第一令牌集合的中存储的对应关系获取第二服务(即被调用服务)的令牌,使得被调用服务的令牌的获取更加直接和高效。第一令牌集合的存在使得调用服务(即第一服务)的开发者不需要提供额外的令牌生成代码来满足不同被调用服务所需的验证模式,而是直接从第一令牌集合中获取令牌,从而简化了服务开发过程。
以上方法的执行主体也可以集中部署在云计算系统中或集中部署在云计算系统之外的与该云计算系统具有通信关系的其他系统中,这样虽然不能避免单点失败问题,但是也可以提高令牌获取效率,并简化服务开发过程。
结合第一方面,在一些实现方式下,该云计算系统中的每一个租户域均包含一个令牌集合,其中所述第一租户域的令牌集合即为所述第一令牌集合。
这样,每一个租户域内的服务在调用其他租户域的服务时,均可以通过本地保存的令牌集合来获取被调用服务的令牌,提高了令牌的获取效率,进而提高了整个云计算系统的服务调用效率。
结合第一方面或前述任意一种第一方面的实现方式,在一些实现方式下,该第一令牌集合中包含的是所述第一租户域的租户订阅的至少一个服务及令牌的对应关系,所述至少一个服务包括所述第二服务。
在这种实现方式下,与第一租户域对应的第一令牌集合并不包含一个云计算系统中所有服务及令牌的对应关系,它包含的是第一租户域的租户(简称为第一租户)所订阅的服务及这些服务的令牌的对应关系,只有这些服务才是最有可能被第一租户域的服务所调用的服务,仅保存这些服务的令牌能够在提高服务调用效率的同时节省存储空间。
由于云计算系统中会存储租户之间的服务订阅关系,所以第一租户订阅的服务能够提前被云计算系统获知,然后云计算系统再生成包含这些服务的令牌的第一令牌集合。该第一租户订阅的服务可以包括第一租户域内的任意一个服务所订阅的服务。
在其他实现方式中,如果存在其他类型的服务调用关系或云计算系统可以通过其他方式获知第一租户域中的服务最可能调用的服务有哪些,第一令牌集合中包含的服务可以为据此为其他类别。
结合第一方面或前述任意一种第一方面的实现方式,在一些实现方式下,所述第二服务的令牌是基于与所述第二服务对应的令牌模板以及和所述第一租户域的信息生成的。更具体地,所述第二服务的令牌是通过用所述第一租户域的信息更新所述与所述第二服务对应的令牌模板生成的。
所述第一租户域的信息可以包括第一租户域的租户信息和/或第一租户域内调用第二服务的服务的信息。
先建立第二服务对应的令牌模板,该令牌模板中已经包含一些第二服务的认证/授权所需的信息的名称/信息的内容,进一步再依据第一租户域的租户的信息/第一租户域内调用第二服务的服务的信息确定具体的令牌,这样使得令牌的构建更加便捷和高效。
结合第一方面或前述任意一种第一方面的实现方式,在一些实现方式下,第二服务的令牌是基于令牌模板构建的,而令牌模板是通过拦截与所述第二服务相关的服务调用请求并从所述服务调用请求中提取一个或多个与所述第二服务对应的令牌属性生成的。
需要说明的是,这里拦截的服务调用请求不一定是用于调用该第二服务的,可以是用于调用与第二服务的令牌类型相同的其他服务的。
采用这种自动化方式,能够提高生成令牌模板的速度。
结合第一方面或前述任意一种第一方面的实现方式,在一些实现方式下,第二服务的令牌是基于令牌模板构建的,而令牌模板是基于拦截真实的服务调用请求并从该服务调用请求中提取令牌属性生成的,其中令牌模板也支持定制化,具体的,所谓定制化包括提取的令牌属性可以被用户修改或用户可以根据需求增加/删除令牌属性。定制化或半自动化方式使得令牌模板的生成更灵活,一定程度上也提高了令牌模板的准确性。
结合第一方面或前述任意一种第一方面的实现方式,在一些实现方式下,所述云计算系统中的一个令牌集合可以通过如下方式生成:所述云计算系统根据租户域的租户信息获取令牌模板,其中,获取的所述令牌模板对应的服务是所述租户域的租户订阅的服务;使用所述租户信息更新所述令牌模板以生成所述服务的令牌;构建所述令牌集合,其中所述令牌集合中包括所述租户订阅的服务与该服务的令牌之间的对应关系。
结合第一方面或前述任意一种第一方面的实现方式,在一些实现方式下,所述令牌集合的生成是周期性执行的,或者是在接收到所述租户域发送的令牌请求的触发下执行的,其中所述令牌请求包括所述租户域的租户信息。
结合第一方面或前述任意一种第一方面的实现方式,在一些实现方式下,令牌集合的生成由云计算系统的一个或多个单元实现,为方便描述,为这一个或多个单元命名为令牌集合生成单元。该令牌集合生成单元被部署在所述云计算系统的租户管理面中,从而在租户管理面中统一生成各个租户域对应的令牌集合,然后将令牌集合下发到各个租户域。租户管理面也可以将多个令牌集合统一存储在租户管理面或其他存储位置,各个租户域在使用令牌时才到租户管理面或其他存储位置获取想要的令牌。
结合第一方面或前述任意一种第一方面的实现方式,在一些实现方式下,每个租户域的令牌集合基于该租户域的租户信息和该租户域订阅的服务的令牌模板生成。具体的,云计算系统根据所述租户信息验证所述租户的身份;根据所述租户的身份获取所述租户订阅的服务;根据所述租户订阅的服务从存储的对应关系中获取与所述服务对应的所述令牌模板,其中所述对应关系包括所述服务与所述服务对应的所述令牌模板之间的对应关系。
在获取租户订阅的服务的令牌模板之前,先验证租户的身份,能够提高云计算系统的安全性。
第二方面,本发明实施例提供一种为服务调用实现认证/授权的装置,该装置位于云计算系统中,该装置包括第一请求重构单元,该第一请求重构单元可以位于该云计算系统的第一租户域内。该云计算系统的其他租户域内也可以相应部署与该第一请求重构单元功能相同或相似的其他请求重构单元。
该第一请求重构单元用于接收运行在所述第一租户域的第一服务发送的服务调用请求,其中所述服务调用请求包括第二服务的信息;根据所述第二服务的信息从第一令牌集合中获取所述第二服务的令牌,其中,所述第一令牌集合包括所述第二服务的信息和所述第二服务的令牌之间的对应关系;使用获取到的所述第二服务的令牌更新所述服务调用请求;以及根据所述第二服务的信息向所述第二服务发送所述更新后的服务调用请求。
结合第二方面,在一些实现方式下,该装置还包括令牌集合生成单元。该令牌集合生成单元用于基于与所述第二服务对应的令牌模板和所述第一租户域的租户信息生成所述第二服务的令牌;以及生成所述第一令牌集合,所述第一令牌集合中包括所述第二服务的信息与生成的所述令牌之间的对应关系。
结合第二方面或前述任意一种第二方面的实现方式,在一些实现方式下,该令牌集合生成单元具体用于使用所述租户信息更新所述与所述第二服务对应的令牌模板以生成所述第二服务的令牌。
结合第二方面或前述任意一种第二方面的实现方式,在一些实现方式下,该装置还包括模板生成单元,用于拦截与所述第二服务相关的服务调用请求并从所述服务调用请求中提取一个或多个与第二服务对应的令牌属性以生成所述第二服务的令牌模板。
结合第二方面或前述任意一种第二方面的实现方式,在一些实现方式下,所述云计算系统的每个租户域中均部署有一个请求重构单元,其中所述第一租户域中部署的请求重构单元即为所述第一请求重构单元。
结合第二方面或前述任意一种第二方面的实现方式,在一些实现方式下,所述模板生成单元和所述令牌集合生成单元被部署在所述云计算系统的租户管理面中。
结合第二方面或前述任意一种第二方面的实现方式,在一些实现方式下,所述令牌集合生成单元被部署在所述租户管理面的信任中心中。
结合第二方面或前述任意一种第二方面的实现方式,在一些实现方式下,所述令牌集合生成单元还用于向所述第一租户域发送所述第一令牌集合,以便于所述第一请求重构单元能够从所述第一租户域中访问所述第一令牌集合。
这样,第一租户域可以从本地访问第一令牌集合,相较于服务调用时再去租户管理面请求令牌,获取令牌更快速,进而提高了服务认证/授权速度。
第三方面,本发明实施例提供一种云计算系统,例如PaaS系统,该云计算系统包括前述任意一种装置。
第四方面,本发明实施例提供一种令牌模板的生成方法,服务的令牌可以基于该服务对应的令牌模板生成。该方法包括:拦截用于调用服务的服务调用请求;分析所述服务调用请求以获得所述服务的令牌概要;根据所述令牌概要生成所述服务对应的令牌模板。令牌模板生成之后可以存储该令牌模板与该服务的对应关系。
基于第四方面,在一些实现方式下,插入Toolkit到所述服务的一个或多个运行实例中,从而拦截针对所述服务的服务调用请求,从所述服务调用请求中提取令牌属性信息,最终生成令牌模板。可选的,在生成令牌模板之前,提取的令牌属性信息可以被定制化,例如修改令牌属性信息或添加新的令牌属性信息等
第五方面,本发明实施例提供一种创建令牌集合的方法,该方法包括接收租户域发送的用于获取令牌集合的请求,所述请求中包括所述租户域的租户的身份信息以及服务信息,该服务信息用于指示该租户订阅的服务,例如,所述服务信息例如为服务的访问端点(endpoint);根据所述租户的身份信息验证所述租户的身份;当根据所述身份信息验证所述租户为可信租户时,从预先存储的对应关系中获取所述服务信息对应的令牌模板;根据获取的所述令牌模板为所述租户创建令牌集合,所述令牌集合中包括令牌以及所述服务信息的对应关系,其中,所述令牌是根据所述令牌模板生成的,且所述令牌对应的服务信息是生成该令牌的令牌模板对应的服务信息,亦即所述租户订阅的服务的信息。
第六方面,本发明实施例提供一个实现认证/授权的装置,用以实现前述任意一方面或一种实现方式所述的方法,该装置中包括一个或多个单元以实现方法的步骤。该装置可以部署在PaaS系统中,用于实现不同服务之间安全的无缝集成。
第七方面,本发明实施例提供一种计算机存储介质,该计算机存储介质可以是非易失性的,该计算机存储介质存储用于实现前述任意一方面或一种实现方式所述的方法的计算机程序。
第八方面,本发明实施例提供一种计算机系统,该计算机系统包括处理器和存储器,其中,该存储器用于存储计算机程序,该处理器用于从该存储器中读取计算机程序并实现前述任意一方面或一种实现方式所述的方法。
第九方面,本发明实施例提供一种云计算系统,该云计算系统包括租户管理面和租户面,所述租户面中包括第一租户域和第二租户域,所述第一租户域中部署有第一请求重构单元,所述租户管理面中部署有令牌集合生成单元和模板生成单元,其中,所述第一请求重构单元用于:接收运行在第一租户域的第一服务发送的服务调用请求,其中所述服务调用请求包括第二服务的信息,所述第二服务运行在所述第二租户域;根据所述第二服务的信息从第一令牌集合中获取所述第二服务的令牌,其中,所述第一令牌集合包括所述第二服务的信息和所述第二服务的令牌之间的对应关系;使用获取到的所述第二服务的令牌更新所述服务调用请求;以及根据所述第二服务的信息向所述第二服务发送所述更新后的服务调用请求。所述模板生成单元用于:拦截与所述第二服务相关的服务调用请求并从所述服务调用请求中提取一个或多个与所述第二服务对应的令牌属性以生成所述第二服务的令牌模板;所述令牌集合生成单元用于:基于与所述第二服务对应的令牌模板和所述第一租户域的信息生成所述第二服务的令牌;生成所述第一令牌集合;所述令牌集合生成单元还用于向所述第一租户域发送所述第一令牌集合,以便于所述第一请求重构单元能够从所述第一租户域中访问所述第一令牌集合。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的认证/授权装置的逻辑结构示意图;
图2为本发明实施例提供的云计算系统的逻辑结构示意图;
图3为本发明实施例提供的PaaS平台的逻辑结构示意图;
图4为本发明实施例提供的认证/授权方法的交互示意图;
图5为本发明实施例提供的令牌模板生成方法的流程示意图;
图6为本发明实施例提供的一种令牌的示例;
图7为本发明实施例提供的令牌栈生成方法的流程示意图;
图8为本发明实施例提供的一种令牌栈的示例;
图9为本发明实施例提供的一种计算机系统的逻辑结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述。
本申请中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。本申请中的术语“和/或”或字符“/”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或,或A/B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
请参考图1,为本发明实施例提供的认证/授权装置的逻辑结构示意图。该认证/授权装置100可以为一个独立的系统,也可以是嵌入或部署在其他系统中的一个装置。该认证/授权装置100可以是软件实现的装置,也可以是硬件实现的装置。
该认证/授权装置100包括请求重构单元101、令牌集合生成单元102以及模板生成单元103。
模板生成单元103生成与服务对应的令牌模板,以便于后续基于该模板生成该服务的令牌。
令牌集合生成单元102根据服务的令牌模板和该服务的调用者的信息生成针对该调用者的令牌,以便于在该调用者调用该服务时使用该令牌实现认证/授权。在云计算系统中,服务的调用者可以认为是一个租户或该租户中的一个服务。
请求重构单元101接收调用者的服务调用请求,并根据令牌集合生成单元102生成的令牌更新该服务调用请求,将更新后的服务调用请求发送给被调用的服务。由于更新后的服务调用请求中包含了被调用服务支持的令牌,因此被调用服务可以根据该令牌实现调用者的认证/授权。
具体的,模板生成单元103拦截对该服务的服务调用请求,解析该服务调用请求以获取所述服务的一个或多个令牌属性;根据该一个或多个令牌属性生成与所述服务对应的令牌模板。也就是说,模板生成单元103从已有的服务调用请求中获得令牌,并从该令牌中提取一个或多个令牌属性,形成令牌模板。进一步的,该模板生成单元103支持令牌模板的定制化,例如,令牌模板可以提供给用户,由用户根据需求进行修改,然后形成最终的令牌模板。
模板生成单元103生成服务的令牌模板之后,可以将服务的信息(例如服务的标识)、服务的令牌模板以及这两项的对应关系存储起来,供自己或其他单元使用。
具体的,令牌集合生成单元102接收调用者发送的请求信息,该请求信息中包含调用者的身份信息;根据调用者的身份信息确定调用者所订阅的服务,并获取调用者所订阅的服务对应的令牌模板;根据获取的令牌模板和该调用者身份信息生成调用者所订阅的服务的令牌,若调用者订阅的服务为多个,那么这多个令牌可以以令牌栈的形式存储起来(参考图8)。该令牌栈中包括多个令牌和这多个令牌对应的服务的标识信息,以及这两项的对应关系。
调用者的订阅信息可以预先存储,订阅信息中包含调用者所订阅的服务,因此可以根据此订阅信息获取调用者所订阅的服务。调用者也可以发送服务的信息(例如该服务的标识信息)到令牌集合生成单元102,以表明该调用者意图调用该服务,想要获取该服务的令牌,那么令牌集合生成单元102根据该服务的信息找到该服务的令牌模板,根据调用者的身份信息和该令牌模板生成该服务的令牌,以用于调用者调用该服务时使用。
每个调用者都可以有对应的令牌或令牌栈(多个令牌),这些令牌或令牌栈可以在调用者的请求下生成,并在生成之后立即发送给调用者,由调用者存储在本地;也可以周期性地为已知的调用者生成令牌或令牌栈,并将这些令牌或令牌栈存储起来,在调用者请求时发送给调用者或者自发发送给调用者。
具体的,请求重构单元101接收调用者发送的服务调用请求,该服务调用请求中包括被调用的服务的信息;根据该被调用的服务的信息从该调用者对应的一个或多个令牌中获取该被调用的服务的令牌,然后使用获取的令牌更新前述服务调用请求,使得该服务调用请求中包含这个令牌;最后将更新后的服务调用请求发送给被调用的服务。
需要说明的是,多个令牌的存储形式仅以该令牌栈为例,在本发明其他实现方式中,也可以采用其它存储形式。
本发明实施例叙述了认证/授权装置100中的各个单元以及各个单元之间如何配合实现装置目的,下面通过更为详尽的实施例介绍本发明提供的认证/授权装置在云计算系统中以及具体的PaaS(Platform as a Service)平台上如何部署和应用。
请参考图2,为本发明实施例提供的云计算系统的逻辑结构示意图。该云计算系统200包括基础设施即服务(Infrastructure is a Service,IaaS)210、PaaS平台220以及软件即服务(Software is a Service,SaaS)230。IaaS、PaaS和SaaS被视为云计算的三种服务模式,简称为SPI。这三种服务模式即便单独存在也可以认为是一个云计算系统。
IaaS210中具体包括包含硬件资源层213、虚拟化层212以及虚拟资源层211。硬件资源层213的存储资源、处理资源以及网络资源经过虚拟化层212的虚拟化处理后向上层PaaS平台呈现各种虚拟资源,包括虚拟存储资源、虚拟处理资源以及虚拟网络资源,例如多个虚拟机。PaaS平台运行在IaaS层之上,利用IaaS层提供的各种虚拟资源向用户(例如/服务提供者或服务开发者)提供应用(也可称之为服务)开发/部署/运行环境,并提供应用运维管理等服务,使得用户不需要关注IaaS层的资源。PaaS平台上运行的各种应用通过SaaS的模式以服务的形式提供给最终用户。
PaaS平台上的各种服务会发生调用,例如一个仅提供音乐播放功能的服务可以调用另一个提供伴唱功能的服务,这样用户使用该音乐播放服务时还能随时使用另一个服务提供的伴唱功能。本发明实施例提供的认证/授权装置100部署在PaaS平台中,用于实现不同服务之间互相调用时的认证/授权。
请参考图3,为本发明实施例提供的PaaS平台的逻辑结构示意图。PaaS平台300包括运维面310、租户管理面320以及数据面330(也可称之为租户面)。运维面310包括管理门户311和平台管理312等。其中平台管理312中具体包含平台部署管理3121和操作管理3122。租户管理面320包括信任中心322以及部署服务324,还可以包括门户(portal)321等。其中,信任中心322中部署有配置中心3222、秘密服务3223、PaaS身份识别与访问管理(PaaSIdentity and Access Management,简称为PaaS-IAM)3224、以及令牌集合生成单元3221。该令牌集合生成单元3221可以为前述实施例中的令牌集合生成单元102,也可以为其他实施例中介绍类似功能单元或或实现其他实施例中介绍的类似方法。租户管理面320中还包括模板生成单元323,该模板生成单元323可以为前述实施例中的模板生成单元103,也可以为其他实施例中介绍类似功能单元或或实现其他实施例中介绍的类似方法。数据面330中包含多个租户域,其中租户域331中包括多个提供不同功能的服务3311以及请求重构单元3312,租户域332中包括多个提供不同功能的服务3321以及请求重构单元3322,租户域333中包括多个提供不同功能的服务3331以及请求重构单元3332。
云计算系统中包括多个能够提供计算机功能的节点,由于云计算系统基于虚拟化技术,所以这些节点通常是虚拟机或容器等虚拟计算节点。云计算系统的一个租户可以使用云计算系统的一个或多个节点,这一个或多个节点就形成了这个租户的租户域。多个租户域之间可以使用虚拟局域网(Virtual Local Area Network,VLAN)等技术实现标识和隔离,以保证多个租户域的数据安全。
由于在本发明实施例中不涉及与运维面310强相关的改进,所以不对它做详细介绍。下面结合各个模块在PaaS平台的部署介绍详细认证/授权装置实现的方法流程。
请参考图4,为本发明实施例提供的认证/授权方法的交互示意图。
(1)各个租户域的租户发布服务到PaaS平台上,这些服务将会运行在数据面330上,在数据面上不同的租户拥有各自的租户域。一个租户域中可以包含一个或多个节点。这里的“节点”在云计算背景下通常指的是虚拟机或虚拟容器等虚拟计算环境。
(2)不同的租户之间发生服务的订阅。例如,如图所示,租户域331的服务1订阅租户域333的服务6,这种订阅关系会被存储在配置中心3222中。
需要说明的是,以上(1)和(2)由于没有限定特定租户域或特定服务,所以并无特定的顺序关系,但是如图一个服务想要订阅另一个服务,则这两个服务通常得先被发布到PaaS平台上。
经过(1)和(2)之后,PaaS平台的数据面330上已运行有多个服务,不同的服务之间可能存在的订阅关系也已经存储在配置中心3222中。之后部署在租户管理面320的模板生成单元323通过获取服务调用请求生成令牌模板。具体的模板生成过程后面再做详细描述。
(3)模板生成单元323生成令牌模板之后,将令牌模板以及令牌模板和服务的对应关系存储到配置中心中3222中,其中服务可以用服务端点(endpoint)来标识。
经过以上步骤之后,配置中心3222中存储多个服务端点和这些服务的令牌模板之间的对应关系。令牌集合生成单元3221接收租户域发送的用于请求令牌或令牌栈的消息,该消息中包含该租户域的租户的身份信息,令牌集合生成单元3221请求PaaS-IAM3224验证该租户的身份信息,若验证成功,则根据该租户的身份从配置中心3222中获取该租户所订阅的服务的端点,并根据这些服务的端点以及配置中心3222存储的令牌模板和服务端点的对应关系查找获得所订阅服务的令牌模板,然后基于该令牌模板生成令牌。具体过程在后面详述。
(4)令牌集合生成单元3221生成令牌或令牌栈后,会将该令牌或令牌栈发送到相应的租户域,租户域将该令牌或令牌栈存储到该租户域内的存储资源上。例如,租户域331发送请求令牌栈的消息,令牌集合生成单元3221验证租户域331的身份之后生成令牌栈,并将该令牌栈发送给租户域331。在其他实现方式中,令牌集合生成单元3221也可能自发生成所有租户域的令牌栈,并将令牌栈分发到各个租户域。
经过以上步骤之后,各个租户域中或有需求的租户域中已经均保存有各自所订阅服务的令牌。下面以租户域331中的服务调用租户域333中服务为例,介绍服务调用过程。
(5)租户域331中的服务1向位于同一租户域的服务转发代理发送服务调用请求。服务转发代理为现有PaaS平台上用于接收并转发服务调用请求的模块,部署在各个租户域中。
本发明实施例提供的请求重构单元3312可以部署在各个租户域的服务转发代理中。一个租户域内的请求重构单元3312拦截位于同一租户域的服务发送给服务转发代理的服务调用请求,更新服务调用请求,再将更新后的服务调用请求向被调用服务发送。
如图4所示,位于租户域331内的请求重构单元3312拦截服务1发送的服务调用请求,该示例中该服务调用请求是用来调用租户域333中的服务6的,因此该服务调用请求中包括服务6的端点,请求重构单元3312根据服务6的端点和本租户域内存储的令牌栈查找到服务6对应的令牌,然后使用该令牌更新服务调用请求,例如使用服务6的令牌替换服务调用请求中原有的令牌,或在服务调用请求中添加该服务6的令牌。采用“替换”或“添加”等哪一种更新方式取决于拦截到的服务调用请求的形式,本发明实施例的目的是使得服务调用请求中包含正确的令牌,对具体的“更新”方式不做限定。
(6)请求重构单元3312将更新后的服务调用请求发送给租户域333中的服务6。
可见,通过在第一租户域中实现第二服务的令牌的获取,以及针对第二服务的服务调用请求的更新,实现了非集中式的认证/授权模式,避免了单点失败问题,提高认证/授权的效率。
通过第一令牌集合的中存储的对应关系获取第二服务(即被调用服务)的令牌,使得被调用服务的令牌的获取更加直接和高效。
第一令牌集合的存在使得调用服务(例如第一服务)的开发者不需要提供额外的令牌生成代码来满足不同被调用服务所需的验证模式,而是直接从第一令牌集合中获取令牌,换句话说,令牌自动生成的过程对服务开发者是透明的,不感知的,从而降低服务开发的复杂度,简化了服务开发过程。
下面详细介绍令牌模板的生成方法。
请参考图5,为本发明实施例提供的令牌模板生成方法的流程示意图,亦即模板生成单元323所执行的具体方法。
a)在想要生成令牌模板的服务中设置拦截机制。具体的,在该服务的运行实例中插入Toolkit。为了承接前述实施例便于理解,这里的服务运行实例可以认为是图4中服务6的运行实例,或者是与服务6具有相同令牌格式的其他服务的运行实例。
b)Toolkit拦截并获取针对该服务运行实例的服务请求报文,其中,服务请求报文为服务调用请求的一种具体形式
c)分析拦截到的服务请求报文。具体的,解析拦截到的服务请求报文的head/body以获取所述服务请求报文中的令牌。
d)从获取的令牌中提取多个令牌属性,自动生成一个令牌概要。
在提取令牌属性之前,为确保正确性,可以拦截多个服务请求报文并获取其中的多个令牌之后,在从中提取共有的令牌属性。
图5示出了一个令牌概要的示例,该令牌概要包括的令牌属性包括:令牌格式、令牌位置、属性(与前述令牌属性概念不同)、签名体和签名算法。令牌格式的值包括JWT、SWT、CMS、AK/SK、X.509和SAML等。令牌位置的值包括X-Auth-Token、X-Subject-Token、X-Access-Token和Bear等,令牌位置的值指示的是令牌所在的服务请求报文的字段,后面令牌的具体示例中可以看到。属性包括用户姓名、颁发者、颁发日期、接受者、过期时间、角色、以及访问范围等,在服务请求报文中需要包括的这些属性中的一个或多个的值,比如用户姓名是谁、过期时间是什么以及访问范围有多大。一个服务的令牌中需要哪些属性以及属性之间什么布局可能还与该服务令牌的格式有关,在此不一一说明。签名体包括租户私钥和Root证书私钥等。签名算法有很多,以RSA256和SHA为例。
e)自动生成的令牌概要可以直接作为令牌模板,也可以按照图5中e)所示出的步骤,接收用户的输入,在用户的手工定制下基于令牌概要生成令牌模板。如图所示,该自动生成的令牌概要令牌格式的值、签名体的值、签名算法的值均未确定,用户可手工填写。该令牌概要中各个令牌属性的已知值或默认值也可以被修改
需要说明的是,图5所示的令牌概要仅是一个示例,其中包含的信息可以增加也可以减少,其展现形式也不局限于图5所示出的形式。
f)令牌模板确定后,建立服务端点与令牌模板的对应关系,以用于后续对令牌模板的查找。
为便于理解,图6示出了具体的一种令牌。该令牌的位置是服务请求报文中的字段X-Access-Token.该令牌的值如图所示,为64位编码。通过获取该服务请求报文以及解析其中的字段X-Access-Token获取该令牌,然后解码获得令牌的内容,包括用户(user)id,角色(roles)名称(name)、项目(project)id、授权日期(issue_at)、过期日期(expires_at)以及签名(signature)。然后可以依据这些内容生成令牌模板,令牌模板中有些令牌属性的值是无论服务调用者是谁都是一致的,此类型的值可以直接从该令牌中获取,并作为该令牌属性的默认值。
可见,本发明实施例提供的方法能够采用自动/半自动的方法为租户的服务创建令牌模板,从而基于令牌模板实现不同服务的安全无缝集成。
下面详细介绍令牌栈的生成过程。
请参考图7,为本发明实施例提供的令牌栈生成方法的流程示意图,亦即令牌集合生成单元3221所执行的具体方法。
本发明实施例中,令牌集合生成单元3221部署在信任中心322中,部署在信任中心322中对于安全性和访问权限控制方面有优势。在其他实施例中,对令牌集合生成单元3221的部署位置不做限定。
a)某个租户域若想获得该租户域所订阅的服务的令牌栈,则向令牌集合生成单元3221发送用于获取令牌栈的请求,该请求使用AK/SK进行签名,签名为该租户域的租户的身份信息的一种实现方式。为了承接前述实施例便于理解,这里发送请求的租户域可以认为是图4中所示的租户域331。
AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。
SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。
在其他实施例中,该请求也可以是向信任中心322发送,然后被令牌集合生成单元3221拦截,即令牌集合生成单元3221对租户域是透明的。
b)令牌集合生成单元3221向PaaS-IAM3224发送请求以验证该租户域的租户的身份。依据AK/SK的验证原理,PaaS-IAM3224根据租户信息、租户的公钥私钥对以及X.509根秘钥(root key)/证书等验证租户的身份。
c)当租户的签名被验证成功后,令牌集合生成单元3221从PaaS-IAM3224获取该租户的租户信息和用于加密的秘钥值等。
d)根据获取的租户信息,例如租户的名称,从配置中心3222中获取该租户订阅的服务的令牌模板、角色等信息。
前述已经介绍了配置中心3222中存储服务以及服务的令牌模板的对应关系,并介绍了现有技术的配置中心3222中会存储服务与服务之间的订阅关系。这两种关系可以和在一起存储,也可以分开存储,也可以一定程度上重复性存储。
示例性的,图7所示的配置中心3222中将两种关系合在一起存储在一张表中。例如发送令牌栈请求的租户为租户1(Tenant1),那么从该表中可以查找到Tenant1订阅了服务Endpoint1和服务Endpoint2,角色分别是developer和reader。服务Endpoint1和服务Endpoint2的令牌模板分别是Token模板1和Token模板2。
e)获取到该租户订阅的服务的令牌模板之后,根据该租户的信息将令牌模板中缺失的值补充完整,例如订阅者的信息等,形成完整的令牌,并将所有被订阅服务的令牌组合成令牌栈,然后向该租户域发送该令牌栈。
图8为一个令牌栈的示例。该示例中展示了一个令牌栈的组成,该令牌栈包括两个令牌,其中第一个令牌示例性地示出了:“endpoint”为/analytics/service,即一个被订阅的服务的端点。令牌的具体内容被64位编码后放在字段“token”处,并同时指出了该令牌需要放置在服务请求报文中的位置,即字段“position”,x-access-token表明该令牌需要被放置在服务请求报文中的字段x-access-toke处(参考6示出的服务请求报文的内容)。由图8可以看出,该令牌栈中不仅包含多个令牌,还包含各个令牌对应的服务的服务端点、令牌和服务端点的对应信息以及令牌被使用时应放置的位置信息。图8仅是为了展现令牌栈的格式,因此第二个令牌没示出,可参考第一个令牌。
图8仅为示例,在其它实施例中,令牌栈也可以是一个表格或一段程序代码等。多个令牌可以一同被发送给请求令牌的租户域;也可以逐一发送,由租户域自行决定如何存储。
前述实施例提供的方法可以实现在一台或多台物理计算机上,前述实施例中提出的装置可以部署在一台或多台物理计算机上,装置内部的单元模块划分仅作为一种示例性的示出,各个单元模块可以部署在同一台物理计算机上,也可以部署在不同的物理计算机上。
请参考图9,为本发明实施例提供的一种计算机系统的逻辑结构示意图。该计算机系统900包括
处理单元920,系统存储器930,和系统总线910。系统总线将包括系统存储器的各种系统元件与处理单元920相耦合。系统总线910可以是几种类型总线结构中的任意一种总线,这些总线可以包括存储器总线或存储器控制器,外围总线,和使用一种总线结构的局部总线。总线结构可以包括工业标准结构(Industry Standard Architecture,ISA)总线,微通道结构(Micro Channel Architecture,MCA)总线,扩展ISA(Extended-ISA)总线,视频电子标准协会(Video Electronics Standards Association,VESA)局域总线,以及外围器件互联(Peripheral Component Interconnect,PCI)总线。
系统存储器930包括易失性和非易失性存储器,例如,只读存储器(ROM)931和随即存取存储器(RAM)932。基本输入/输出系统933(BIOS)一般存储于ROM931中,包含着基本的例行程序,它有助于在管理节点910中各元件之间的信息传输。RAM 932一般包含着数据和/或程序模块,它可以被处理单元920即时访问和/或立即操作,例如操作系统934,应用程序935,其他程序模块936和程序数据937。
计算机系统900也可以包括其他可拆卸/非拆卸,易失性/非易失性的存储媒介。例如硬盘存储器941,它可以是非拆卸和非易失性的可读写磁媒介。再例如外部存储器951,它可以是可拆卸和非易失性的各类外部存储器,例如光盘、磁盘、闪存或者移动硬盘等;硬盘存储器941一般是通过非拆卸存储接口(例如,接口940)与系统总线810相连接,外部存储器一般通过可拆卸存储接口(例如,接口960)与系统总线910相连接。硬盘存储器941可以用于存储操作系统942,应用程序943,其它程序模块944以及程序数据945。需要说明的是,这些元件可以与操作系统934,应用程序935,其他程序模块936,以及程序数据937是相同的,也可以是不同的。
用户可以通过各类输入设备961输入命令或信息以管理计算机系统900。各种输入设备通常是通过用户输入接口960与处理单元920相连接,用户输入接口960与系统总线910相耦合,但也可以通过其他接口和系统总线910相连接,例如,并行接口,或通用串行接口(USB)。显示设备991也可以通过接口(例如,视频接口990)与系统总线910相连接。此外,该计算机系统900也可以包括各类外围输出设备982,外围输出设备982可以通过输出接口980等来连接。
前述任一实施例中的方法或者上一实施例中逻辑模块的功能可以通过存储在该算计系统900的一种或多种存储媒介中的代码或者可读指令,并由处理单元920读取所述代码或者可读指令从而得以实现。
处理单元920可以为单核处理器或多核处理器。当处理单元920为多核处理器时,前述实施例实现的方法可以运行在一个核上,也可以不同功能单元分布在不同的核上。处理单元920还可以包括微处理器/协处理器等。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明实施例所述的绘图装置可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。
以上所述,仅为本发明的一些具体实施方式,但本发明的保护范围并不局限于此。
Claims (23)
1.一种实现认证/授权的方法,其特征在于,包括:
接收运行在第一租户域上的第一服务发送的服务调用请求,所述服务调用请求包括第二服务的信息;
根据所述第二服务的信息从第一令牌集合中获取所述第二服务的令牌,所述第一令牌集合包括所述第二服务的信息和所述第二服务的令牌之间的对应关系;
使用获取到的所述第二服务的令牌更新所述服务调用请求;
根据所述第二服务的信息向所述第二服务发送所述更新后的服务调用请求。
2.根据权利要求1所述的方法,其特征在于,所述方法应用于所述第一租户域。
3.根据权利要求1或2所述的方法,其特征在于,所述第一令牌集合包括所述第一租户域的租户订阅的至少一个服务与所述至少一个服务的令牌的对应关系,所述至少一个服务包括所述第二服务。
4.根据权利要求1或2所述的方法,其特征在于,所述第二服务的令牌是基于与所述第二服务对应的令牌模板以及所述第一租户域的信息生成的。
5.根据权利要求4所述的方法,其特征在于,与所述第二服务对应的令牌模板是通过拦截与所述第二服务相关的服务调用请求并从所述服务调用请求中提取一个或多个与所述第二服务对应的令牌属性生成的。
6.根据权利要求4所述的方法,其特征在于,所述第二服务的令牌是使用所述第一租户域的信息更新所述与所述第二服务对应的令牌模板而生成的。
7.一种实现认证/授权的装置,其特征在于,包括第一请求重构单元,所述第一请求重构单元用于:
接收运行在第一租户域的第一服务发送的服务调用请求,其中所述服务调用请求包括第二服务的信息;
根据所述第二服务的信息从第一令牌集合中获取所述第二服务的令牌,其中,所述第一令牌集合包括所述第二服务的信息和所述第二服务的令牌之间的对应关系;
使用获取到的所述第二服务的令牌更新所述服务调用请求;以及
根据所述第二服务的信息向所述第二服务发送所述更新后的服务调用请求。
8.根据权利要求7所述的装置,其特征在于,所述第一令牌集合包括所述第一租户域的租户订阅的至少一个服务与所述至少一个服务的令牌的对应关系,所述至少一个服务包括所述第二服务。
9.根据权利要求7或8所述的装置,其特征在于,还包括令牌集合生成单元,用于:
基于与所述第二服务对应的令牌模板和所述第一租户域的信息生成所述第二服务的令牌;以及
生成所述第一令牌集合,所述第一令牌集合中包括所述第二服务的信息与生成的所述令牌之间的对应关系。
10.根据权利要求9所述的装置,其特征在于,所述令牌集合生成单元具体用于使用所述第一租户域的信息更新所述与所述第二服务对应的令牌模板以生成所述第二服务的令牌。
11.根据权利要求9所述的装置,其特征在于,还包括模板生成单元,用于拦截与所述第二服务相关的服务调用请求并从所述服务调用请求中提取一个或多个与所述第二服务对应的令牌属性以生成所述第二服务的令牌模板。
12.根据权利要求7所述的装置,其特征在于,所述装置位于云计算系统内,所述第一请求重构单元部署在所述云计算系统的第一租户域内。
13.根据权利要求11要求所述的装置,其特征在于,所述装置位于云计算系统内,所述模板生成单元和所述令牌集合生成单元被部署在所述云计算系统的租户管理面中。
14.根据权利要求13所述的装置,其特征在于,所述令牌集合生成单元被部署在所述租户管理面的信任中心中。
15.根据权利要求9所述的装置,其特征在于,所述令牌集合生成单元还用于向所述第一租户域发送所述第一令牌集合,以便于所述第一请求重构单元能够从所述第一租户域中访问所述第一令牌集合。
16.一种云计算系统,其特征在于,所述云计算系统包括如权利要求7-15任意一项所述的装置。
17.根据权利要求16所述的云计算系统,其特征在于,所述云计算系统为平台即服务(PaaS)系统。
18.一种计算机系统,其特征在于,所述计算机系统包括处理器和存储器,所述存储器用于存储计算机可读程序,所述处理器用于读取所述存储器中存储的计算机可读程序并执行:
接收运行在第一租户域的第一服务发送的服务调用请求,其中所述服务调用请求包括第二服务的信息;
根据所述第二服务的信息从第一令牌集合中获取所述第二服务的令牌,其中,所述第一令牌集合包括所述第二服务的信息和所述第二服务的令牌之间的对应关系;
使用获取到的所述第二服务的令牌更新所述服务调用请求;以及
根据所述第二服务的信息向所述第二服务发送所述更新后的服务调用请求。
19.根据权利要求18所述的计算机系统,其特征在于,所述第一令牌集合包括所述第一租户域的租户订阅的至少一个服务与所述至少一个服务的令牌的对应关系,所述至少一个服务包括所述第二服务。
20.根据权利要求18或19所述的计算机系统,其特征在于,所述第二服务的令牌是基于与所述第二服务对应的令牌模板和所述第一租户域的信息生成的。
21.根据权利要求20所述的计算机系统,其特征在于,与所述第二服务对应的令牌模板是通过拦截与所述第二服务相关的服务调用请求并从所述服务调用请求中提取一个或多个与所述第二服务对应的令牌属性生成的。
22.一种云计算系统,其特征在于,所述云计算系统包括一个或多个如权利要求18-21任意一项所述的计算机系统。
23.一种云计算系统,其特征在于,所述云计算系统包括租户管理面和租户面,所述租户面中包括第一租户域和第二租户域,所述第一租户域中部署有第一请求重构单元,所述租户管理面中部署有令牌集合生成单元和模板生成单元,其中,
所述第一请求重构单元用于:接收运行在第一租户域的第一服务发送的服务调用请求,其中所述服务调用请求包括第二服务的信息,所述第二服务运行在所述第二租户域;根据所述第二服务的信息从第一令牌集合中获取所述第二服务的令牌,其中,所述第一令牌集合包括所述第二服务的信息和所述第二服务的令牌之间的对应关系;使用获取到的所述第二服务的令牌更新所述服务调用请求;以及根据所述第二服务的信息向所述第二服务发送所述更新后的服务调用请求。
所述模板生成单元用于:拦截与所述第二服务相关的服务调用请求并从所述服务调用请求中提取一个或多个与所述第二服务对应的令牌属性以生成所述第二服务的令牌模板;
所述令牌集合生成单元用于:基于与所述第二服务对应的令牌模板和所述第一租户域的信息生成所述第二服务的令牌;生成所述第一令牌集合;
所述令牌集合生成单元还用于向所述第一租户域发送所述第一令牌集合,以便于所述第一请求重构单元能够从所述第一租户域中访问所述第一令牌集合。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710100457.3A CN108471395B (zh) | 2017-02-23 | 2017-02-23 | 实现认证/授权的方法、装置、云计算系统及计算机系统 |
PCT/CN2018/077065 WO2018153353A1 (zh) | 2017-02-23 | 2018-02-23 | 实现认证/授权的方法、装置、云计算系统及计算机系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710100457.3A CN108471395B (zh) | 2017-02-23 | 2017-02-23 | 实现认证/授权的方法、装置、云计算系统及计算机系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108471395A CN108471395A (zh) | 2018-08-31 |
CN108471395B true CN108471395B (zh) | 2019-12-17 |
Family
ID=63254141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710100457.3A Active CN108471395B (zh) | 2017-02-23 | 2017-02-23 | 实现认证/授权的方法、装置、云计算系统及计算机系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108471395B (zh) |
WO (1) | WO2018153353A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109150528A (zh) * | 2018-11-07 | 2019-01-04 | 杭州海兴电力科技股份有限公司 | 一种电表数据访问方法、装置、设备及可读存储介质 |
CN109814942B (zh) * | 2018-12-19 | 2020-09-08 | 北京城市网邻信息技术有限公司 | 一种参数处理方法及装置 |
US11102004B2 (en) * | 2019-04-29 | 2021-08-24 | Google Llc | Systems and methods for distributed verification of online identity |
CN110691089B (zh) * | 2019-09-29 | 2020-08-11 | 星环信息科技(上海)有限公司 | 一种应用于云服务的认证方法、计算机设备及存储介质 |
CN110881039B (zh) * | 2019-11-27 | 2022-06-21 | 杭州安恒信息技术股份有限公司 | 一种云安全管理系统 |
CN111314491B (zh) * | 2020-03-27 | 2022-07-08 | 北京尚医智信健康管理有限公司 | 跨租户数据交互方法、装置、服务器集群及介质 |
CN114513344A (zh) * | 2022-01-26 | 2022-05-17 | 鼎捷软件股份有限公司 | 云应用间的集成系统及其方法 |
CN116127418B (zh) * | 2023-04-14 | 2023-06-27 | 深圳竹云科技股份有限公司 | 容器应用授权方法、装置及计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729514A (zh) * | 2008-10-23 | 2010-06-09 | 华为技术有限公司 | 一种业务调用的实现方法及装置和系统 |
US8336089B1 (en) * | 2007-12-21 | 2012-12-18 | Emc Corporation | Method and apparatus for providing authentication and encryption services by a software as a service platform |
CN105229987A (zh) * | 2013-03-15 | 2016-01-06 | 微软技术许可有限责任公司 | 主动联合的移动认证 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106470184B (zh) * | 2015-08-14 | 2020-06-26 | 阿里巴巴集团控股有限公司 | 安全认证方法、装置及系统 |
-
2017
- 2017-02-23 CN CN201710100457.3A patent/CN108471395B/zh active Active
-
2018
- 2018-02-23 WO PCT/CN2018/077065 patent/WO2018153353A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8336089B1 (en) * | 2007-12-21 | 2012-12-18 | Emc Corporation | Method and apparatus for providing authentication and encryption services by a software as a service platform |
CN101729514A (zh) * | 2008-10-23 | 2010-06-09 | 华为技术有限公司 | 一种业务调用的实现方法及装置和系统 |
CN105229987A (zh) * | 2013-03-15 | 2016-01-06 | 微软技术许可有限责任公司 | 主动联合的移动认证 |
Also Published As
Publication number | Publication date |
---|---|
CN108471395A (zh) | 2018-08-31 |
WO2018153353A1 (zh) | 2018-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108471395B (zh) | 实现认证/授权的方法、装置、云计算系统及计算机系统 | |
US10389728B2 (en) | Multi-level security enforcement utilizing data typing | |
US9928080B2 (en) | Hardware security module access management in a cloud computing environment | |
US20190020480A1 (en) | Establishing trust in an attribute authentication system | |
US9503447B2 (en) | Secure communication between processes in cloud | |
CN112671720B (zh) | 一种云平台资源访问控制的令牌构造方法、装置及设备 | |
US10162952B2 (en) | Security model for network information service | |
US11500988B2 (en) | Binding secure keys of secure guests to a hardware security module | |
CN113055380B (zh) | 报文处理方法、装置、电子设备及介质 | |
US20160285833A1 (en) | Runtime instantiation of broadcast encryption schemes | |
CN111241492A (zh) | 一种产品多租户安全授信方法、系统及电子设备 | |
CN112199079B (zh) | 系统对接方法、计算设备和存储介质 | |
WO2022018539A1 (en) | Enforcement of signatures for software deployment configuration | |
US9948632B2 (en) | Sharing data between sandboxed applications with certificates | |
US10972455B2 (en) | Secure authentication in TLS sessions | |
US11606205B2 (en) | Causal total order broadcast protocols using trusted execution environments | |
CN113282950B (zh) | 加密机的运维方法、装置、设备及系统 | |
US20190147150A1 (en) | Digital certificate containing multimedia content | |
US20230269298A1 (en) | Protecting api keys for accessing services | |
US20240095338A1 (en) | Isolated runtime environments for securing secrets used to access remote resources from compute instances | |
US20230394163A1 (en) | Data cluster management | |
CN116746134A (zh) | 用户设备上第三组件与云中服务组件间通信的方法和实现该方法的网络布置 | |
CN117495559A (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 |