欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 基于云平台的跨账号登录方法、装置及服务器独创技术38998字

基于云平台的跨账号登录方法、装置及服务器

2021-02-02 11:45:30

基于云平台的跨账号登录方法、装置及服务器

  技术领域

  本发明涉及云计算的技术领域,尤其是涉及一种基于云平台的跨账号登录方法、装置及服务器。

  背景技术

  随着云计算技术的不断发展,云资源的功能越来越多,使得云产品业务线也越来越多。而云产品的各个业务线都需要支持相应的角色信息,用户通过向业务线传递正确的角色信息才能对业务线进行访问控制,业务线也可以根据角色信息获取相关资源并返回给用户。

  因此,为了实现用户能够对云产品各个业务线进行管控,需要每个业务线都支持角色信息的鉴权,并确定该用户是否有管控权限,使得各个业务线在开发时都要开发这一功能,提高了云产品业务线的使用成本。

  发明内容

  有鉴于此,本发明的目的在于提供一种基于云平台的跨账号登录方法、装置及服务器,以缓解上述技术问题。

  第一方面,本发明实施例提供了一种基于云平台的跨账号登录方法,应用于云平台,该方法包括:接收第一租户发送的身份切换请求,其中,所述身份切换请求为所述第一租户以子用户身份登录所述云平台之后发送的;所述身份切换请求中携带有目标角色身份的标识;所述目标角色身份为第二租户预先创建的对所述云平台有预设的访问权限的角色身份;提取所述目标角色身份的标识,基于所述目标角色身份的标识生成所述目标角色身份对应的临时身份信息;将所述临时身份信息发送至所述第一租户,以使所述第一租户根据所述临时身份信息登录至所述目标角色身份对应的账号。

  在一种较佳的实施方式中,上述法还包括:接收所述第一租户发送的子用户登录信息;验证所述子用户登录信息是否合法;如果是,确定所述第一租户以子用户身份登录所述云平台。

  在一种较佳的实施方式中,上述基于所述目标角色身份的标识生成所述目标角色身份对应的临时身份信息的步骤包括:获取预先建立的权限策略表;其中,所述权限策略表包括多个角色身份,以及所述角色身份对应的访问权限;根据所述目标角色身份的标识在所述权限策略表中查找所述目标角色身份对应的访问权限;基于所述访问权限生成所述临时身份信息;其中,所述临时身份信息包括密钥信息和第一安全令牌,所述密钥信息用于认证所述目标角色身份;所述第一安全令牌携带有所述目标角色身份、所述目标角色身份对应的访问权限,以及所述临时身份信息的有效期。

  在一种较佳的实施方式中,上述将所述临时身份信息发送至所述第一租户之后,还包括:接收所述第一租户基于所述临时身份信息发送的目标业务线的接口请求信息;提取所述接口请求信息中携带的所述临时身份信息的第二安全令牌;对所述第二安全令牌进行验证;如果验证通过,则确定所述第一租户登录的临时身份对所述目标业务线有访问权限。

  在一种较佳的实施方式中,上述将所述临时身份信息发送至所述第一租户的步骤包括:对所述第一安全令牌信息进行加密,生成加密安全令牌;将包含所述密钥信息和所述加密安全令牌的临时身份信息发送至所述第一租户。

  在一种较佳的实施方式中,上述基于所述访问权限生成所述临时身份信息之后,还包括:提取所述第一安全令牌,生成所述第一安全令牌的签名信息。

  在一种较佳的实施方式中,上述提取所述接口请求信息中携带的所述临时身份信息的第二安全令牌的步骤包括:提取所述接口请求信息中携带的所述临时身份信息的加密第二安全令牌;对所述第二安全令牌进行验证的步骤包括:对所述加密第二安全令牌进行解密,得到所述第二安全令牌;获取所述第一安全令牌的签名信息,根据所述第一安全令牌的签名信息对所述第二安全令牌进行验证;如果所述第一安全令牌与所述第二安全令牌匹配,则确定所述第二安全令牌验证通过。

  在一种较佳的实施方式中,上述确定所述第一租户登录的临时身份对所述目标业务线有访问权限之后,还包括:创建代表所述目标角色身份的子用户信息,所述子用户包括子用户ID、所述密钥信息和所述第一安全令牌;将所述子用户信息存储至预设的缓存区;当监测到所述缓存区写入成功后,确定所述第一租户当前身份为所述目标角色身份。

  在一种较佳的实施方式中,上述方法还包括:接收所述第一租户以所述目标角色身份发送的资源管控请求;获取所述缓存区中所述目标角色身份的子用户信息;根据所述缓存区中所述目标角色身份的子用户信息对所述第一租户对应的目标角色身份进行鉴权;如果鉴权通过,获取所述资源管控请求对应的业务线接口,以使所述第一租户通过所述业务线接口对业务线的资源进行管控。

  在一种较佳的实施方式中,上述方法还包括:如果所述资源管控请求为对目标业务线的云资源的购买请求,则调用订单服务,通过所述订单服务请求对所述第一租户对应的目标角色身份进行鉴权;如果鉴权通过,则获取所述订单服务的业务线接口,以使所述第一租户对所述目标业务线进行购买。

  第二方面,本发明实施例提供了一种基于云平台的跨账号登录装置,应用于云平台,该装置包括:接收模块,用于接收第一租户发送的身份切换请求,其中,所述身份切换请求为所述第一租户以子用户身份登录所述云平台之后发送的;所述身份切换请求中携带有目标角色身份的标识;所述目标角色身份为第二租户预先创建的对所述云平台有预设的访问权限的角色身份;提取模块,用于提取所述目标角色身份的标识,基于所述目标角色身份的标识生成所述目标角色身份对应的临时身份信息;登录模块,用于将所述临时身份信息发送至所述第一租户,以使所述第一租户根据所述临时身份信息登录至所述目标角色身份对应的账号。

  第三方面,本发明实施例提供了一种服务器,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法。

  第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述第一方面所述的方法。

  本发明实施例带来了以下有益效果:

  本发明实施例提供的基于云平台的跨账号登录方法、装置及服务器,能够接收第一租户发送的携带有目标角色身份的标识身份切换请求,进而提取该目标角色身份的标识,并基于该目标角色身份的标识生成目标角色身份对应的临时身份信息,以便于将临时身份信息发送至第一租户,以使第一租户根据临时身份信息登录至目标角色身份对应的账号,由于目标角色身份为第二租户预先创建的对云平台有预设的访问权限的角色身份,因此,第一租户可以直接使用该目标角色身份在云平台上进行跨账号登录,实现对云资源的管控,并且,上述第一租户使用目标角色身份进行跨账号登录的过程,无需在相应的业务线上开发角色鉴权和验证功能,有效降低了业务线的开发和应用成本。

  本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

  为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

  附图说明

  为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

  图1为本发明实施例提供的一种基于云平台的跨账号登录方法的流程图;

  图2为本发明实施例提供的一种基于云平台的跨账号登录的交互示意图;

  图3为本发明实施例提供的另一种基于云平台的跨账号登录的交互示意图;

  图4为本发明实施例提供的另一种基于云平台的跨账号登录的交互示意图;

  图5为本发明实施例提供的一种基于云平台的跨账号登录装置的结构示意图;

  图6为本发明实施例提供的一种服务器的结构示意图。

  具体实施方式

  为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

  目前,云资源平台的服务器上各个产品业务线都对接相应的角色身份以便于用户登录云资源平台时进行角色身份切换,进行角色扮演。而用户在管理云产品业务线时,各个业务线之间需要传递角色信息,以便于用户对各个业务线继续访问控制,进而在访问控制确定有权限后,把角色信息传给云产品业务线,云产品业务线再根据角色信息获取相关资源返回给用户。

  而为了使各个业务线传递角色信息,在业务线开发时则需要使每个业务线都支持角色信息的验证处理才能进行对接,使得在开发业务线时,除了自身业务外,每个业务线还需要开发对接功能,进行角色信息的传递,导致云产品业务线的开发和使用成本提高。

  基于此,本发明实施例提供了一种基于云平台的跨账号登录方法、装置及服务器,可以缓解上述技术问题,以降低云产品业务线的开发和使用成本。

  为便于对本实施例进行理解,首先对本发明实施例所公开的一种基于云平台的跨账号登录方法进行详细介绍。

  在一种可能的实施方式中,本发明实施例提供了一种基于云平台的跨账号登录方法,该方法应用于云平台。

  具体地,该云平台可以通过设置在云服务提供商一侧的服务器实现,并且,云平台可以提供多种云产品业务线供租户使用,具体地,租户(Tenant)是指使用云产品业务线或计算资源的用户,包含在云产品业务线中可识别为指定用户的一切数据,比如在云产品业务线中创建的账户与统计信息(Accounting Data),以及在云产品业务线中设置的各式数据和应用程序环境等,都属于租户的范围。

  具体地,如图1所示的一种基于云平台的跨账号登录方法的流程图,该方法包括以下步骤:

  步骤S102,接收第一租户发送的身份切换请求;

  其中,该身份切换请求为第一租户以子用户身份登录云平台之后发送的;身份切换请求中携带有目标角色身份的标识;目标角色身份为第二租户预先创建的对云平台有预设的访问权限的角色身份;

  步骤S104,提取目标角色身份的标识,基于目标角色身份的标识生成目标角色身份对应的临时身份信息;

  步骤S106,将该临时身份信息发送至第一租户,以使第一租户根据临时身份信息登录至目标角色身份对应的账号。

  具体实现时,租户(或者用户)想要登录云平台,需要先通过客户端登录到云平台的服务器,并得到授权,才能对云产品业务线进行使用或者访问控制。因此,租户需要先通过客户端登录云平台,然后向服务器发送身份切换请求,此时,服务器可以执行上述步骤S102,接受该身份切换请求,以获取到租户想要登录的目标角色身份。

  而由于该目标角色身份为第二租户预先创建的对云平台有预设的访问权限的角色身份,因此,通过上述步骤S106将临时身份信息反馈给第一租户的客户端之后,第一租户可以使用该临时身份信息通过客户端登录至目标角色身份对应的账号,以对业务线的资源进行访问和控制。

  因此,本发明实施例提供的基于云平台的跨账号登录方法,能够接收第一租户发送的携带有目标角色身份的标识身份切换请求,进而提取该目标角色身份的标识,并基于该目标角色身份的标识生成目标角色身份对应的临时身份信息,以便于将临时身份信息发送至第一租户,以使第一租户根据临时身份信息登录至目标角色身份对应的账号,由于目标角色身份为第二租户预先创建的对云平台有预设的访问权限的角色身份,因此,第一租户可以直接使用该目标角色身份在云平台上进行跨账号登录,实现对云资源的管控,并且,上述第一租户使用目标角色身份进行跨账号登录的过程,无需在相应的业务线上开发角色鉴权和验证功能,有效降低了业务线的开发和应用成本。

  在实际使用时,由于上述身份切换请求为第一租户以子用户身份登录云平台之后发送的,因此,第一租户需提前在云平台进行注册,以成为该云平台的子用户。具体地,子用户也称为IAM(Identity and Access Management,身份识别与访问管理)用户,IAM用户是IAM的一种实体身份类型,有确定的身份ID和身份凭证,它通常与某个确定的人或应用程序一一对应。一个租户账号下可以创建多个IAM用户,对应企业内的员工、系统或应用程序,IAM用户不拥有资源,但是IAM用户归属于云账号,只能在所属云账号的空间下可见,而不是独立的云账号,因此,IAM用户必须在获得云账号的授权后才能登录控制台或使用API操作云账号下的资源,如某个云产品业务线。当企业有多种云资源时,使用IAM的授权管理功能,可以实现用户分权及资源统一管理。

  而对于第一租户在云平台的登录情况,云平台本身也会有相应的验证过程,具体地,当第一租户通过客户端以子用户身份登录云平台时,云平台可以接受第一租户发送的子用户登录信息;并验证该子用户登录信息是否合法;如果是,确定第一租户以子用户身份登录云平台,此时,第一租户可以进行身份切换,对云平台上预设的云产品业务线或计算资源进行使用或者访问控制。如果验证该子用户登录信息不合法,则该第一租户则无法登录到云平台,也无法进行进一步的身份切换操作。

  其中,上述第一租户通常是云服务的购买用户,即,云平台的使用者,进一步,上述第二租户是指云服务一侧的开发者,即,对云平台进行开发和维护的用户,因此,第二租户可以创建一个或者多个对云平台有相应访问权限的角色身份,而第一租户在子用户登录信息登录云平台时,仅对少数,或者部分资源有访问或者查看权限,如果第一租户需要对更多的资源进行管控,则需执行本发明实施例提供的基于云平台的跨账号登录方法进行跨账号登录,才能具有更多的访问或者查看权限。

  进一步,考虑到云平台一般都有多种云资源和多个业务线,因此,第二租户在创建角色身份时,可以建立相应的权限策略表,对已创建的至少一个角色身份,以及该角色身份对应的访问权限进行记录,以便于生成临时身份信息。

  因此,上述步骤S104中,生成临时身份信息时,可以基于该权限策略表实现,具体地,生成临时身份信息的过程可以包括以下步骤:

  (1)获取预先建立的权限策略表;其中,该权限策略表包括多个角色身份,以及每个角色身份对应的访问权限;

  (2)根据目标角色身份的标识在权限策略表中查找目标角色身份对应的访问权限;

  (3)基于访问权限生成临时身份信息;其中,临时身份信息包括密钥信息和第一安全令牌,密钥信息用于认证目标角色身份;第一安全令牌携带有目标角色身份、目标角色身份对应的访问权限,以及临时身份信息的有效期。

  当云平台将上述临时身份信息发送至第一租户之后,第一租户可以根据临时身份信息登录至目标角色身份对应的账号,进而实现跨账号对云平台进行登录,同时,第一租户也获得了该目标角色身份的访问权限。此外,由于是临时身份信息,因此,第一租户需在该临时身份信息的有效期内对云平台的业务线进行管控。

  在实际使用时,上述设置在云服务提供商一侧的服务器通常设置有多个子服务,多个子服务协同运行,以构成上述云平台,并向租户提供云产品业务线,而上述图1所示的基于云平台的跨账号登录方法,也可以通过服务器的多个子服务协同实现。

  具体地,服务器的子服务通常包括以下服务中的一种或多种:

  订单服务:统一的下单服务,所有云产品使用该服务下单;

  IAM服务:身份与访问控制服务;

  业务线:负责各业务线云产品服务;

  Kop/Kop_inner服务:统一网关系统,提供鉴权服务;

  缓存服务:用于公用缓存服务;

  STS(Security Token Service,STS,临时安全令牌)服务:安全令牌服务,负责生成角色扮演的临时身份信息;

  控制台:服务器控制台的框架;

  Passport服务:控制台登录认证服务;

  SSO服务(SingleSignOn,SSO,单点登录):提供单点登录服务。

  基于上述各个子服务,第一租户以子用户身份登录云平台时,可以在客户端的浏览器上输入云产品业务线的登录地址进行登录,此时,第一租户可以登录至上述控制台,然后控制台可以通过Passport服务验证子用户登录信息是否合法,如果认证通过,可以向第一租户返回子用户的cookie进行确认,以使第一租户继续进行身份切换的过程。进一步,上述步骤S102中接收身份切换请求,以及步骤S104中生成临时身份信息的过程则可以在STS服务上实现。

  为了便于理解,在图1的基础上,图2示出了一种基于云平台的跨账号登录的交互示意图,具体地,以客户端通过浏览器与云平台的服务器交互为例,对客户端的身份切换过程进行说明,同样以服务器包括上述各个子服务为例进行说明,如图2所示,包括以下步骤:

  步骤S202,租户通过客户端使用子用户身份登录控制台;

  具体地,该控制台为上述云平台的服务器中的一个子服务。

  步骤S204,服务器通过控制台请求Passport服务对客户端进行身份验证,以验证子用户登录信息是否合法;

  具体地,Passport服务验证的是子用户的用户名和密码是否正确;如果正确,则说明认证通过,然后继续执行下述步骤。

  步骤S206,Passport服务向控制台返回验证本文文件,以说明验证通过,进而确定该第一租户可以进行身份切换。

  其中,上述Passport服务向控制台返回的验证本文文件,可以是子用户cookie。

  步骤S208,第一租户向云平台发送身份切换请求;

  具体地,该步骤是第一租户通过上述验证,以子用户身份成功登录至云平台之后向STS服务发送的身份切换请求;

  步骤S210,STS服务提取目标角色身份的标识;基于目标角色身份的标识生成目标角色身份对应的临时身份信息并反馈给第一租户;

  在实际使用时,第一租户在进行身份切换时,可以有多个角色身份可以切换,因此,上述身份切换请求中通常都携带有目标角色身份的标识,以便于确定客户端具体要切换到哪个角色身份。具体地,第一租户在发送身份切换请求时,可以先向控制台发送查询角色身份的请求,以查询当前可切换的角色身份的数量,并选择所需的角色身份,进而向云平台发送携带有目标角色身份的标识的身份切换请求。

  其中,临时身份信息包括:密钥信息和第一安全令牌,其中,密钥信息也可以用ak/sk(密钥AccessKey/SecretKey)表示,第一安全令牌也可以用security_token表示,具体地,security_token还包括目标角色身份、目标角色身份的访问权限息,以及该临时身份信息的有效期。

  进一步,为了防止该临时身份信息被篡改,还可以在生成临时身份信息之后,提取第一安全令牌,生成该第一安全令牌的签名信息,即,生成第一安全令牌security_token的签名token_sign。

  此外,为了提高云平台的安全性,还可以对第一安全令牌信息进行加密,生成加密安全令牌;然后将包含密钥信息和加密安全令牌的临时身份信息发送至第一租户。

  步骤S212,第一租户使用密钥信息和第一安全令牌向服务器请求业务线接口;

  具体地,由于服务器中的Kop/Kop_inner服务可以提供鉴权服务,因此,第一租户请求业务线接口时,服务器的Kop/Kop_inner服务可以获取到接口请求信息,然后对第一租户的临时身份信息进行鉴权,以确定第一租户是否有访问权限。

  因此,对于云平台(或者云平台的服务器)来说,在将临时身份信息发送至第一租户之后,还可以继续接收第一租户基于该临时身份信息发送的目标业务线的接口请求信息;提取接口请求信息中携带的临时身份信息的第二安全令牌;对第二安全令牌进行验证;如果验证通过,则确定第一租户登录的临时身份对目标业务线有访问权限。

  具体地,此时对第二安全令牌进行验证的过程是在上述Kop/Kop_inner服务中进行,如果验证通过,则继续执行下述步骤。

  步骤S214,Kop/Kop_inner服务向业务线请求业务线服务。

  步骤S216,业务线向第一租户返回相应结果。

  进一步,如果第一租户收到的是加密安全令牌,上述步骤S212中,第一租户请求业务线接口时,使用的也是加密安全令牌,并且,为了与上述云平台侧生成的第一安全令牌进行区分,以第一租户请求业务线接口时使用的安全令牌为第二安全令牌为例进行说明,具体地,如果第一租户请求业务线接口时使用的是加密安全令牌,则Kop/Kop_inner服务在提取第二安全令牌进行验证时,提取的是接口请求信息中携带的临时身份信息的加密第二安全令牌,验证时,需对该加密第二安全令牌进行解密,得到第二安全令牌;然后再获取云平台侧生成的第一安全令牌的签名信息,根据第一安全令牌的签名信息对第二安全令牌进行验证;如果第一安全令牌与第二安全令牌匹配,则确定第二安全令牌验证通过。

  上述Kop/Kop_inner服务对加密第二安全令牌进行解密,验证第一安全令牌的签名信息进而对第一租户的身份信息进行确定的过程,能够验证当前第一租户登录的临时身份信息的权限,以便于确认第一租户对目标业务线有访问权限之后,便于第一租户对目标业务线进行访问和控制。

  进一步,在云平台确定第一租户登录的临时身份对目标业务线有访问权限之后,云平台还可以创建代表目标角色身份的子用户信息,该子用户包括子用户ID、前述密钥信息和第一安全令牌;然后将子用户信息存储至预设的缓存区;当监测到缓存区写入成功后,则可以确定第一租户当前身份为目标角色身份,此时则完成了第一租户由子用户身份向目标角色身份的切换过程,使第一租户实现了跨账号登录云平台的目的。

  具体地,上述云平台创建代表目标角色身份的子用户信息的过程相当于是创建了一种特殊子用户身份,该特殊子用户身份包括子用户ID、密钥信息和第一安全令牌等等,以便于第一租户切换至该特殊子用户身份对目标业务线进行访问和控制。

  其中,特殊子用户信息一般包括,spec_user_id和spec_user_info,即,目标角色身份的标识,以记录当前第一租户想到切换到哪种角色身份,该特殊子用户信息还包括上述临时身份信息,即,临时ak/sk和security_token。

  进一步,上述将子用户信息存储至预设的缓存区的过程,实际是控制台实现的,具体地,控制台把上述特殊子用户信息写入预设的缓存;缓存服务向控制台返回缓存成功信息;此时,控制台可以请求Passport服务获取上述目标角色身份的文本文件;如,前述步骤中的子用户cookie;然后Passport服务向控制台返回目标角色身份的文本文件,并将客户端的登录身份切换到该目标角色身份。

  进一步,当客户端通过图2所示的过程切换至目标角色身份后,可以以目标角色身份进行云产品业务线的管控操作,当租户不需要使用目标角色身份时,还可以从目标角色身份切换回原来的登录身份,即,子用户身份。

  进一步,租户在对云资源进行管控时,可以向云平台发送资源管控请求,具体地,该资源管控请求是第一租户以目标角色身份发送的,此时,云平台可以接收该第一租户以目标角色身份发送的资源管控请求;获取上述缓存区中目标角色身份的子用户信息;根据缓存区中目标角色身份的子用户信息对第一租户对应的目标角色身份进行鉴权;如果鉴权通过,则获取资源管控请求对应的业务线接口,以使第一租户通过业务线接口对业务线的资源进行管控。

  为了便于理解,在图2的基础上,图3还示出了另一种基于云平台的跨账号登录的交互示意图,对客户端进行云资源的管控过程进行说明,如图3所示,包括以下步骤:

  步骤S302,第一租户以目标角色身份登录至控制台,并发送资源管控请求;

  步骤S304,控制台请求Passport服务获取第一租户的角色信息;

  具体地,该步骤中,获取的是当前第一租户登录的身份信息。

  步骤S306,Passport服务向控制台返回子用户格式的角色信息;

  具体地,该子用户格式的角色信息包括:type,表示当前身份是子用户;user[id],至当前第一租户的客户端的账号id,即account_id;IAM_user[id],代表角色的子用户id,即,前述的spec_user_id;

  步骤S308,控制台使用account_id和spec_user_id请求Kop/Kop_inner服务进行鉴权;

  步骤S310,Kop/Kop_inner服务从预设的所述缓存区中提取临时身份信息,进行鉴权;

  具体地,是从缓存区中获取目标角色身份的子用户信息,包括ak/sk和security_token,并使用security_token进行鉴权;鉴权通过,则请求业务线接口,业务线返回响应给控制台,此时第一租户的客户端可以继续执行下述过程;

  步骤S312,第一租户以目标角色身份在控制台对云资源进行管控;

  步骤S314,IAM服务向第一租户的客户端返回客户端当前角色身份可见的项目信息。

  进一步,如果上述管控操作为对目标业务线的云资源的购买操作,则可以调用订单服务,通过订单服务请求对第一租户进行角色鉴权。

  具体地,如果上述资源管控请求为对目标业务线的云资源的购买请求,则调用订单服务,通过订单服务请求对第一租户对应的目标角色身份进行鉴权;如果鉴权通过,则获取订单服务的业务线接口,以使第一租户对目标业务线进行购买。

  具体实现时,第一租户以对应的角色身份在控制台购买云资源时,实际也是对云资源进行管控的过程,因此,云平台的服务器可以获取客户端当前的身份信息,并请求订单服务进行下单。

  具体地,图4示出了另一种基于云平台的跨账号登录的交互示意图,对云资源的购买操作进行说明,如图4所示,包括以下步骤:

  步骤S402,控制台接收第一租户发送的对目标业务线的云资源的购买请求;

  步骤S404,控制台调用订单服务的下单接口;

  步骤S406,订单服务使用account_id和spec_user_id请求Kop/Kop_inner服务对第一租户进行角色鉴权;

  步骤S408,如果Kop/Kop_inner服务判断当前是符合的角色身份,则从缓存服务获取临时ak/sk、security_token,并使用security_token对客户端进行鉴权;

  步骤S410,鉴权通过,订单服务返回控制台,并提示第一租户下单成功。

  由上述图2~图4的过程可知,上述对云平台资源的访问,以及对第一租户的鉴权过程,都是在云平台一侧实现的,因此,在云产品的各个业务线上无需开发鉴权和验证功能,即,在开发业务线时,仅仅开发业务外自身的业务功能即可,无需开发业务线的对接功能,而对角色的鉴权和验证的过程,可以在云平台一侧实现,即,在云平台一侧执行本发明实施例提供的基于云平台的跨账号登录方法,可以实现租户的鉴权和验证,并进行角色信息的传递,有效降低了业务线的开发和应用成本。

  在上述实施方式的基础上,本发明实施例还提供了一种基于云平台的跨账号登录装置,应用于云平台,如图5所示的一种基于云平台的跨账号登录装置的结构示意图,该装置包括:

  接收模块50,用于接收第一租户发送的身份切换请求,其中,所述身份切换请求为所述第一租户以子用户身份登录所述云平台之后发送的;所述身份切换请求中携带有目标角色身份的标识;所述目标角色身份为第二租户预先创建的对所述云平台有预设的访问权限的角色身份;

  提取模块52,用于提取所述目标角色身份的标识,基于所述目标角色身份的标识生成所述目标角色身份对应的临时身份信息;

  登录模块54,用于将所述临时身份信息发送至所述第一租户,以使所述第一租户根据所述临时身份信息登录至所述目标角色身份对应的账号。

  本发明实施例提供的基于云平台的跨账号登录装置,与上述实施例提供的基于云平台的跨账号登录方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。

  进一步,本发明实施例还提供了一种服务器,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述图1~图4所示的方法。

  进一步,本发明实施例还提供了一种服务器的结构示意图,如图6所示,为该服务器的结构示意图,其中,该服务器包括处理器101和存储器100,该存储器100存储有能够被该处理器101执行的计算机可执行指令,该处理器101执行该计算机可执行指令以实现上述基于云平台的跨账号登录方法。

  在图6示出的实施方式中,该服务器还包括总线102和通信接口103,其中,处理器101、通信接口103和存储器100通过总线102连接。

  其中,存储器100可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA(IndustryStandard Architecture,工业标准体系结构)总线、PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线102可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

  处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器101读取存储器中的信息,结合其硬件完成前述实施例的基于云平台的跨账号登录方法。

  本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述基于云平台的跨账号登录方法。

  本发明实施例所提供的基于云平台的跨账号登录方法、装置及服务器的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

  所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

  另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

  所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

  在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

  最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

《基于云平台的跨账号登录方法、装置及服务器.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)