云平台的访问方法和装置
技术领域
本发明涉及计算机领域,并且特别地,涉及一种云平台的访问方法和装置。
背景技术
云计算操作系统是针对云计算中心的各类物理、虚拟资源进行统一地部署、监控和管理的信息管理系统。在云计算环境中,云平台需要与许多的第三方系统进行对接和交互。目前各大主流的云平台都提供了基于HTTP的WebService接口,以供其他系统调用和接入云平台。云平台的开放性要求其对外要提供多种多样功能的接口供其他系统使用。目前HTTP协议是最普遍,应用最广泛的协议之一,同时由于WebService接口的平台无关性,可以支持和兼容更多的第三方系统,因此,主流的云平台都提供基于HTTP协议的WebService接口。
然而,由于HTTP协议在安全方面的薄弱性,以及WebService接口的开放性(需要公开接口的服务地址、接口名称、返回结果,以及各个参数的意义,以便于大家了解接口的功能和意义),因此,在实际应用时,就导致了WebService接口在访问控制上面临着问题和威胁。如果不暴露接口,那么就无法和其他系统进行通信和交互;如果不合理的控制对接口的安全访问,那么就会导致大量的非法访问,轻则造成系统数据不一致、系统运行异常,重则导致系统资源浪费、系统数据的泄露,严重威胁系统的运行安全。
因此,为了避免云平台成为信息孤岛,同时达到云平台对于提高资源利用率、实现资源共享、弹性可伸缩的目标,所以既要保留系统对外提供的WebService接口,同时还要保证这些接口合理、安全的使用。
然而,目前大部分云平台对所提供的WebService接口并没有设置安全机制,对于接口的调用没有进行安全控制。只要知道了WebService的发布地址和接口名称,即可以连接系统,使用接口。这种使用方法必然会对系统带来严重的安全问题,同时造成云平台的资源浪费。
而少部分的云平台对于WebService的调用只是进行了简单的安全验证,比如,在基于SOAP协议的WebService中,一般采用在SOAP Header部分发送用户名和密码,云平台接收到请求后,首先会验证头部的用户名和密码是否正确,如果正确,则允许这次请求调用后台接口,否则返回验证错误。这种方式虽然在一定程度上可以避免和拒绝一些恶意的访问,但是依然有以下缺陷:
1)由于用户名和密码是在请求前就商量好的,不易于动态修改。如果需要修改的话,则需要修改程序或配置文件;
2)用户名和密码在传输时使用明文传输,容易被截获;
3)由于无法验证请求是否来自于云平台的用户,因此无法避免系统外用户的恶意访问,造成云平台资源的浪费.
针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的上述技术问题,本发明提出一种云平台的访问方法和装置,能够提高云平台的安全性,避免云平台遭受非法用户的恶意访问,降低云平台的资源浪费。
本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种云平台的访问方法。
该云平台的访问方法包括:
在请求访问云平台的情况下,根据用户的请求参数生成访问标识;
向云平台发送访问标识,根据预先存储的对应每个用户的用户信息验证访问标识;
在访问标识通过验证的情况下,允许该用户访问云平台。
其中,请求参数包括组织ID和/或用户ID。
其中,在根据用户的请求参数生成访问标识时,可判断用户的请求参数是否包含原始访问标识。
并且,在根据用户的请求参数生成访问标识时,还可在用户的请求参数包含原始访问标识的情况下,判断该原始访问标识是否有效;并在原始访问标识有效的情况下,验证原始访问标识与用户的请求参数中包括的组织ID和/或用户ID是否匹配;同时在原始访问标识与用户的请求参数中包括的组织ID和/或用户ID匹配的情况下,返回用户的原始访问标识作为访问标识。
此外,在根据用户的请求参数生成访问标识时,也可在用户的请求参数不包括原始访问标识的情况下,根据用户的请求参数中的组织ID和/或用户ID生成新访问标识。
根据本发明的另一个方面,提供了一种云平台的访问装置。
该云平台的访问装置包括:
生成模块,用于在请求访问云平台的情况下,根据用户的请求参数生成访问标识;
验证模块,用于向云平台发送访问标识,根据预先存储的对应每个用户的用户信息验证访问标识;
访问模块,用于在访问标识通过验证的情况下,允许该用户访问云平台。
其中,请求参数包括组织ID和/或用户ID。
其中,生成模块包括:第一判断模块,用于判断用户的请求参数是否包含原始访问标识。
并且,生成模块还包括:第二判断模块,用于在用户的请求参数包含原始访问标识的情况下,判断原始访问标识是否有效;验证子模块,用于在原始访问标识有效的情况下,验证原始访问标识与用户的请求参数中包含的组织ID和/或用户ID是否匹配;第一生成子模块,用于在原始访问标识与用户的请求参数中包括的组织ID和/或用户ID匹配的情况下,返回用户的原始访问标识作为访问标识。
此外,生成模块也可以包括:第二生成子模块,用于在用户的请求参数不包括原始访问标识的情况下,根据用户的请求参数中的组织ID和/或用户ID生成新访问标识。
本发明通过根据用户的请求参数生成访问标识,并通过预先存储的用户信息对该访问标识进行验证,确保只有该访问标识通过验证的情况下,才能允许用户访问云平台,从而有效的提高了云平台的安全机制,避免了非法用户对云平台进行恶意访问,降低了云平台的资源浪费。
此外,本发明由于是通过根据用户的请求参数生成的访问标识来进行验证的,从而避免了验证用户的用户名和密码所带来的麻烦,也避免了用户的用户名和密码被非法获取的现象发生,进而进一步的提高了云平台的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的云平台的访问方法的流程图;
图2是根据本发明实施例的云平台访问时的原理示意图;
图3是根据本发明实施例的访问标识生成时的流程示意图;
图4是根据本发明实施例的访问标识验证时的流程示意图;
图5是根据本发明实施例的云平台的访问装置的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的实施例,提供了一种云平台的访问方法。
如图1所示,根据本发明实施例的云平台的访问方法包括:
步骤S101,在请求访问云平台的情况下,根据用户的请求参数生成访问标识;
步骤S103,向云平台发送访问标识,根据预先存储的对应每个用户的用户信息验证访问标识;
步骤S105,在访问标识通过验证的情况下,允许该用户访问云平台。
其中,请求参数包括组织ID和/或用户ID。
其中,在根据用户的请求参数生成访问标识时,可判断用户的请求参数是否包含原始访问标识。
并且,在根据用户的请求参数生成访问标识时,还可在用户的请求参数包含原始访问标识的情况下,判断该原始访问标识是否有效;并在原始访问标识有效的情况下,验证原始访问标识与用户的请求参数中包括的组织ID和/或用户ID是否匹配;同时在原始访问标识与用户的请求参数中包括的组织ID和/或用户ID匹配的情况下,返回用户的原始访问标识作为访问标识。
此外,在根据用户的请求参数生成访问标识时,也可在用户的请求参数不包括原始访问标识的情况下,根据用户的请求参数中的组织ID和/或用户ID生成新访问标识。
下面结合具体实例对本发明的上述技术方案进行详细说明。
图2是云平台访问时的原理示意图,从图2中可以看出,在实际应用时,本发明的上述技术方案的具体流程如下:
客户端在发起WebService调用时,首先从验证服务器获取请求Token(即访问标识,包含了用户信息和验证码);验证服务器收到客户端请求后,根据客户请求中携带的用户信息和参数,为用户生成请求Token,并返回给客户端;客户端收到验证服务器发来的Token后,再向云平台发送WebService调用请求,这个请求中会包含用户信息、Token等请求参数;云平台的WebService接收模块在收到WebService请求后,不是直接调用后台的功能模块,而是先去验证服务器,验证用户请求中的用户信息和Token是否是合法的;如果是合法的,WebService接收模块允许请求继续访问,调用后台功能模块,返回方法处理结果;否则拒绝用户请求,返回错误提示。
在本发明中,验证服务器是控制中心,负责对WebService接口的访问控制。在验证服务器中,会记录云平台中的所有组织和用户信息。对于接入云平台的第三方应用,云平台也会将其作为系统的一类特殊用户,验证服务器中登记注册。
在验证服务器上,生成请求Token的过程图3所示,从图3中可以看出,首先客户端发起获取Token的请求,然后判断客户端是否已有Token,如果有,则将Token加入到请求参数中,并将组织ID、用户ID加入到请求参数中,如果没有,则直接将组织ID、用户ID加入到请求参数中,在在相关信息加入到请求参数后,发送Token请求到验证服务器,由验证服务器判断该组织和用户是否合法,而如果合法,则判断参数中是否有有效的Token,而如果不合法,则直接返回客户端错误提示,在此情况下,如果参数中有有效的Token,则将有效的Token返回给客户端,而如果没有,则调用Token生成器,根据组织ID、用户ID生成新的Token,并将生成的新Token返回给客户端。
而云平台在接收到WebService请求后,则需要对Token进行验证,验证的过程如图4所示,从图4中可以看出,云平台首先会发送验证请求至验证服务器,验证服务器解析请求,获取组织ID、用户ID,并判断组织ID、用户ID是否合法,如果不合法,则说明验证失败,访问认证失败信息,拒绝WebService请请求,并提示用户;如果合法,则再次解析请求,获取请求中的Req-Token,并在获取后,调用Token生成器,根据组织ID、用户ID生成Resp-Token,并判断Req-Token是否等于Resp-Token,如果不相同,则同样说明验证失败,返回认证失败信息,拒绝WebService请请求,并提示用户;而如果相同,则说明验证通过,返回认证成功信息,允许WebService请请求,并调用相关后台执行后续操作。
由此可见,通过本发明的上述方案,能够增强和提高WebService接口的安全性。取包只有云平台内部(合法)的用户进行调用,避免对云平台的恶意访问和资源的浪费,同时也统一了对WebService请求的授权和验证方法。
根据本发明的实施例,提供了一种云平台的访问装置。
如图5所示,根据本发明实施例的云平台的访问装置包括:
生成模块51,用于在请求访问云平台的情况下,根据用户的请求参数生成访问标识;
验证模块52,用于向云平台发送访问标识,根据预先存储的对应每个用户的用户信息验证访问标识;
访问模块53,用于在访问标识通过验证的情况下,允许该用户访问云平台。
其中,请求参数包括组织ID和/或用户ID。
其中,生成模块包括:第一判断模块(未示出),用于判断用户的请求参数是否包含原始访问标识。
并且,生成模块还包括:第二判断模块(未示出),用于在用户的请求参数包含原始访问标识的情况下,判断原始访问标识是否有效;验证子模块(未示出),用于在原始访问标识有效的情况下,验证原始访问标识与用户的请求参数中包含的组织ID和/或用户ID是否匹配;第一生成子模块(未示出),用于在原始访问标识与用户的请求参数中包括的组织ID和/或用户ID匹配的情况下,返回用户的原始访问标识作为访问标识。
此外,生成模块也可以包括:第二生成子模块(未示出),用于在用户的请求参数不包括原始访问标识的情况下,根据用户的请求参数中的组织ID和/或用户ID生成新访问标识。
综上所述,借助于本发明的上述技术方案,本发明通过根据用户的请求参数生成访问标识,并通过预先存储的用户信息对该访问标识进行验证,确保只有该访问标识通过验证的情况下,才能允许用户访问云平台,从而有效的提高了云平台的安全机制,避免了非法用户对云平台进行恶意访问,降低了云平台的资源浪费。
此外,本发明由于是通过根据用户的请求参数生成的访问标识来进行验证的,从而避免了验证用户的用户名和密码所带来的麻烦,也避免了用户的用户名和密码被非法获取的现象发生,进而进一步的提高了云平台的安全性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。