一种向openstack同步用户权限的方法和服务器与流程

文档序号:15846791发布日期:2018-11-07 09:11阅读:473来源:国知局
一种向openstack同步用户权限的方法和服务器与流程

本发明实施例涉及云管理技术,尤指一种向openstack同步用户权限的方法和服务器。

背景技术

openstack作为知名的云计算管理平台,功能强大,已被各个云计算厂商融合到自己的云数据中心管理平台中。云计算厂商开发出自己的云数据中心管理平台,然后集成openstack,调用openstack接口读取并管理openstack里面的计算、存储、网络等资源,这是当下很多云计算管理平台的解决方案。同时,云平台中会创建许多账户,供管理员和租户使用。但是这样做会有问题,由于云平台自身具有自己的用户权限管理系统,如果同步过来的用户仅仅在云平台为用户赋权而底层openstack中没有权限信息,由于openstack的权限控制,这些没有权限的用户就无法访问openstack资源信息,导致系统异常。并且当openstack底层用户权限发生变化时,云平台无法感知其变化,也会导致系统异常。



技术实现要素:

为了解决上述技术问题,本发明实施例提供了一种向openstack同步用户权限的方法和服务器,能够使得各个云计算厂商的云管理平台和openstack的用户权限数据实现同步,提高云管理平台的易用性和准确性。

为了达到本发明实施例目的,本发明实施例提供了一种向开源云计算管理平台openstack同步用户权限的方法,该方法可以包括:

建立第一云管理平台与各个openstack平台的关联关系;

选择各个openstack平台中的需要进行权限同步的用户,并建立相应的用户列表;

为用户列表中的用户选择需要同步的权限类型;其中,所选择的权限类型与第一云管理平台中相应用户的权限类型一致;

根据所选择的权限类型和所述关联关系,将不同的用户列表中各个用户的权限同步到相应的openstack平台中。

可选地,建立第一云管理平台与各个openstack平台的关联关系包括:

在第一云管理平台中设置与各个openstack平台的关联关系参数;

根据该关联关系参数建立第一云管理平台与各个openstack平台的关联关系。

可选地,关联关系参数包括:各个openstack平台的互联网协议ip地址、版本、管理员账号和密码。

可选地,选择各个openstack平台中的需要进行权限同步的用户包括:

根据不同的openstack平台选择全部相应的用户或者选择符合不同的openstack平台的预设要求的用户。

可选地,将不同的用户列表中各个用户的权限同步到相应的openstack平台中包括:

根据用户列表中每一个用户的底层身份标识id查找在openstack平台中对应的用户;

如果在openstack平台中未找到对应的用户,则确定该对应的用户在openstack平台中已删除,并修改第一云管理平台中该用户的状态为已删除;

如果在openstack平台中找到对应的用户,则根据该对应的用户的权限类型在所述openstack平台中进行用户权限同步。

可选地,权限类型包括:超级管理员和项目成员。

可选地,根据该对应的用户的权限类型在所述openstack平台中进行用户权限同步包括:

如果用户在第一云管理平台中的权限类型为超级管理员,则在openstack平台中查询该用户是否存在admin项目的admin角色,如果该用户不存在admin项目的admin角色,则为该用户赋予admin项目的admin角色;如果该用户存在admin项目的admin角色,则为下一个用户进行权限同步;

如果用户在第一云管理平台中的权限类型为项目成员,则在openstack平台中查询该用户是否存在所在项目的成员menber角色,如果该用户不存在所在项目的menber角色,则为该用户赋予所在项目的menber角色;如果该用户存在所在项目的menber角色,则为下一个用户进行权限同步。

可选地,该方法还可以包括:通过手动或定时任务的方式执行用户权限同步。

可选地,该方法还可以包括:通过定时任务的方式执行用户权限同步时,定时任务的执行时间间隔t满足:8-12分钟。

为了达到本发明实施例目的,本发明实施例还提供了一种服务器,包括处理器和计算机可读存储介质,计算机可读存储介质中存储有指令,当所述指令被所述处理器执行时,实现上述的向openstack同步用户权限的方法。

本发明实施例包括:建立第一云管理平台与各个openstack平台的关联关系;选择各个openstack平台中的需要进行权限同步的用户,并建立相应的用户列表;为用户列表中的用户选择需要同步的权限类型;其中,所选择的权限类型与第一云管理平台中相应用户的权限类型一致;根据所选择的权限类型和所述关联关系,将不同的用户列表中各个用户的权限同步到相应的openstack平台中。通过该实施例方案,使得各个云计算厂商的云管理平台和openstack的用户权限数据实现了同步,提高了云管理平台的易用性和准确性。

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

附图说明

附图用来提供对本发明实施例技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明实施例的技术方案,并不构成对本发明实施例技术方案的限制。

图1为本发明实施例的向openstack同步用户权限的方法流程图;

图2为本发明实施例的服务器组成框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

为了达到本发明实施例目的,本发明实施例提供了一种向开源云计算管理平台openstack同步用户权限的方法,如图1所示,该方法可以包括s101-s104:

s101、建立第一云管理平台与各个openstack平台的关联关系。

在本发明实施例中,所谓的用户权限主要包括各个云计算厂商的云管理平台(如上述的第一云管理平台)中的用户权限和openstac中的用户权限,而两者有着一定的对应关系。在本发明实施例中,在将两者进行同步之前,需要先建立第一云管理平台与各个openstack平台的关联关系。

可选地,建立第一云管理平台与各个openstack平台的关联关系可以包括:

在第一云管理平台中设置与各个openstack平台的关联关系参数;

根据该关联关系参数建立第一云管理平台与各个openstack平台的关联关系。

可选地,该关联关系参数可以包括:各个openstack平台的互联网协议ip地址、版本、管理员账号和密码。

在本发明实施例中,在具体实施时,可以设置第一云管理平台与openstack平台的关联关系参数,填写openstack平台的ip地址、版本,并提供管理员账号和密码进行连接。参数设置完成后,点击保存,如果信息不正确,第一云管理平台会保存失败,并给出错误信息,用户需要修改信息后再次保存。

s102、选择各个openstack平台中的需要进行权限同步的用户,并建立相应的用户列表。

在本发明实施例中,关联关系设置完成后,可以筛选出需要进行权限同步的用户,设置需要权限同步的用户列表。

可选地,选择各个openstack平台中的需要进行权限同步的用户包括:

根据不同的openstack平台选择全部相应的用户或者选择符合不同的openstack平台的预设要求的用户。

在本发明实施例中,可以预先将openstack用户全部纳入到第一云管理平台系统中,可以根据不同的openstack平台进行筛选,选择出特定的用户,即符合不同的openstack平台的预设要求的用户;也可以选择所有openstack平台的用户。可以根据选出的用户制定与各个openstack平台对应的用户列表,也可以制定统一的用户列表,在该用户列表设置完成后,点击保存。

s103、为用户列表中的用户选择需要同步的权限类型;其中,所选择的权限类型与第一云管理平台中相应用户的权限类型一致。

在本发明实施例中,第一云管理平台中目前可以有“超级管理员”和“项目成员”两大权限类型,可以默认全选,用户也可以根据自己的选择进行某种权限类型的同步。

在本发明实施例中,由于用户是在第一云管理平台中使用系统,因此以第一云管理平台中用户权限信息为基准,将不一致的内容同步到底层openstack中,使得两侧数据一致,保证系统的正常运行。

s104、根据所选择的权限类型和所述关联关系,将不同的用户列表中各个用户的权限同步到相应的openstack平台中。

可选地,该方法还可以包括:通过手动或定时任务的方式执行用户权限同步。

在本发明实施例中,前述步骤中的各种配置与选择操作完成后,可以通过手动点击预设的按钮,如“立即同步”,使得同步任务立即执行,也可以等待预设的定时任务的定时执行,通过定时任务自动同步openstack和第一云管理平台的用户权限的数据。

可选地,该方法还可以包括:通过定时任务的方式执行用户权限同步时,定时任务的执行时间间隔t满足:8-12分钟。

在本发明实施例中,第一云管理平台中可以设置定时任务,在任务管理中添加该定时任务,并建议该定时任务执行的时间间隔可以设置为10分钟。

可选地,将不同的用户列表中各个用户的权限同步到相应的openstack平台中可以包括:

根据用户列表中每一个用户的底层身份标识id查找在openstack平台中对应的用户;

如果在openstack平台中未找到对应的用户,则确定该对应的用户在openstack平台中已删除,并修改第一云管理平台中该用户的状态为已删除;

如果在openstack平台中找到对应的用户,则根据该对应的用户的权限类型在所述openstack平台中进行用户权限同步。

在本发明实施例中,可以通过手动或定时任务自动执行同步策略,并通过上述的同步算法实现openstack环境和第一云管理平台中用户权限信息的一致性。

在本发明实施例中,具体实施时,可以根据设置的用户列表进行用户权限同步,对每一个用户,根据其底层id查找在openstack环境对应的用户;如果在openstack查不到,表示底层已经删除,则将第一云管理平台中该用户的状态修改为“已删除”;如果在openstack查到了该用户,根据设置的权限类型进行同步。

可选地,该权限类型可以包括:超级管理员和项目成员。

在本发明实施例中,第一云管理平台中包含的超级管理员和项目成员(项目管理员和项目用户,他们对应的openstack底层权限相同,以方便调取接口,具体权限在第一云管理平台进行控制)可以分别对应openstack中的管理admin项目的admin角色和具体项目的成员menber角色。

可选地,根据该对应的用户的权限类型在所述openstack平台中进行用户权限同步可以包括:

如果用户在第一云管理平台中的权限类型为超级管理员,则在openstack平台中查询该用户是否存在admin项目的admin角色,如果该用户不存在admin项目的admin角色,则为该用户赋予admin项目的admin角色;如果该用户存在admin项目的admin角色,则为下一个用户进行权限同步;

如果用户在第一云管理平台中的权限类型为项目成员,则在openstack平台中查询该用户是否存在所在项目的成员menber角色,如果该用户不存在所在项目的menber角色,则为该用户赋予所在项目的menber角色;如果该用户存在所在项目的menber角色,则为下一个用户进行权限同步。

在本发明实施例中,通过上述方案,对每一个用户列表中的用户进行查询,或确认删除,或进行同步,直到完成所有用户信息的同步为止。

在本发明实施例中,通过同步openstack中的用户权限信息,实现云平台和openstack中用户权限的一致性,保证openstack接口在云平台中的可用性和可控性。

在本发明实施例中,同步完成后,在openstack中添加了对应的权限信息,用户可以根据用户列表的权限详情中看到用户的权限信息,进行接口的调用。

在本发明实施例中,在云管理平台设置定时任务,每隔一段时间执行同步策略,在该同步策略里,使用预设算法,读取openstack的用户权限信息,并与云管理平台中的用户权限相对应,基于用户id实现openstack环境和云管理平台中用户权限信息的同步,实现了云管理平台自动同步openstack用户权限的功能,实现云管理平台对openstack用户权限的统一管理,提高了云管理平台中网络资源数据的准确性,使两个平台的数据保持一致,提高云管理平台的易用性和准确性。

为了达到本发明实施例目的,本发明实施例还提供了一种服务器1,如图2所示,包括处理器11和计算机可读存储介质12,计算机可读存储介质12中存储有指令,当所述指令被所述处理器11执行时,实现上述的向openstack同步用户权限的方法。

本发明实施例包括:建立第一云管理平台与各个openstack平台的关联关系;选择各个openstack平台中的需要进行权限同步的用户,并建立相应的用户列表;为用户列表中的用户选择需要同步的权限类型;其中,所选择的权限类型与第一云管理平台中相应用户的权限类型一致;根据所选择的权限类型和所述关联关系,将不同的用户列表中各个用户的权限同步到相应的openstack平台中。通过该实施例方案,使得各个云计算厂商的云管理平台和openstack的用户权限数据实现了同步,提高了云管理平台的易用性和准确性。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1