一种基于OpenStack的用户管理方法及管理系统技术方案

技术编号:37441495 阅读:17 留言:0更新日期:2023-05-06 09:13
本发明专利技术提供了一种基于OpenStack的用户管理方法及其管理系统,涉及计算机权限管理和访问控制技术领域,基于OpenStack云平台中的Keystone组件,在Keystone组件的服务模块中增加组织管理模块和用户管理模块,采用LDAP目录服务器作为后端驱动,接收来自Keystone路由发送的指令,并分别完成组织管理操作和用户管理操作。搭建LDAP目录服务器,定制混合认证后端;用户以用户名登录方式开启LDAP服务,进行组织管理操作和用户管理操作。该用户管理方法及管理系统,利用LDAP目录服务器,对于整个用户和组织机构实行树形层级结构管理,更细粒度的对用户进行管理。用户进行管理。用户进行管理。

【技术实现步骤摘要】
一种基于OpenStack的用户管理方法及管理系统


[0001]本专利技术属于计算机权限管理和访问控制
,特别是涉及一种基于OpenStack的用户管理方法及管理系统。

技术介绍

[0002]云计算(cloud computing)是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。简单理解,云计算就资源池化、资源可循环利用的过程。其中OpenStack是一种常见的用于提供实施简单、可大规模扩展、丰富、标准统一的云计算平台。OpenStack作为当下热门的云计算管理平台,既可以构建小规模的私有云,也可以部署大规模的公有云,并且OpenStack架构有灵活的扩展性,越来越多的企业、公司、个人均在学习、使用和研究OpenStack架构。其中信息安全做为云计算中很重要的一点,一直是云计算中备受关注的部分。
[0003]安全有效的用户身份管理和访问控制是计算平台中非常重要的环节。在云计算中用户管理和认证,资源访问控制,要高效,安全,易用。OpenStack的Keystone就是通过访问控制规则来实现基于角色的访问控制策略。它在OpenStack的服务中担任身份认证和身份授权的工作,实时的跟踪用户和更新用户的权限,并且提供可靠的服务和API。
[0004]Keystone组件在整个OpenStack架构中的功能类似于服务总线,多数组件的服务都要通过在Keystone组件的注册来获得服务对外的统一资源定位系统(URL),也就是服务端点,这些服务的使用都是要先经过Keystone的认证,然后获得服务的访问点进行访问操作。
[0005]下面详细介绍在Keystone中和认证权限相关的重要概念。
[0006]用户(User):对OpenStack中资源或者服务进行访问操作,一般是个人,系统或者OpenStack中的服务,Keystone组件会根据特定的验证信息判断访问申请的合法性,通过验证的用户会得到一个Token令牌。
[0007]租户(Tenant):可以看成是各种服务的资源集合,是各种很宽泛的概念。通常情况下,用户,租户,还有角色都是有关联关系的。在用户访问租户资源之前,一定要和租户进行关联,并且要求确定在这个租户中该用户的角色。
[0008]角色(Role):不同的角色会被赋予不同的权限,也就决定了在进行访问控制时,被授予角色的用户对资源的访问操作权限。
[0009]服务(Service):像Nova,Glance,Swift,Cinder这些都是服务的集合,Nova在OpenStack环境中提供计算服务,负责计算实例(VM,云主机)生命周期的管理,包括生成、调度和回收。Cinder为计算实例提供块存储资源,对接后端的块存储资源。Swift对象存储负责存储非结构化数据,存储镜像。Glance:负责管理镜像的存储,提供镜像检索服务。用户通过他们对外的服务端点来进行访问操作,但是前提是要先判断是否有权限。
[0010]服务端点(Endpoint):指的就是具体服务的URL地址,可以说它就是服务的入口,
在OpenStack中URL有三种属性Public,Admin和Internal,分别表示全局类型的服务端点,仅供管理员使用的服务端点和内部服务端点。
[0011]凭证(Credentials):类似人的身份证。提供认证的凭据,可以是用户名和密码,也可以是用户名和应用程序编程接口(API)秘钥,或者是Token令牌。
[0012]Keystone作为OpenStack中独立提供安全认证的组件,主要负责OpenStack中Token令牌颁发,用户的身份验证(验证用户名密码),为系统组件之间交互提供资源服务目录,以及服务端点的注册,判断用户是否有某些资源访问权限。用户操作是通过API最终由关系型数据库MySQL来管理的。如此一来,用户的信息需要设置很多数据库表,多级进行保存。在对用户信息进行查询的时候需要一级一级查询来获得最终结果。在云计算分布式这样的应用场景下,对庞大数量的用户进行查询或者认证的操作,对于多级保存的表结构而言,效率相对低一些,并且作为用户管理和认证的模块,更新操作不是很频繁,但是查询操作的工作量确实非常大的,那么关系型数据库作为用户管理系统的后台数据库,效率会出现些问题,那么需要寻求一种更加适合的后台数据存储。
[0013]LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)是一种实现提供被称为目录服务的信息服务。目录服务是一种特殊的数据库系统,其专门针对读取、浏览和搜索操作进行了特定的优化。目录一般用来整理描述性的、基于属性的信息并支持精细复杂的过滤能力。目录服务的更新则一般都非常简单。这种目录可以存储包括个人信息、网站链接、图像等各种信息。为了访问存储在目录中的信息,就需要使用运行在TCP/IP之上的访问协议—LDAP。
[0014]LDAP目录中的信息是按照树型结构组织,具体信息存储在条目(entry)的数据结构中。条目相当于关系数据库中表的记录;条目是具有区别名DN(Distinguished Name)的属性(Attribute),其中,DN当于关系数据库表中的关键字(Primary Key),是用来引用条目的。属性由类型(Type)和一个或多个值(Values)组成,相当于关系数据库中的字段(Field)由字段名和数据类型组成,为了方便检索的需要,LDAP中的一个类型可以有多个值,而不是关系数据库中为降低数据的冗余性要求实现的各个域必须是不相关的。LDAP中条目的组织一般按照地理位置和组织关系进行组织,非常的直观。LDAP把数据存放在文件中,为提高效率常使用基于索引的文件数据库。
[0015]基于对LDAP目录服务特点的分析和Keystone中原有的用户管理的系统后台数据库的分析,我们发现以下几个问题:
[0016](1)在OpenStack的Keystone组件中,原有的简单层次化用户和租户之间的关系,不适用于处理复杂的用户和用户组织关系的情况,我们需要更加细粒度化的用户管理机制。
[0017](2)OpenStack的用户管理模块的后台存储默认是MySQL,关系型数据库的特点是读操作和写操作的频率是几乎对等的,在访问量增大的情况下,访问速度会减慢,在实际应用场景下,用户管理中查询操作频繁,但是更新操作的频率不高,使用关系型数据库并不能发挥其优点。
[0018](3)OpenStack的认证是基于用户名和密码的验证,并且是明文传输,传输是基于HTTP协议,没有很好的安全机制对传输的用户名密码进行保护,在传输过程中有被截获的风险,云平台中的系统资源会受到威胁。
[0019]因此,需要对现有的管理系统进行改进,更细粒度的对用户进行管理,增加系统的整体安全性。

技术实现思路

[0020]基于以上问题,本专利技术公开了一种基于Op本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于OpenStack的用户管理方法,基于OpenStack云平台中的Keystone组件,其特征在于:在所述Keystone组件的服务模块中增加组织管理模块和用户管理模块,所述组织管理模块和所述用户管理模块采用LDAP目录服务器作为后台驱动及后端数据库,接收来自Keystone组件发送的指令,并分别完成组织管理操作和用户管理操作;所述LDAP目录服务器搭载在所述Keystone组件的方式为:配置OpenLDAP服务并测试配置文件是否正确;启动LDAP服务;搭建LDAP目录服务器并建立基础目录结构,构建LDAP认证后端,基于当前Keystone组件的SQL认证后端和LDAP认证后端定制混合认证后端;定义用户,所述用户包括系统服务用户、管理员用户和普通用户,且所述系统服务用户和所述管理员用户以用户名登录方式开启LDAP服务,进行组织管理操作和用户管理操作。2.根据权利要求1中所述的一种基于OpenStack的用户管理方法,其特征在于:定制混合认证后端的方法为:定义服务账号列表,所述服务账号列表中包含所述系统服务用户和所述管理员用户,以所述的SQL认证后端为基础,所述服务帐号列表中的用户通过SQL验证后端进行本地认证;所述普通用户以所述LDAP目录服务器为基础,仅利用所述LDAP认证后端中的密码认证服务,实现仅通过LDAP服务进行普通用户的密码认证功能。3.根据权利要求2中所述的一种基于OpenStack的用户管理方法,其特征在于:所述混合认证后端的认证过程为:用户登录,混合认证后端通过所述SQL认证后端查询该用户是否存在;若存在,则查询该用户是否属于服务账号列表;若属于服务账号列表,则通过SQL认证后端进行密码认证,认证成功则继续通过SQL认证后端进行进行组织管理操作和用户管理操作,若不属于服务账号列表,则判断其为普通用户,通过LDAP认证后端进行密码认证,认证成功则继续通过SQL认证后端进行普通操作。4.根据权利要求1中所述的一种基于OpenStack的用户管理方法,其特征在于:所述LDAP目录服务器配置有TLS服务认证进行加密;所述LDAP目录服务器包括目录缓存模块和候选缓冲模块;所述目录缓存模块包括用于访问对象及候选目录的二叉指导树...

【专利技术属性】
技术研发人员:陈敬峰张文化
申请(专利权)人:广东德研智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1