CN116015651A - 密钥自动管理方法、装置、电子设备及存储介质 - Google Patents
密钥自动管理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116015651A CN116015651A CN202211733365.6A CN202211733365A CN116015651A CN 116015651 A CN116015651 A CN 116015651A CN 202211733365 A CN202211733365 A CN 202211733365A CN 116015651 A CN116015651 A CN 116015651A
- Authority
- CN
- China
- Prior art keywords
- key
- distributed storage
- user
- management
- storage system
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种密钥自动管理方法、装置、电子设备及存储介质,所述方法包括:在接收到分布式存储***集群部署指令的情况下,调用分布式存储编排***,由分布式存储编排***部署分布式存储***集群。调用密钥管理器,由密钥管理器在分布式存储***集群的部署进度达到指定进度的情况下,获取密钥生成信息,并基于密钥生成信息生成第一用户密钥;密钥生成信息是生成第一用户密钥所需的信息。将第一用户密钥存储至容器编排平台。这样,可以减轻管理员的工作量,降低人工成本,提高密钥生成以及存储的效率,进而提高整体部署效率和管理效率。
Description
技术领域
本发明涉及云计算存储和密钥技术领域,特别是涉及一种密钥自动管理方法、装置、电子设备及存储介质。
背景技术
分布式存储***具有高性能、高可用性、高扩展性的优点,已得到了众多云计算厂商的支持并被广泛应用。在完成分布式存储***集群的部署后,为了防止数据在网络传输中被篡改,分布式存储***使用加密认证协议进行身份验证,该验证方法使用分布式存储***密钥进行验证。
分布式存储***密钥可以包括由分布式存储编排***设置的分布式存储***之前交互的密钥、分布式存储***的控制节点与管理员之间的管理员密钥以及分布式存储***的控制节点与用户之间的用户密钥。针对用户密钥,现有技术中,用户密钥的配置需要管理员在部署完成分布式存储***集群后手动执行命令,手动为分布式存储***的客户端(client)用户生成用户密钥,再通过另一种标记语言比如yaml文件将用户密钥导入容器编排平台中,由容器编排平台存储该用户密钥。然而,这种手动生成用户密钥并存储的方式中,人工成本较高且密钥生成及存储的效率较低。
发明内容
鉴于上述问题,提供一种克服上述问题或者至少部分地解决上述问题的密钥自动管理方法、装置、电子设备及存储介质。
为了解决上述问题,本发明公开了一种密钥自动管理方法,所述方法包括:
在接收到分布式存储***集群部署指令的情况下,调用分布式存储编排***,由所述分布式存储编排***部署分布式存储***集群;
调用密钥管理器,由所述密钥管理器在所述分布式存储***集群的部署进度达到指定进度的情况下,获取密钥生成信息,并基于所述密钥生成信息生成第一用户密钥;所述密钥生成信息是生成所述第一用户密钥所需的信息;
将所述第一用户密钥存储至容器编排平台。
可选地,所述指定进度为所述分布式存储***集群中控制节点完成启动;
所述由所述密钥管理器在所述分布式存储***集群的部署进度达到指定进度的情况下,获取密钥生成信息,包括:
由所述密钥管理器轮询所述分布式存储编排***中的指定工具,以检测所述指定工具中是否存在管理IP地址;所述管理IP地址是所述控制节点的IP地址,所述管理IP地址是所述控制节点在已完成启动的情况下发送给所述指定工具的;
在所述指定工具中存在管理IP地址的情况下,获取所述密钥生成信息。
可选地,所述在所述指定工具中存在管理IP地址的情况下,获取所述密钥生成信息,包括:
在所述指定工具中存在管理IP地址的情况下,从所述指定工具中获取所述管理IP地址,以及,从所述分布式存储编排***中获取所述分布式存储***集群的存储池名称、第一用户的用户信息以及管理员密钥。
可选地,所述指定进度为所述分布式存储***集群完成部署;
所述由所述密钥管理器在所述分布式存储***集群的部署进度达到指定进度的情况下,获取密钥生成信息,包括:
由所述密钥管理器在检测到所述分布式存储***集群已完成部署的情况下,从指定位置中获取所述第一配置文件,得到所述密钥生成信息;
其中,所述第一配置文件是预先生成并存储至所述指定位置的。
可选地,所述方法还包括:
由所述分布式存储编排***获取管理员密钥,以及,从接收到的配置指令中提取所述分布式存储***集群的存储池名称以及第一用户的用户信息;
根据所述管理员密钥、所述存储池名称、所述第一用户的用户信息以及所述分布式存储编排***的指定工具中接收到的管理IP地址,生成所述第一配置文件,并将所述第一配置文件存储至所述指定位置;所述管理IP地址是所述分布式存储***集群中控制节点的IP地址,所述管理IP地址是所述控制节点在已完成启动的情况下发送的。
可选地,所述方法还包括:
由所述密钥管理器接收管理终端发送的第二用户的用户信息以及所述分布式存储***集群的存储池名称;
由所述密钥管理器从获取到的所述密钥生成信息中获取所述管理员密钥以及所述管理IP地址;
由所述密钥管理器根据所述第二用户的用户信息、所述分布式存储***集群的存储池名称、所述管理员密钥以及所述管理IP地址,生成第二用户密钥;
将所述第二用户密钥存储至所述容器编排平台。
可选地,所述将所述第一用户密钥存储至容器编排平台,包括:
根据所述第一用户的用户信息和所述第一用户密钥,生成第二配置文件;
调用预设的应用程序接口,由所述应用程序接口将所述第二配置文件加载到所述容器编排平台中,以通过所述容器编排平台存储所述第二配置文件。
本发明实施例还提供了一种密钥自动管理装置,所述装置包括:
部署模块,用于在接收到分布式存储***集群部署指令的情况下,调用分布式存储编排***,由所述分布式存储编排***部署分布式存储***集群;
密钥生成模块,用于调用密钥管理器,由所述密钥管理器在所述分布式存储***集群的部署进度达到指定进度的情况下,获取密钥生成信息,并基于所述密钥生成信息生成第一用户密钥;所述密钥生成信息是生成所述第一用户密钥所需的信息;
第一密钥存储模块,用于将所述第一用户密钥存储至容器编排平台。
本发明实施例还提供了一种电子设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如本发明实施例任一所述的密钥自动管理方法。
本发明实施例还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如本发明实施例任一所述的密钥自动管理方法。
可选地,所述指定进度为所述分布式存储***集群完成部署;
所述密钥生成模块,具体用于:
由所述密钥管理器在检测到所述分布式存储***集群已完成部署的情况下,从指定位置中获取所述第一配置文件,得到所述密钥生成信息;
其中,所述第一配置文件是预先生成并存储至所述指定位置的。
可选地,所述装置还包括:
第一获取模块,用于由所述分布式存储编排***获取管理员密钥,以及,从接收到的配置指令中提取所述分布式存储***集群的存储池名称以及第一用户的用户信息;
第一生成模块,用于根据所述管理员密钥、所述存储池名称、所述第一用户的用户信息以及所述分布式存储编排***的指定工具中接收到的管理IP地址,生成所述第一配置文件,并将所述第一配置文件存储至所述指定位置;所述管理IP地址是所述分布式存储***集群中控制节点的IP地址,所述管理IP地址是所述控制节点在已完成启动的情况下发送的。
可选地,所述装置还包括:
接收模块,用于由所述密钥管理器接收管理终端发送的第二用户的用户信息以及所述分布式存储***集群的存储池名称;
第二获取模块,用于由所述密钥管理器从获取到的所述密钥生成信息中获取所述管理员密钥以及所述管理IP地址;
第二生成模块,用于由所述密钥管理器根据所述第二用户的用户信息、所述分布式存储***集群的存储池名称、所述管理员密钥以及所述管理IP地址,生成第二用户密钥;
第二密钥存储模块,用于将所述第二用户密钥存储至所述容器编排平台。
与现有技术相比,本发明实施例包括以下优点:
本发明实施例中,在接收到分布式存储***集群部署指令的情况下,5调用分布式存储编排***,由分布式存储编排***部署分布式存储***集
群。调用密钥管理器,由密钥管理器在分布式存储***集群的部署进度达到指定进度的情况下,获取密钥生成信息,并基于密钥生成信息生成第一用户密钥;密钥生成信息是生成第一用户密钥所需的信息。将第一用户密
钥存储至容器编排平台。相较于手动生成用户密钥并存储的方式,本发明0实施例中,在使用分布式存储编排***部署分布式存储***集群的情况
下,调用密钥管理器,自动获取密钥生成信息,并基于密钥生成信息为第一用户生成第一用户密钥,并自动将第一用户密钥存储至容器编排平台,这样,可以减轻管理员的工作量,降低人工成本,提高密钥生成以及存储的效率,进而提高整体部署效率和管理效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种密钥自动管理方法的步骤流程图;
图2是本发明实施例提供的一种密钥自动管理***的结构示意图;
图3是本发明实施例提供的一种密钥自动管理装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进5行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而
不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,示出了本发明实施例提供的一种密钥自动管理方法的步骤流程图,该方法具体可以包括如下步骤:
步骤101,在接收到分布式存储***集群部署指令的情况下,调用分布式存储编排***,由所述分布式存储编排***部署分布式存储***集群。
其中,分布式存储***的具体类型可以根据实际需求设置,例如,分布式存储***可以是Ceph***、GFS***、HDFS***、Swift***、Lustre***。在一种实现方式中,可以采用Ceph***作为该分布式存储***。Ceph是一个开源的分布式存储***,包括对象存储、块设备、文件***。它具有高可靠性、安装方便、管理简便的特点,能够轻松管理海量数据。Ceph具备了企业级存储的能力,它通过组织大量节点,节点之间靠相互通讯来复制数据,并动态地重分布数据,从而达到高可用分布式存储功能。
分布式存储编排***是一个自动管理的、自动扩容的、自动修复的分布式存储编排***,专用于云原生(Cloud-Native)环境的对象、块和/或文件存储服务。例如,分布式存储编排***可以是Rook。分布式存储编排***支持自动部署、启动、配置、分配、扩容/缩容、升级、迁移、灾难恢复、监控以及资源管理。为了实现所有这些功能,分布式存储编排***需要依赖底层的容器编排平台。分布式存储编排***可以为容器编排平台提供便利的存储解决方案,分布式存储编排***本身不提供存储,而是在容器编排平台和存储***之间提供适配层,简化存储***的部署与维护工作。其中,容器编排平台的具体类型可以根据实际需求设置,例如,容器编排平台可以是Kubernetes平台、Openshift平台等。
在一种实现方式中,可以选择Kubernetes平台作为容器编排平台。Kubernetes平台是一个用于容器集群的自动化部署、扩容以及运维的开源平台。通过Kubernetes平台可以快速有效地响应用户需求,可以快速而有预期地部署用户的应用,可以极速地扩展用户的应用,可以无缝对接新应用功能。Kubernetes平台节省资源及优化硬件资源的使用,为容器编排管理提供了完整的开源方案。如果用户想要在Kubernetes平台上安装软件,但为了使软件能够工作,需要一些地方来存储持久数据,可以通过分布式存储编排***部署分布式存储***集群,并将分布式存储***集群用于Kubernetes平台的数据存储。
本发明实施例结合分布式存储编排***和分布式存储***的长处,利用分布式存储编排***管理分布式存储***的能力,在接收到分布式存储***集群部署指令的情况下,调用分布式存储编排***,由分布式存储编排***部署分布式存储***集群。其中,分布式存储***集群部署指令可以是在需要部署分布式存储***集群的情况下触发的。
步骤102,调用密钥管理器,由所述密钥管理器在所述分布式存储***集群的部署进度达到指定进度的情况下,获取密钥生成信息,并基于所述密钥生成信息生成第一用户密钥;所述密钥生成信息是生成所述第一用户密钥所需的信息。
本发明实施例中,密钥管理器可以是预先创建的,密钥管理器可以以脚本的形式实现。调用密钥管理器时,可以通过运行调用脚本,来实现调用密钥管理器。相应地,预先创建的密钥管理器可以具备获取生成第一用户密钥所需的信息的功能以及基于密钥生成信息生成第一用户密钥的功能。可以在接收到密钥管理器启动指令的情况下,运行调用脚本。调用脚本中可以包括Ceph auth命令,以调用密钥管理器。
进一步地,在开始部署分布式存储***集群之后,直接触发运行调用脚本,以调用密钥管理器。相应地,可以由密钥管理器自己判断在分布式存储***集群的部署进度是否达到指定进度,如果达到,则触发执行获取密钥生成信息,并基于密钥生成信息生成第一用户密钥的操作。需要说明的是,也可以在分布式存储***集群的部署进度达到指定进度的情况下,触发运行调用脚本,以调用密钥管理器,从而触发密钥管理器执行在分布式存储***集群的部署进度达到指定进度的情况下,获取密钥生成信息,并基于密钥生成信息生成第一用户密钥的操作。其中,指定进度可以根据实际需求设置,本公开实施例对此不作限制。调用脚本可以***在分布式存储编排***,或者,也可以部署在密钥自动管理***中,本公开实施例对此不作限制。
步骤103,将所述第一用户密钥存储至容器编排平台。
其中,容器编排平台具有存储密钥的功能,具体地,容器编排平台可以包括密钥存储模块,密钥存储模块可以专门用于存储用户密钥。本发明实施例可以将密钥管理器所生成的分布式存储***集群的用户密钥,加载到容器编排平台的密钥存储模块中,由容器编排平台的密钥存储模块存储分布式存储***集群的用户密钥。通过自动生成并存储用户密钥,实现密钥自动管理。
综上所述,本公开实施例提供的密钥自动管理方法,在接收到分布式存储***集群部署指令的情况下,调用分布式存储编排***,由分布式存储编排***部署分布式存储***集群。调用密钥管理器,由密钥管理器在分布式存储***集群的部署进度达到指定进度的情况下,获取密钥生成信息,并基于密钥生成信息生成第一用户密钥;密钥生成信息是生成第一用户密钥所需的信息。将第一用户密钥存储至容器编排平台。相较于手动生成用户密钥并存储的方式,本发明实施例中,在使用分布式存储编排***部署分布式存储***集群的情况下,调用密钥管理器,自动获取密钥生成信息,并基于密钥生成信息为第一用户生成第一用户密钥,并自动将第一用户密钥存储至容器编排平台,这样,可以减轻管理员的工作量,降低人工成本,提高密钥生成以及存储的效率,进而提高整体部署效率和管理效率。
可选地,在一种实现方式中,上述指定进度可以为分布式存储***集群中控制节点完成启动。相应地,上述由所述密钥管理器在所述分布式存储***集群的部署进度达到指定进度的情况下,获取密钥生成信息的步骤,具体可以包括:
步骤S21、由所述密钥管理器轮询所述分布式存储编排***中的指定工具,以检测所述指定工具中是否存在管理IP地址;所述管理IP地址是所述控制节点的IP地址,所述管理IP地址是所述控制节点在已完成启动的情况下发送给所述指定工具的。
步骤S22、在所述指定工具中存在管理IP地址的情况下,获取所述密钥生成信息。
其中,分布式存储编排***中的指定工具可以是分布式存储编排***中用于接收管理IP地址的工具,示例性地,指定工具可以是分布式存储编排***中提供的负责接收管理IP地址的工具。例如,指定工具可以是Ceph工具。密钥生成信息可以包括管理IP地址。在部署分布式存储***集群的过程中,会涉及到部署分布式存储***集群中的控制节点,并启动控制节点。在分布式存储***集群中控制节点完成启动的情况下,控制节点会将自己的IP地址发送给指定工具。相应地,本公开实施例中,可以通过检测指定工具中是否存在管理IP地址,来检测分布式存储***集群中控制节点是否完成启动。
具体的,可以在指定工具中存在管理IP地址的情况下,确定分布式存储***集群中控制节点已完成启动,分布式存储***集群的部署进度达到指定进度。在指定工具中不存在管理IP地址的情况下,确定分布式存储***集群中控制节点未完成启动,分布式存储***集群的部署进度未达到指定进度。
进一步地,密钥管理器可以按照预设周期轮询指定工具,其中,预设周期可以根据实际需求设置,例如,预设周期可以为10秒,或者15秒,又或者1分钟,等等。以预设周期为10秒为例,可以每间隔10秒轮询一次指定工具。其中,轮询指定工具可以具体是执行检测指定工具中是否存在管理IP地址的操作。
本公开实施例中,由密钥管理器轮询分布式存储编排***中的指定工具,以检测指定工具中是否存在管理IP地址,管理IP地址是控制节点的IP地址,管理IP地址是控制节点在已完成启动的情况下发送给指定工具的。在指定工具中存在管理IP地址的情况下,获取密钥生成信息。这样,可以在部署完成之前,即,部署进度达到分布式存储***集群中控制节点完成启动的情况下,就获取密钥生成信息,进入密钥生成环节,进而一定程度上可以更加及时的进行密钥生成。
可选地,本公开实施例中,密钥生成信息可以具体包括管理IP地址、分布式存储***集群的存储池名称、第一用户的用户信息以及管理员密钥。上述在所述指定工具中存在管理IP地址的情况下,获取所述密钥生成信息的步骤,具体可以包括:
步骤S221、在所述指定工具中存在管理IP地址的情况下,从所述指定工具中获取所述管理IP地址,以及,从所述分布式存储编排***中获取所述分布式存储***集群的存储池名称、第一用户的用户信息以及管理员密钥。
本公开实施例中,分布式存储编排***中的存储池名称以及第一用户的用户信息可以是分布式存储编排***从接收到的配置指令中提取的。该配置指令可以与前述分布式存储***集群部署指令为同一指令,也就是说,分布式存储***集群部署指令中可以携带存储池名称以及第一用户的用户信息。相应地,可以由分布式存储编排***直接对接收到的分布式存储***集群部署指令进行解析,以从中提取存储池名称以及第一用户的用户信息。当然,配置指令可以与前述分布式存储***集群部署指令为不同指令,管理员可以为密钥管理***额外发送配置指令。需要说明的是,本公开实施例中,也可以直接将存储池名称、第一用户的用户信息以配置文件的形式发送给密钥管理器,相应地,密钥管理器可以再从分布式存储编排***中获取管理IP地址以及管理员密钥,即可实现获取密钥生成信息。
其中,配置指令中携带的存储池名称可以是按照预设的命名规则生成的。例如,预设的命名规则可以是xxx_volumes,可以将分布式存储***集群命名为rbd,那么按照预设的命名规则,生成该分布式存储***集群的存储池名称可以是rbd_volumes。本发明一种示例中,每个分布式存储***集群都可以有对应的管理IP地址,管理IP地址可以是内网中的IP地址。例如,管理IP地址可以是192.168.1.2。
分布式存储编排***中存储的管理员密钥可以是分布式存储编排***根据预设生成算法生成的,或者,也可以是预置在分布式存储编排***中的。示例性地,分布式存储编排***可以调用指定工具根据预设生成算法生成管理员密钥。例如,管理员密钥可以是AQDruhpfQHVLERAA9scTE。
进一步地,上述用户信息可以包括分布式存储***集群的用户账号和用户权限。第一用户可以是为该分布式存储***集群注册的集群用户,通过为第一用户生成用户密钥,可以方便第一用户访问分布式存储***集群。其中,第一用户可以为多个,本公开实施例中,可以针对任一第一用户,基于管理员密钥、管理IP地址、存储池名称以及该第一用户的用户信息,生成该第一用户的用户密钥,得到一个第一用户密钥。相应地,针对多个第一用户,可以自动生成多个第一用户密钥。相较于现有技术中需要管理员一一针对每个第一用户手动生成对应的用户密钥,导致管理员工作量较大的问题,本公开实施例中可以便捷的实现生成多个用户密钥,进而降低管理员工作量,提高生成效率。
可选地,在另一种实现方式中,上述指定进度可以为分布式存储***集群完成部署。相应地,上述由所述密钥管理器在所述分布式存储***集群的部署进度达到指定进度的情况下,获取密钥生成信息的步骤,具体可以包括:
步骤S31、由所述密钥管理器在检测到所述分布式存储***集群已完成部署的情况下,从指定位置中获取所述第一配置文件,得到所述密钥生成信息;其中,所述第一配置文件是预先生成并存储至所述指定位置的。
本公开实施例中,指定位置可以根据实际需求设置,示例性地,指定位置可以为容器编排平台。具体的,可以由分布式存储编排***将密钥生成信息作为第一配置文件的形式导入容器编排平台的文件存储模块中。其中,分布式存储编排***可以为第一配置文件生成对应的文件名,文件名可以是随机生成的,例如随机生成RookCephCluster,然后可以将RookCephCluster作为该第一配置文件的文件名,将第一配置文件与文件名对应存储至文件存储模块中,使得后续可以根据文件名找到对应的第一配置文件。此外,第一配置文件可以是yaml格式。上述示例仅用于使本领域技术人员更好理解本发明实施例,本发明对此不作出限定。当然,也可以有密钥管理***中的其他部分负责生成第一配置文件并存储,本公开实施例对此不作限制。
进一步地,密钥管理器可以在接收到所述分布式存储编排***发送的部署完成指令的情况下确定分布式存储***集群已完成部署。其中,部署完成指令可以携带有第一配置文件的文件标识,第一配置文件的文件标识可以是第一配置文件的文件名。当接收到分布式存储编排***发送的部署完成指令时,可以根据第一配置文件的文件标识,从容器编排平台的文件存储模块中找到对应的配置信息,即,得到密钥生成信息。
本公开实施例中,生成第一配置文件并将第一配置文件存储至指定位置,密钥管理器通过在分布式存储***集群已完成部署的情况下,直接从指定位置中获取第一配置文件,即可得到密钥生成信息,进而一定程度上可以确保信息获取效率。
本公开实施例中,密钥生成信息可以包括所述分布式存储***集群的存储池名称、管理IP地址、管理员密钥以及用户信息。在调用分布式存储编排***部署分布式存储***集群的过程中,本发明实施例可以自动根据该分布式存储***集群的存储池名称、管理IP地址、管理员密钥以及用户信息,生成第一配置文件。因此,第一配置文件可以包括分布式存储***集群的存储池名称、管理IP地址、管理员密钥以及用户信息。相应地,获取第一配置文件,即可得到密钥生成信息。本发明一种示例中,用户调用分布式存储编排***对分布式存储***集群进行部署之前,可以输入分布式存储***集群的存储池名称以及第一用户的用户信息,将分布式存储***集群的存储池名称以及第一用户的用户信息以配置指令的形式发送给分布式存储编排***。可以在调用分布式存储编排***对分布式存储***集群进行部署的过程中,由分布式存储编排***生成第一配置信息。
可选地,本公开实施例中还可以包括下述步骤:
步骤S41、由所述分布式存储编排***获取管理员密钥,以及,从接收到的配置指令中提取所述分布式存储***集群的存储池名称以及第一用户的用户信息。
步骤S42、根据所述管理员密钥、所述存储池名称、所述第一用户的用户信息以及所述分布式存储编排***的指定工具中接收到的管理IP地址,生成所述第一配置文件,并将所述第一配置文件存储至所述指定位置;所述管理IP地址是所述分布式存储***集群中控制节点的IP地址,所述管理IP地址是所述控制节点在已完成启动的情况下发送的。
本公开实施例中,管理员密钥可以是分布式存储编排***根据预设生成算法生成的,或者,也可以是预置在分布式存储编排***中的。相应地,分布式存储编排***可以自己生成或者读取预置的管理员密钥,以实现获取管理员密钥。该配置指令可以与前述分布式存储***集群部署指令为同一指令,也就是说,分布式存储***集群部署指令中可以携带存储池名称以及第一用户的用户信息。相应地,可以由分布式存储编排***直接对接收到的分布式存储***集群部署指令进行解析,以从中提取存储池名称以及第一用户的用户信息。当然,配置指令可以与前述分布式存储***集群部署指令为不同指令,管理员可以为密钥管理***额外发送配置指令。
进一步地,可以将管理员密钥、存储池名称、第一用户的用户信息以及管理IP地址按照配置文件的格式进行打包,得到第一配置文件。本公开实施例中,将生成用户密钥所需的信息以第一配置文件的形式存储至指定位置,一定程度可以方便后续获取使用。
本公开实施例中,在获取到密钥生成信息后,根据该密钥生成信息自动生成分布式存储***集群的密钥。本发明一种示例中,可以将分布式存储***集群的存储池名称、管理IP地址、管理员密钥、第一用户的用户信息作为预设的密钥逻辑算法的输入,将该算法的输出作为第一用户密钥,进而实现自动生成分布式存储***集群的第一用户密钥,例如,分布式存储***集群的密钥可以是msEncq5dcAUObVKg。上述示例仅用于使本领域技术人员更好理解本发明实施例,本发明对此不作出限定。
可选地,上述将所述第一用户密钥存储至容器编排平台的步骤,具体可以包括:
步骤1031、根据所述第一用户的用户信息和所述第一用户密钥,生成第二配置文件。
步骤1032、调用预设的应用程序接口,由所述应用程序接口将所述第二配置文件加载到所述容器编排平台中,以通过所述容器编排平台存储所述第二配置文件。
其中,第二配置文件可以是yaml格式的文件。可以将第一用户的用户信息与第一用户密钥对应存储,并按照配置文件的格式进行打包,得到第二配置文件。预设的应用程序接口(Application Programming Interface,API)可以是具备数据存储功能的接口,可以调用该预设的应用程序接口,将第一用户密钥以第二配置文件的形式加载到容器编排平台中,由容器编排平台对第二配置文件进行存储。具体的,可以通过该预设的应用程序接口将第二配置文件自动加载到容器编排平台的密钥存储模块中,由密钥存储模块存储该第二配置文件。
可选地,在分布式存储***集群部署之后,可能出现新的用户想要加入该分布式存储***集群。相应地,可以通过下述步骤S51~步骤S54为新的用户生成用户密钥。
步骤S51、由所述密钥管理器接收管理终端发送的第二用户的用户信息以及所述分布式存储***集群的存储池名称。
步骤S52、由所述密钥管理器从获取到的所述密钥生成信息中获取所述管理员密钥以及所述管理IP地址。
步骤S53、由所述密钥管理器根据所述第二用户的用户信息、所述分布式存储***集群的存储池名称、所述管理员密钥以及所述管理IP地址,生成第二用户密钥。
步骤S54、将所述第二用户密钥存储至所述容器编排平台。
本公开实施例中,管理终端可以是管理员使用的终端,例如,电脑、手机等等。第二用户可以是新加入的用户。具体的,管理终端可以将第二用户的用户信息以及所需加入的分布式存储***集群的存储池名称发送给密钥管理器。具体的,可以调用具备发送功能的脚本实现发送。进一步地,密钥管理器可以具体从之前获取到的所包括的存储池名称与管理终端发送的存储池名称一致的密钥生成信息中,获取管理员密钥以及管理IP地址。接着,可以根据第二用户的用户信息、分布式存储***集群的存储池名称、管理员密钥以及管理IP地址,为第二用户生成用户密钥,得到第二用户密钥。其中,第二用户可以为一个或多个,生成第二用户密钥的方式可以参照前述相关描述,此处不再赘述。
将第二用户密钥存储至容器编排平台,可以具体是根据第二用户的用户信息和第二用户密钥,生成第三配置文件。调用预设的应用程序接口,由该应用程序接口将第三配置文件加载到容器编排平台中,以通过容器编排平台存储第三配置文件。其中,具体的实现方式可以参照前述生成第二配置文件并存储的实现方式,此处不再赘述。
本公开实施例中,基于密钥管理器可以自动为新加入的第二用户生成第二用户密钥,并将第二用户密钥自动存储至容器编排平台。这样,可以进一步降低为新加入的用户生成用户密钥分入人工成本,进一步提高密钥生成以及存储的效率。
本发明实施例可以应用于分布式存储***集群,也就是说,可以以分布式存储***集群作为执行主体,在接收到部署指令的情况下,调用分布式存储编排***,以进行集群部署,以及,调用密钥管理器,以生成第一用户密钥。密钥管理器可以部署在分布式存储***集群,或者,也可以部署在其他设备中。最后可以通过调用预设的应用程序接口,实现将第一用户密钥存储至容器编排平台。
需要说明的是,上述分布式存储编排***、分布式存储***以及容器编排平台可以部署在同一集群中。或者,也可以部署在不同集群中,例如,分布式存储***部署在第一服务器集群、分布式存储编排***部署在第二服务器集群、容器编排平台部署在第三服务器集群。相应地,第一服务器集群、第二服务器集群以及第三服务器集群可以组成密钥自动管理***。即,密钥自动管理***可以是上述第一服务器集群、第二服务器集群以及第三服务器集群组成的集群。本发明实施例可以以密钥自动管理***作为执行主体。
参考图2,示出了本发明实施例提供的一种密钥自动管理***的结构示意图,密钥自动管理***200包括分布式存储编排***201、分布式存储***202、密钥管理器203以及容器编排平台204。密钥自动管理***200工作过程具体如下:
1.密钥自动管理***200接收分布式存储***集群部署指令;
2.调用分布式存储编排***201,针对分布式存储***202的分布式存储***集群进行部署;
3.密钥自动管理***200生成第一配置文件;
4.分布式存储编排***201部署完成后,触发密钥管理器203根据第一配置文件自动生成第一用户密钥;
5.密钥管理器203生成第一用户密钥后,将第一用户密钥通过预设的应用程序接口自动加载至容器编排平台204;
6.容器编排平台204存储第一用户密钥。
本发明实施例中,当接收到分布式存储***集群部署指令时,调用分布式存储编排***,由分布式存储编排***部署分布式存储***集群,然后当分布式存储编排***部署完成分布式存储***集群时,调用密钥管理器,由密钥管理器生成分布式存储***集群的第一用户密钥,接着将第一用户密钥加载到容器编排平台,由容器编排平台存储第一用户密钥。本发明实施例通过分布式存储编排***在部署分布式存储***集群的过程中,自动生成第一用户密钥,并自动将第一用户密钥加载进容器编排平台中进行存储,实现自动创建、配置、更新密钥,大大减轻了管理员的工作量,提高了部署效率和管理效率,提升准确度。
本发明实施例还提供了一种密钥自动管理装置,所述装置包括:
参考图3,示出了本发明实施例提供的密钥自动管理装置的结构框图,具体可以包括如下模块:
部署模块301,用于在接收到分布式存储***集群部署指令的情况下,调用分布式存储编排***,由所述分布式存储编排***部署分布式存储***集群;
密钥生成模块302,用于调用密钥管理器,由所述密钥管理器在所述分布式存储***集群的部署进度达到指定进度的情况下,获取密钥生成信息,并基于所述密钥生成信息生成第一用户密钥;所述密钥生成信息是生成所述第一用户密钥所需的信息;
第一密钥存储模块303,用于将所述第一用户密钥存储至容器编排平台。
可选地,所述指定进度为所述分布式存储***集群中控制节点完成启动;
所述密钥生成模块302,具体用于:
由所述密钥管理器轮询所述分布式存储编排***中的指定工具,以检测所述指定工具中是否存在管理IP地址;所述管理IP地址是所述控制节点的IP地址,所述管理IP地址是所述控制节点在已完成启动的情况下发送给所述指定工具的;
在所述指定工具中存在管理IP地址的情况下,获取所述密钥生成信息。
可选地,所述密钥生成模块302,还具体用于:
在所述指定工具中存在管理IP地址的情况下,从所述指定工具中获取所述管理IP地址,以及,从所述分布式存储编排***中获取所述分布式存储***集群的存储池名称、第一用户的用户信息以及管理员密钥。
可选地,所述指定进度为所述分布式存储***集群完成部署;
所述密钥生成模块302,具体用于:
由所述密钥管理器在检测到所述分布式存储***集群已完成部署的情况下,从指定位置中获取所述第一配置文件,得到所述密钥生成信息;
其中,所述第一配置文件是预先生成并存储至所述指定位置的。
可选地,所述装置还包括:
第一获取模块,用于由所述分布式存储编排***获取管理员密钥,以及,从接收到的配置指令中提取所述分布式存储***集群的存储池名称以及第一用户的用户信息;
第一生成模块,用于根据所述管理员密钥、所述存储池名称、所述第一用户的用户信息以及所述分布式存储编排***的指定工具中接收到的管理IP地址,生成所述第一配置文件,并将所述第一配置文件存储至所述指定位置;所述管理IP地址是所述分布式存储***集群中控制节点的IP地址,所述管理IP地址是所述控制节点在已完成启动的情况下发送的。
可选地,所述装置还包括:
接收模块,用于由所述密钥管理器接收管理终端发送的第二用户的用户信息以及所述分布式存储***集群的存储池名称;
第二获取模块,用于由所述密钥管理器从获取到的所述密钥生成信息中获取所述管理员密钥以及所述管理IP地址;
第二生成模块,用于由所述密钥管理器根据所述第二用户的用户信息、所述分布式存储***集群的存储池名称、所述管理员密钥以及所述管理IP地址,生成第二用户密钥;
第二密钥存储模块,用于将所述第二用户密钥存储至所述容器编排平台。
可选地,所述第一密钥存储模块303,具体用于:
根据所述第一用户的用户信息和所述第一用户密钥,生成第二配置文件;
调用预设的应用程序接口,由所述应用程序接口将所述第二配置文件加载到所述容器编排平台中,以通过所述容器编排平台存储所述第二配置文件。
综上所述,本公开实施例提供的密钥自动管理装置,在接收到分布式存储***集群部署指令的情况下,调用分布式存储编排***,由分布式存储编排***部署分布式存储***集群。调用密钥管理器,由密钥管理器在分布式存储***集群的部署进度达到指定进度的情况下,获取密钥生成信息,并基于密钥生成信息生成第一用户密钥;密钥生成信息是生成第一用户密钥所需的信息。将第一用户密钥存储至容器编排平台。相较于手动生成用户密钥并存储的方式,本发明实施例中,在使用分布式存储编排***部署分布式存储***集群的情况下,调用密钥管理器,自动获取密钥生成信息,并基于密钥生成信息为第一用户生成第一用户密钥,并自动将第一用户密钥存储至容器编排平台,这样,可以减轻管理员的工作量,降低人工成本,提高密钥生成以及存储的效率,进而提高整体部署效率和管理效率。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还供了一种电子设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如本发明实施例任一所述的密钥自动管理方法。示例性地,该电子设备可以是上述第一服务器集群、第二服务器集群以及第三服务器集群组成的集群。
本发明实施例还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如本发明实施例任一所述的密钥自动管理方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
需要说明的是,本发明实施例中获取的各种信息、数据,均是在得到信息/数据持有方授权的情况下获取的。本申请中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种密钥自动管理方法、装置、电子设备和可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (13)
1.一种密钥自动管理方法,其特征在于,所述方法包括:
在接收到分布式存储***集群部署指令的情况下,调用分布式存储编排***,由所述分布式存储编排***部署分布式存储***集群;
调用密钥管理器,由所述密钥管理器在所述分布式存储***集群的部署进度达到指定进度的情况下,获取密钥生成信息,并基于所述密钥生成信息生成第一用户密钥;所述密钥生成信息是生成所述第一用户密钥所需的信息;
将所述第一用户密钥存储至容器编排平台。
2.根据权利要求1所述的方法,其特征在于,所述指定进度为所述分布式存储***集群中控制节点完成启动;
所述由所述密钥管理器在所述分布式存储***集群的部署进度达到指定进度的情况下,获取密钥生成信息,包括:
由所述密钥管理器轮询所述分布式存储编排***中的指定工具,以检测所述指定工具中是否存在管理IP地址;所述管理IP地址是所述控制节点的IP地址,所述管理IP地址是所述控制节点在已完成启动的情况下发送给所述指定工具的;
在所述指定工具中存在管理IP地址的情况下,获取所述密钥生成信息。
3.根据权利要求2所述的方法,其特征在于,所述在所述指定工具中存在管理IP地址的情况下,获取所述密钥生成信息,包括:
在所述指定工具中存在管理IP地址的情况下,从所述指定工具中获取所述管理IP地址,以及,从所述分布式存储编排***中获取所述分布式存储***集群的存储池名称、第一用户的用户信息以及管理员密钥。
4.根据权利要求1所述的方法,其特征在于,所述指定进度为所述分布式存储***集群完成部署;
所述由所述密钥管理器在所述分布式存储***集群的部署进度达到指定进度的情况下,获取密钥生成信息,包括:
由所述密钥管理器在检测到所述分布式存储***集群已完成部署的情况下,从指定位置中获取所述第一配置文件,得到所述密钥生成信息;
其中,所述第一配置文件是预先生成并存储至所述指定位置的。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
由所述分布式存储编排***获取管理员密钥,以及,从接收到的配置指令中提取所述分布式存储***集群的存储池名称以及第一用户的用户信息;
根据所述管理员密钥、所述存储池名称、所述第一用户的用户信息以及所述分布式存储编排***的指定工具中接收到的管理IP地址,生成所述第一配置文件,并将所述第一配置文件存储至所述指定位置;所述管理IP地址是所述分布式存储***集群中控制节点的IP地址,所述管理IP地址是所述控制节点在已完成启动的情况下发送的。
6.根据权利要求1-5任一所述的方法,其特征在于,所述方法还包括:
由所述密钥管理器接收管理终端发送的第二用户的用户信息以及所述分布式存储***集群的存储池名称;
由所述密钥管理器从获取到的所述密钥生成信息中获取所述管理员密钥以及所述管理IP地址;
由所述密钥管理器根据所述第二用户的用户信息、所述分布式存储***集群的存储池名称、所述管理员密钥以及所述管理IP地址,生成第二用户密钥;
将所述第二用户密钥存储至所述容器编排平台。
7.根据权利要求1-5任一所述的方法,其特征在于,所述将所述第一用户密钥存储至容器编排平台,包括:
根据所述第一用户的用户信息和所述第一用户密钥,生成第二配置文件;
调用预设的应用程序接口,由所述应用程序接口将所述第二配置文件加载到所述容器编排平台中,以通过所述容器编排平台存储所述第二配置文件。
8.一种密钥自动管理装置,其特征在于,所述装置包括:
部署模块,用于在接收到分布式存储***集群部署指令的情况下,调用分布式存储编排***,由所述分布式存储编排***部署分布式存储***集群;
密钥生成模块,用于调用密钥管理器,由所述密钥管理器在所述分布式存储***集群的部署进度达到指定进度的情况下,获取密钥生成信息,并基于所述密钥生成信息生成第一用户密钥;所述密钥生成信息是生成所述第一用户密钥所需的信息;
第一密钥存储模块,用于将所述第一用户密钥存储至容器编排平台。
9.根据权利要求8所述的装置,其特征在于,所述指定进度为所述分布式存储***集群完成部署;
所述密钥生成模块,具体用于:
由所述密钥管理器在检测到所述分布式存储***集群已完成部署的情况下,从指定位置中获取所述第一配置文件,得到所述密钥生成信息;
其中,所述第一配置文件是预先生成并存储至所述指定位置的。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第一获取模块,用于由所述分布式存储编排***获取管理员密钥,以及,从接收到的配置指令中提取所述分布式存储***集群的存储池名称以及第一用户的用户信息;
第一生成模块,用于根据所述管理员密钥、所述存储池名称、所述第一用户的用户信息以及所述分布式存储编排***的指定工具中接收到的管理IP地址,生成所述第一配置文件,并将所述第一配置文件存储至所述指定位置;所述管理IP地址是所述分布式存储***集群中控制节点的IP地址,所述管理IP地址是所述控制节点在已完成启动的情况下发送的。
11.根据权利要求8-10任一所述的装置,其特征在于,所述装置还包括:
接收模块,用于由所述密钥管理器接收管理终端发送的第二用户的用户信息以及所述分布式存储***集群的存储池名称;
第二获取模块,用于由所述密钥管理器从获取到的所述密钥生成信息中获取所述管理员密钥以及所述管理IP地址;
第二生成模块,用于由所述密钥管理器根据所述第二用户的用户信息、所述分布式存储***集群的存储池名称、所述管理员密钥以及所述管理IP地址,生成第二用户密钥;
第二密钥存储模块,用于将所述第二用户密钥存储至所述容器编排平台。
12.一种电子设备,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如方法权利要求1-7任一所述的密钥自动管理方法。
13.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如方法权利要求1-7任一所述的密钥自动管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211733365.6A CN116015651A (zh) | 2022-12-30 | 2022-12-30 | 密钥自动管理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211733365.6A CN116015651A (zh) | 2022-12-30 | 2022-12-30 | 密钥自动管理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116015651A true CN116015651A (zh) | 2023-04-25 |
Family
ID=86027934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211733365.6A Pending CN116015651A (zh) | 2022-12-30 | 2022-12-30 | 密钥自动管理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116015651A (zh) |
-
2022
- 2022-12-30 CN CN202211733365.6A patent/CN116015651A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112019475B (zh) | 无服务器架构下的资源访问方法、设备、***及存储介质 | |
US11088903B2 (en) | Hybrid cloud network configuration management | |
US20220179682A1 (en) | Task processing method, apparatus, and system based on distributed system | |
WO2017161984A1 (zh) | 数据集群的部署方法、装置、***及计算机存储介质 | |
WO2019184164A1 (zh) | 自动部署Kubernetes从节点的方法、装置、终端设备及可读存储介质 | |
CN107291750B (zh) | 一种数据迁移方法和装置 | |
JP6190949B2 (ja) | 仮想ネットワーク機能マネージャによる仮想インフラストラクチャマネージャへのアクセスの自動化構成 | |
CN112486547B (zh) | 多租户场景下的应用程序更新方法、装置及电子设备 | |
CN111641515B (zh) | Vnf的生命周期管理方法及装置 | |
CN110752947A (zh) | 一种k8s集群部署方法及装置,一种部署平台 | |
CN106886434B (zh) | 一种分布式应用安装方法与装置 | |
CN111431740A (zh) | 数据的传输方法、装置、设备及计算机可读存储介质 | |
CN112860282B (zh) | 集群插件的升级方法、装置和服务器 | |
CN113438292A (zh) | 一种基于自动化运维工具的代理部署方法及装置 | |
CN108228197B (zh) | 一种在集群中安装软件的方法和装置 | |
CN115168031A (zh) | 一种雾计算***、方法、电子设备及存储介质 | |
CN107995033B (zh) | 一种onu配置文件升级方法及装置 | |
CN104111862A (zh) | 云计算平台中获取虚拟机ip地址方法与*** | |
CN114710350B (zh) | 一种可调用资源的分配方法、装置、电子设备和存储介质 | |
CN116015651A (zh) | 密钥自动管理方法、装置、电子设备及存储介质 | |
CN114338124B (zh) | 云密码计算服务的管理方法、***、电子设备及存储介质 | |
CN114172903B (zh) | slurm调度***的节点扩容方法、装置、设备和介质 | |
CN116028463A (zh) | 搭建存储与计算分离的大数据平台的方法 | |
CN114610443A (zh) | 一种基于k8s容器集群的多服务部署方法、装置及电子设备 | |
CN112015524A (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 |