CN110163003B - 一种密码管理方法及装置 - Google Patents
一种密码管理方法及装置 Download PDFInfo
- Publication number
- CN110163003B CN110163003B CN201910462156.4A CN201910462156A CN110163003B CN 110163003 B CN110163003 B CN 110163003B CN 201910462156 A CN201910462156 A CN 201910462156A CN 110163003 B CN110163003 B CN 110163003B
- Authority
- CN
- China
- Prior art keywords
- account
- password
- password management
- management system
- database
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Automation & Control Theory (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种密码管理方法及装置,该方法为:应用向密码管理代理请求数据库的访问密码。密码管理代理确定密码管理系统是否正在修改第一账号的密码。若否,密码管理代理基于密码请求,向应用发送第一账号和对应的密码。若是,密码管理代理基于密码请求,向应用发送第二账号和对应的密码。应用利用第一账号和对应的密码,或,利用第二账号和对应的密码,访问数据库。本方案中,预先为数据库的第一账号设置相同权限的第二账号。应用请求获取第一账号的密码时,密码管理代理根据第一账号的状态向应用发送第一账号或第二账号和对应的密码,使应用访问数据库。避免人工持有密码,提高密码管理安全性,在修改密码时,不需要中断与数据库相关的业务。
Description
技术领域
本发明涉及密码管理技术领域,具体涉及一种密码管理方法及装置。
背景技术
随着互联网技术的发展,各行各业都会产生大量的数据,这些数据通常存储于数据库中。
为了保证数据库中存储的数据的安全,需要为数据库设置对应的密码,即只有输入正确的密码才能读取数据库中存储的数据。因此,密码的管理成为数据库管理中最重要的其中一个环节。目前对于数据库的密码的管理方式通常为:将使用本地配置文件或代码的形式存储数据库密码,并人工持有存储数据库密码的文件或代码。但是一方面,人工管理数据库密码容易泄露,安全性能较低。另一方面,在修改数据库密码时,需要先中断与数据库相关的业务,再修改数据库密码,并且修改完数据库密码后需要重新启动应用。
发明内容
有鉴于此,本发明实施例提供一种密码管理方法及装置,以解决人工管理数据库密码容易泄露、在修改数据库密码时需要先中断与数据库相关的业务和修改完数据库密码后需要重新启动应用等问题。
为实现上述目的,本发明实施例提供如下技术方案:
本发明实施例第一方面公开了一种密码管理方法,所述方法包括:
应用向密码管理代理发送获取数据库的访问密码的密码请求,其中,所述密码请求至少包括所述数据库的第一账号和数据库名,密码管理系统预先为所述数据库设置具有相同访问权限的第二账号和所述第一账号,以及设置所述第一账号和第二账号各自对应的密码;
所述密码管理代理确定所述密码管理系统是否正在修改所述第一账号的密码,其中,所述密码管理系统预先将所述第一账号和第二账号,以及将所述第一账号和第二账号各自对应的密码发送至所述密码管理代理;
若所述密码管理系统未正在修改所述第一账号的密码,所述密码管理代理基于所述密码请求,向所述应用发送所述第一账号和所述第一账号对应的密码;
若所述密码管理系统正在修改所述第一账号的密码,所述密码管理代理基于所述密码请求,向所述应用发送所述第二账号和所述第二账号对应的密码;
所述应用利用所述第一账号和所述第一账号对应的密码,或,利用所述第二账号和所述第二账号对应的密码,访问所述数据库。
优选的,所述密码管理代理确定所述密码管理系统是否正在修改所述第一账号的密码,包括:
若所述密码管理代理接收到所述密码管理系统发送的状态信息,确定所述密码管理系统正在修改所述第一账号的密码,其中,所述状态信息用于指示所述密码管理系统需要修改所述第一账号的密码;
若所述密码管理代理未接收到所述密码管理系统发送的状态信息,确定所述密码管理系统未正在修改所述第一账号的密码。
优选的,所述密码管理系统预先为所述数据库设置具有相同访问权限的第二账号和所述第一账号,以及设置所述第一账号和第二账号各自对应的密码,包括:
密码管理系统设置所述数据库的所述第一账号和所述第一账号对应的密码;
所述密码管理系统确定是否存在与所述第一账号互相关联且具有相同访问权限的账号;
若是,确定与所述第一账号互相关联且具有相同访问权限的账号为所述第二账号;
若否,创建与所述第一账号互相关联且具有相同访问权限的第二账号和所述第二账号对应的密码。
优选的,所述若所述密码管理系统正在修改所述第一账号的密码之后,还包括:
若所述密码管理系统成功修改所述第一账号的密码,所述密码管理系统将修改后的所述第一账号的密码发送至所述密码管理代理,使所述密码管理代理更新所述第一账号的密码。
优选的,所述若所述密码管理代理接收到所述密码管理系统发送的状态信息之后,还包括:
所述密码管理代理向所述密码管理系统反馈回应信息,其中,所述回应信息用于指示所述密码管理代理接收到所述状态信息。
本发明实施例第二方面提供了一种密码管理装置,所述装置包括:密码管理系统和密码管理代理;
所述密码管理系统,用于预先为所述数据库设置具有相同访问权限的第二账号和所述第一账号,以及设置所述第一账号和第二账号各自对应的密码,并将所述第一账号、第二账号、第一账号和第二账号各自对应的密码发送至所述密码管理代理;
所述密码管理代理,用于接收应用发送的获取数据库的访问密码的密码请求,并确定所述密码管理系统是否正在修改所述第一账号的密码,若是,基于所述密码请求,向所述应用发送所述第二账号和所述第二账号对应的密码,若否,基于所述密码请求,向所述应用发送所述第一账号和所述第一账号对应的密码,使所述应用利用所述第一账号和所述第一账号对应的密码,或,利用所述第二账号和所述第二账号对应的密码,访问所述数据库,其中,所述密码请求至少包括所述数据库的第一账号和数据库名。
优选的,所述密码管理代理具体用于:若所述密码管理代理接收到所述密码管理系统发送的状态信息,确定所述密码管理系统正在修改所述第一账号的密码,若所述密码管理代理未接收到所述密码管理系统发送的状态信息,确定所述密码管理系统未正在修改所述第一账号的密码,其中,所述状态信息用于指示所述密码管理系统需要修改所述第一账号的密码。
优选的,所述密码管理系统包括:
设置单元,用于设置所述数据库的所述第一账号和所述第一账号对应的密码;
处理单元,用于确定是否存在与所述第一账号互相关联且具有相同访问权限的账号,若是,确定与所述第一账号互相关联且具有相同访问权限的账号为所述第二账号,若否,创建与所述第一账号互相关联且具有相同访问权限的第二账号和所述第二账号对应的密码。
优选的,所述密码管理系统还用于:若所述密码管理系统成功修改所述第一账号的密码,所述密码管理系统将修改后的所述第一账号的密码发送至所述密码管理代理,使所述密码管理代理更新所述第一账号的密码。
优选的,所述密码管理代理接收到所述密码管理系统发送的状态信息之后,所述密码管理代理还用于:向所述密码管理系统反馈回应信息,其中,所述回应信息用于指示所述密码管理代理接收到所述状态信息。
基于上述本发明实施例提供的一种密码管理方法及装置,该方法为:应用向密码管理代理请求获取数据库的访问密码。密码管理代理确定密码管理系统是否正在修改第一账号的密码。若否,密码管理代理基于密码请求,向应用发送第一账号和对应的密码。若是,密码管理代理基于密码请求,向应用发送第二账号和对应的密码。应用利用第一账号和对应的密码,或,利用第二账号和对应的密码,访问数据库。本方案中,密码管理系统预先为数据库的第一账号设置相同权限的第二账号。应用向密码管理代理请求获取第一账号的密码时,密码管理代理确定第一账号的密码是否正在被修改,若是,向应用发送第二账号及对应的密码,若否,向应用发送第一账号及对应的密码,使应用访问数据库。不需要人工持有密码,提高密码管理安全性,在修改数据库密码时,不需要中断与数据库相关业务,以及修改完数据库密码后不需要重新启动应用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种密码管理方法的流程图;
图2a为本发明实施例提供的请求获取数据库密码的流程示意图;
图2b为本发明实施例提供的请求获取数据库密码的另一流程示意图;
图3为本发明实施提供的创建互相关联且具有相同权限的账号的流程图;
图4为本发明实施例提供的创建互备账号的流程示意图;
图5为本发明实施例提供的一种密码管理装置的结构框图;
图6为本发明实施例提供的另一种密码管理装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
由背景技术可知,目前对于数据库的密码的管理方式通常为:将使用本地配置文件或代码的形式存储数据库密码,并人工持有存储数据库密码的文件或代码。但是一方面,人工管理数据库密码容易泄露,安全性能较低。另一方面,在修改数据库密码时,需要先中断与数据库相关的业务,再修改数据库密码,并且修改完数据库密码后需要重新启动应用。
因此,本发明实施例提供一种密码管理方法及装置,密码管理系统预先为数据库的第一账号设置相同权限的第二账号。应用向密码管理代理请求获取第一账号的密码时,密码管理代理确定第一账号的密码是否正在被修改,若是,向应用发送第二账号及对应的密码,若否,向应用发送第一账号及对应的密码,使应用访问数据库。以提高密码管理安全性,不需要在修改数据库密码时中断与数据库相关的业务,以及不需要在修改完密码后重新启动应用
本发明实施例中涉及的所述密码管理代理和应用运行在用户业务的服务器上,所述密码管理系统运行在另一单独的服务器上,前述两个服务器通过网络连接。
参考图1,示出了本发明实施例提供的一种密码管理方法的流程图,所述密码管理方法包括以下步骤:
步骤S101:应用向密码管理代理发送获取数据库的访问密码的密码请求。
在具体实现步骤S101的过程中,所述应用通过预设的应用程序接口(ApplicationProgramming Interface,API),向所述密码管理代理发送获取数据库的访问密码的密码请求。所述密码请求至少包括所述数据库的第一账号和数据库名,例如:所述应用向密码管理代理发送的密码请求包含的数据库名为mysqltest,第一账号为admin1,则所述应用需获取账号为admin1对应的密码,所述应用利用账号admin1和对应的密码可以访问数据库mysqltest。
需要说明的是,密码管理系统预先为所述数据库设置具有相同访问权限的第二账号和所述第一账号,以及设置所述第一账号和第二账号各自对应的密码。
进一步的,需要说明的是,所述第一账号和对应的密码由用户预先添加至所述密码管理系统中。所述第二账号和对应的密码由用户添加至所述密码管理系统中,或者,由所述密码管理系统自动创建所述第二账号和对应的密码。用户将所述第一账号和第二账号设置为互相关联账号,即所述第一账号和第二账号为互相备用关系。
步骤S102:所述密码管理代理确定所述密码管理系统是否正在修改所述第一账号的密码,若是,执行步骤S103,若否,执行步骤S104。
在具体实现步骤S102的过程中,密码管理系统在连接所述数据库修改所述第一账号的密码之前,向所述密码管理代理发送状态信息,所述状态信息用于指示所述密码管理系统需要修改所述第一账号的密码。
若所述密码管理代理接收到所述密码管理系统发送的状态信息,确定所述密码管理系统正在修改所述第一账号的密码。若所述密码管理代理未接收到所述密码管理系统发送的状态信息,确定所述密码管理系统未正在修改所述第一账号的密码。
需要说明的是,所述密码管理系统预先将所述第一账号和第二账号,以及将所述第一账号和第二账号各自对应的密码发送至所述密码管理代理进行缓存。
优选的,所述密码管理代理向所述密码管理系统反馈回应信息,其中,所述回应信息用于指示所述密码管理代理接收到所述状态信息。需要说明的是,所述密码管理系统在接收到所有存储有所述第一账号的所述密码管理代理反馈的回应信息之后,才能修改所述第一账号的密码。
优选的,若所述密码管理系统成功修改所述第一账号的密码,所述密码管理系统将修改后的所述第一账号的密码发送至所述密码管理代理,使所述密码管理代理更新所述第一账号的密码。若所述密码修改所述第一账号的密码失败,保持所述第一账号的密码不变。
步骤S103:所述密码管理代理基于所述密码请求,向所述应用发送所述第二账号和所述第二账号对应的密码。执行步骤S105。
在具体实现步骤S103的过程中,由上述内容可知,所述密码请求包含所述数据库名和第一账号,所述第一账号和第二账号为互相备用账号。若所述密码管理系统正在修改所述第一账号的密码,为保证所述应用能正常访问所述数据库,所述密码管理代理将所述第二账号和所述第二账号对应的密码发送给所述应用,使所述应用利用所述第二账号和所述第二账号对应的密码访问所述数据库。
步骤S104:所述密码管理代理基于所述密码请求,向所述应用发送所述第一账号和所述第一账号对应的密码。
在具体实现步骤S104的过程中,若所述密码管理系统未正在修改所述第一账号的密码,即说明所述第一账号的密码没有发生变化。因此,所述密码管理代理将所述第一账号和所述第一账号对应的密码发送给所述应用,使所述应用利用所述第一账号和所述第一账号对应的密码访问所述数据库。
步骤S105:所述应用利用所述第一账号和所述第一账号对应的密码,或,利用所述第二账号和所述第二账号对应的密码,访问所述数据库。
在具体实现步骤S105的过程中,若所述密码管理代理向所述应用发送所述第一账号和所述第一账号对应的密码,所述应用利用所述第一账号和所述第一账号对应的密码访问所述数据库。若所述密码管理代理向所述应用发送所述第二账号和所述第二账号对应的密码,所述应用利用所述第二账号和所述第二账号对应的密码访问所述数据库。
需要说明的是,为保证应用访问数据库的安全性,用户需要在密码管理系统中为密码管理代理进行授权,为每个应用配置唯一ID、程序路径、证书、主机名和IP认证。只有经过授权的密码管理代理才能从所述密码管理系统中获取数据库密码,每个应用只能获取与该应用的ID关联的数据库账号的密码。
需要说明的是,所述密码管理系统也包含密码查询功能,即所述应用也可直接向所述密码管理系统获取所述第一账号和对应的密码,以及直接向所述密码管理系统获取所述第二账号和对应的密码。在本发明实施例中不做具体限定。由上述内容可知,所述应用与密码管理系统运行在不同的服务器上,因此,当网络出现异常时,所述应用直接向所述密码管理系统获取所述第一账号和对应的密码可能出现异常情况。而所述密码管理代理与所述应用运行在同一服务器上,因此,所述应用向所述密码管理代理获取所述第一账号和对应的密码能有效避免网络影响。
在本发明实施例中,密码管理系统预先为数据库的第一账号设置相同权限的第二账号。应用向密码管理代理请求获取第一账号的密码时,密码管理代理确定第一账号的密码是否正在被修改,若是,向应用发送第二账号及对应的密码,若否,向应用发送第一账号及对应的密码,使应用访问数据库。不需要人工持有密码,提高密码管理安全性,在修改数据库密码时,不需要中断与数据库相关的业务,以及修改完数据库密码后不需要重新启动应用。
为更好解释说明上述本发明实施例涉及到的请求获取数据库密码的过程,结合图1中的内容,通过图2a和图2b示出的内容进行举例说明。在所述图2a和图2b中,所述数据库的数据库名为:mysqltest,所述第一账号为:admin1,所述第二账号为:admin2,所述第一账号的密码为:password1,所述第二账号的密码为:password2。
在所述图2a中,示出了所述密码管理系统未正在修改所述第一账号的密码时,所述应用向密码管理代理请求获取数据库密码的过程。所述密码管理系统未正在修改所述第一账号的密码时,将所述第一账号的状态设置为活动,当所述应用向所述密码管理代理(Agent)发送密码请求时,所述密码管理代理根据所述密码请求中的数据库名和第一账号,将所述第一账号和对应的密码发送给所述应用,所述应用使用所述第一账号和对应的密码访问所述数据库。
在所述图2b中,示出了所述密码管理系统正在修改所述第一账号的密码时,所述应用向密码管理代理请求获取数据库密码的过程。所述密码管理系统正在修改所述第一账号的密码时,将所述第一账号的状态设置为:正在执行改密,当所述应用向所述密码管理代理发送密码请求时,所述密码管理代理根据所述密码请求中的数据库名和第一账号,将所述第二账号和对应的密码发送给所述应用,所述应用使用所述第二账号和对应的密码访问所述数据库。
需要说明的是,所述密码管理系统提供多种修改密码的方式,例如:用户可通过所述密码管理系统人工进行密码修改。也可通过在所述密码管理系统中设置改密任务,在指定时间点通知所述用户手动修改密码或自动修改密码。在本发明实施例中对于改密方式不做具体限定。
需要说明的是,上述图2a和图2b中示出的内容仅适用于举例说明。
在本发明实施例中,应用向密码管理代理请求获取第一账号的密码时,密码管理代理确定第一账号的状态是否为活动状态,若是,向应用发送第一账号及对应的密码,若否,向应用发送第二账号及对应的密码,使应用访问数据库。不需要人工持有密码,提高密码管理安全性,在修改数据库密码时,不需要中断与数据库相关的业务,以及修改完数据库密码后不需要重新启动应用
上述图1步骤S101中涉及的密码管理系统设置第一账号和第二账号的过程,参考图3,示出了本发明实施例提供的创建互相关联且具有相同权限的账号的流程图,包括以下步骤:
步骤S301:密码管理系统设置所述数据库的所述第一账号和所述第一账号对应的密码。
在具体实现步骤S301的过程中,用户通过所述密码管理系统添加所述第一账号,以及设置所述第一账号的密码。
步骤S302:所述密码管理系统确定是否存在与所述第一账号互相关联且具有相同访问权限的账号,若是,执行步骤S303,若否,执行步骤S304。
在具体实现步骤S302的过程中,用户在所述密码管理系统中设置所述第一账号和对应的密码之后,所述密码管理系统确定是否存在与所述第一账号互相关联且具有相同访问权限的账号,若存在,则不需要重新创建与所述第一账号互相关联且具有相同访问权限的账号,若不存在,则创建与所述第一账号互相关联且具有相同访问权限的第二账号和所述第二账号对应的密码。
需要说明的是,所述密码管理系统创建所述第二账号的方式包括但不仅限于:设置定期任务,在预设时间连接所述数据库,创建与所述第一账号互相关联且具有相同访问权限的第二账号和所述第二账号对应的密码。
步骤S303:确定与所述第一账号互相关联且具有相同访问权限的账号为所述第二账号。
步骤S304:创建与所述第一账号互相关联且具有相同访问权限的第二账号和所述第二账号对应的密码。
为更好解释说明上述本发明实施例图3中示出的内容,通过图4中示出的创建互备账号的流程示意图进行举例说明。在所述图4中,用户通过所述密码管理系统的Web界面添加数据库账号,即添加所述第一账号。所述密码管理系统确定所述数据库账号不存在权限相同且互相关联的备份账号,即不存在所述第二账号。所述密码管理系统在定时任务中创建新的任务,在指定时间点连接所述数据库创建所述备份账号。
在本发明实施例中,用户在密码管理系统中创建第一账号和对应的密码时,密码管理系统确定是否存在与所述第一账号互相关联且具有相同访问权限的第二账号,若不存在,则创建第二账号和对应的密码。应用向密码管理代理请求获取第一账号的密码时,密码管理代理确定第一账号的密码是否正在被修改,若是,向应用发送第二账号及对应的密码,若否,向应用发送第一账号及对应的密码,使应用访问数据库。不需要人工持有密码,提高密码管理安全性,在修改数据库密码时,不需要中断与数据库相关的业务,以及修改完数据库密码后不需要重新启动应用。
与上述本发明实施例提供的一种密码管理方法相对应,参考图5,本发明实施例还提供了一种密码管理装置的结构框图,所述密码管理装置包括:密码管理系统501和密码管理代理502。
所述密码管理系统501,用于预先为所述数据库设置具有相同访问权限的第二账号和所述第一账号,以及设置所述第一账号和第二账号各自对应的密码,并将所述第一账号、第二账号、第一账号和第二账号各自对应的密码发送至所述密码管理代理502。
所述密码管理代理502,用于收应用发送的获取数据库的访问密码的密码请求,并确定所述密码管理系统501是否正在修改所述第一账号的密码,若是,基于所述密码请求,向所述应用发送所述第二账号和所述第二账号对应的密码,若否,基于所述密码请求,向所述应用发送所述第一账号和所述第一账号对应的密码,使所述应用利用所述第一账号和所述第一账号对应的密码,或,利用所述第二账号和所述第二账号对应的密码,访问所述数据库,其中,所述密码请求至少包括所述数据库的第一账号和数据库名。
在具体实现中,所述密码管理代理502具体用于:若所述密码管理代理502接收到所述密码管理系统501发送的状态信息,确定所述密码管理系统501正在修改所述第一账号的密码,若所述密码管理代理502未接收到所述密码管理系统501发送的状态信息,确定所述密码管理系统501未正在修改所述第一账号的密码,其中,所述状态信息用于指示所述密码管理系统501需要修改所述第一账号的密码。
优选的,所述密码管理代理502接收到所述密码管理系统501发送的状态信息之后,所述密码管理代理502还用于:向所述密码管理系统501反馈回应信息,其中,所述回应信息用于指示所述密码管理代理502接收到所述状态信息。
优选的,所述密码管理系统501还用于:若所述密码管理系统501成功修改所述第一账号的密码,所述密码管理系统501将修改后的所述第一账号的密码发送至所述密码管理代理502,使所述密码管理代理502更新所述第一账号的密码。
在本发明实施例中,密码管理系统预先为数据库的第一账号设置相同权限的第二账号。应用向密码管理代理请求获取第一账号的密码时,密码管理代理确定第一账号的密码是否正在被修改,若是,向应用发送第二账号及对应的密码,若否,向应用发送第一账号及对应的密码,使应用访问数据库。不需要人工持有密码,提高密码管理安全性,在修改数据库密码时,不需要中断与数据库相关的业务,以及修改完数据库密码后不需要重新启动应用。
优选的,结合图5,参考图6,示出了本发明实施例提供的一种密码管理装置的结构框图,所述密码管理系统501包括:
设置单元5011,用于设置所述数据库的所述第一账号和所述第一账号对应的密码。
处理单元5012,用于确定是否存在与所述第一账号互相关联且具有相同访问权限的账号,若是,确定与所述第一账号互相关联且具有相同访问权限的账号为所述第二账号,若否,创建与所述第一账号互相关联且具有相同访问权限的第二账号和所述第二账号对应的密码。
在本发明实施例中,用户在密码管理系统中创建第一账号和对应的密码时,密码管理系统确定是否存在与所述第一账号互相关联且具有相同访问权限的第二账号,若不存在,则创建第二账号和对应的密码。应用向密码管理代理请求获取第一账号的密码时,密码管理代理确定第一账号的密码是否正在被修改,若是,向应用发送第二账号及对应的密码,若否,向应用发送第一账号及对应的密码,使应用访问数据库。不需要人工持有密码,提高密码管理安全性,在修改数据库密码时,不需要中断与数据库相关的业务,以及修改完数据库密码后不需要重新启动应用。
综上所述,本发明实施例提供一种密码管理方法及装置,该方法为:应用向密码管理代理请求获取数据库的访问密码。密码管理代理确定密码管理系统是否正在修改第一账号的密码。若否,密码管理代理基于密码请求,向应用发送第一账号和对应的密码。若是,密码管理代理基于密码请求,向应用发送第二账号和对应的密码。应用利用第一账号和对应的密码,或,利用第二账号和对应的密码,访问数据库。本方案中,密码管理系统预先为数据库的第一账号设置相同权限的第二账号。应用向密码管理代理请求获取第一账号的密码时,密码管理代理确定第一账号的密码是否正在被修改,若是,向应用发送第二账号及对应的密码,若否,向应用发送第一账号及对应的密码,使应用访问数据库。不需要人工持有密码,提高密码管理安全性,在修改数据库密码时,不需要中断与数据库相关的业务,以及修改完数据库密码后不需要重新启动应用。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种密码管理方法,其特征在于,所述方法包括:
应用向密码管理代理发送获取数据库的访问密码的密码请求,其中,所述密码请求至少包括所述数据库的第一账号和数据库名,密码管理系统预先为所述数据库设置具有相同访问权限的第二账号和所述第一账号,以及设置所述第一账号和第二账号各自对应的密码;
所述密码管理代理确定所述密码管理系统是否正在修改所述第一账号的密码,其中,所述密码管理系统预先将所述第一账号和第二账号,以及将所述第一账号和第二账号各自对应的密码发送至所述密码管理代理;
若所述密码管理系统未正在修改所述第一账号的密码,所述密码管理代理基于所述密码请求,向所述应用发送所述第一账号和所述第一账号对应的密码,使所述应用利用所述第一账号和所述第一账号对应的密码,访问所述数据库;
若所述密码管理系统正在修改所述第一账号的密码,所述密码管理代理基于所述密码请求,向所述应用发送所述第二账号和所述第二账号对应的密码,使所述应用利用所述第二账号和所述第二账号对应的密码,访问所述数据库。
2.根据权利要求1所述的方法,其特征在于,所述密码管理代理确定所述密码管理系统是否正在修改所述第一账号的密码,包括:
若所述密码管理代理接收到所述密码管理系统发送的状态信息,确定所述密码管理系统正在修改所述第一账号的密码,其中,所述状态信息用于指示所述密码管理系统需要修改所述第一账号的密码;
若所述密码管理代理未接收到所述密码管理系统发送的状态信息,确定所述密码管理系统未正在修改所述第一账号的密码。
3.根据权利要求1所述的方法,其特征在于,所述密码管理系统预先为所述数据库设置具有相同访问权限的第二账号和所述第一账号,以及设置所述第一账号和第二账号各自对应的密码,包括:
密码管理系统设置所述数据库的所述第一账号和所述第一账号对应的密码;
所述密码管理系统确定是否存在与所述第一账号互相关联且具有相同访问权限的账号;
若是,确定与所述第一账号互相关联且具有相同访问权限的账号为所述第二账号;
若否,创建与所述第一账号互相关联且具有相同访问权限的第二账号和所述第二账号对应的密码。
4.根据权利要求1所述的方法,其特征在于,所述若所述密码管理系统正在修改所述第一账号的密码之后,还包括:
若所述密码管理系统成功修改所述第一账号的密码,所述密码管理系统将修改后的所述第一账号的密码发送至所述密码管理代理,使所述密码管理代理更新所述第一账号的密码。
5.根据权利要求1所述的方法,其特征在于,所述若所述密码管理代理接收到所述密码管理系统发送的状态信息之后,还包括:
所述密码管理代理向所述密码管理系统反馈回应信息,其中,所述回应信息用于指示所述密码管理代理接收到所述状态信息。
6.一种密码管理装置,其特征在于,所述装置包括:密码管理系统和密码管理代理;
所述密码管理系统,用于预先为数据库设置具有相同访问权限的第二账号和第一账号,以及设置所述第一账号和第二账号各自对应的密码,并将所述第一账号、第二账号、第一账号和第二账号各自对应的密码发送至所述密码管理代理;
所述密码管理代理,用于接收应用发送的获取数据库的访问密码的密码请求,并确定所述密码管理系统是否正在修改所述第一账号的密码,若是,基于所述密码请求,向所述应用发送所述第二账号和所述第二账号对应的密码,使所述应用利用所述第二账号和所述第二账号对应的密码,访问所述数据库,若否,基于所述密码请求,向所述应用发送所述第一账号和所述第一账号对应的密码,使所述应用利用所述第一账号和所述第一账号对应的密码,访问所述数据库,其中,所述密码请求至少包括所述数据库的第一账号和数据库名。
7.根据权利要求6所述的装置,其特征在于,所述密码管理代理具体用于:若所述密码管理代理接收到所述密码管理系统发送的状态信息,确定所述密码管理系统正在修改所述第一账号的密码,若所述密码管理代理未接收到所述密码管理系统发送的状态信息,确定所述密码管理系统未正在修改所述第一账号的密码,其中,所述状态信息用于指示所述密码管理系统需要修改所述第一账号的密码。
8.根据权利要求6所述的装置,其特征在于,所述密码管理系统包括:
设置单元,用于设置所述数据库的所述第一账号和所述第一账号对应的密码;
处理单元,用于确定是否存在与所述第一账号互相关联且具有相同访问权限的账号,若是,确定与所述第一账号互相关联且具有相同访问权限的账号为所述第二账号,若否,创建与所述第一账号互相关联且具有相同访问权限的第二账号和所述第二账号对应的密码。
9.根据权利要求6所述的装置,其特征在于,所述密码管理系统还用于:若所述密码管理系统成功修改所述第一账号的密码,所述密码管理系统将修改后的所述第一账号的密码发送至所述密码管理代理,使所述密码管理代理更新所述第一账号的密码。
10.根据权利要求6所述的装置,其特征在于,所述密码管理代理接收到所述密码管理系统发送的状态信息之后,所述密码管理代理还用于:向所述密码管理系统反馈回应信息,其中,所述回应信息用于指示所述密码管理代理接收到所述状态信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910462156.4A CN110163003B (zh) | 2019-05-30 | 2019-05-30 | 一种密码管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910462156.4A CN110163003B (zh) | 2019-05-30 | 2019-05-30 | 一种密码管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110163003A CN110163003A (zh) | 2019-08-23 |
CN110163003B true CN110163003B (zh) | 2021-04-30 |
Family
ID=67629962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910462156.4A Active CN110163003B (zh) | 2019-05-30 | 2019-05-30 | 一种密码管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110163003B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111010397B (zh) * | 2019-12-18 | 2022-07-19 | 吉林亿联银行股份有限公司 | 数据库密码的修改方法及装置 |
CN113792304B (zh) * | 2021-08-12 | 2023-11-17 | 青岛海尔科技有限公司 | 数据库访问系统及方法 |
CN114239000A (zh) * | 2021-11-11 | 2022-03-25 | 中国南方电网有限责任公司 | 密码处理方法、装置、计算机设备和存储介质 |
CN114519184B (zh) * | 2022-04-20 | 2022-07-15 | 北京圣博润高新技术股份有限公司 | 基于Agent进程的账号改密方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7506171B2 (en) * | 2001-10-16 | 2009-03-17 | Activcard Ireland Limited | Method and systems for securely supporting password change |
CN104462936A (zh) * | 2014-11-23 | 2015-03-25 | 国云科技股份有限公司 | 一种Windows环境下MySQL数据库管理员账户忘记密码的解决方法 |
CN106656957A (zh) * | 2016-09-27 | 2017-05-10 | 乐视控股(北京)有限公司 | 账户共享方法及装置 |
CN109359445A (zh) * | 2018-09-25 | 2019-02-19 | 浙江齐治科技股份有限公司 | 一种数据库密码管理系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7353536B1 (en) * | 2003-09-23 | 2008-04-01 | At&T Delaware Intellectual Property, Inc | Methods of resetting passwords in network service systems including user redirection and related systems and computer-program products |
-
2019
- 2019-05-30 CN CN201910462156.4A patent/CN110163003B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7506171B2 (en) * | 2001-10-16 | 2009-03-17 | Activcard Ireland Limited | Method and systems for securely supporting password change |
CN104462936A (zh) * | 2014-11-23 | 2015-03-25 | 国云科技股份有限公司 | 一种Windows环境下MySQL数据库管理员账户忘记密码的解决方法 |
CN106656957A (zh) * | 2016-09-27 | 2017-05-10 | 乐视控股(北京)有限公司 | 账户共享方法及装置 |
CN109359445A (zh) * | 2018-09-25 | 2019-02-19 | 浙江齐治科技股份有限公司 | 一种数据库密码管理系统及方法 |
Non-Patent Citations (1)
Title |
---|
生产系统如何给MySQL用户改密码;wubx;《腾讯云 https://cloud.tencent.com/developer/article/1421152》;20190506;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110163003A (zh) | 2019-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110163003B (zh) | 一种密码管理方法及装置 | |
CN116302719B (zh) | 用于启用高可用性受管理故障转移服务的系统和方法 | |
JP6376869B2 (ja) | データ同期システム、その制御方法、認可サーバー、およびそのプログラム | |
CN110602136B (zh) | 集群访问方法和相关产品 | |
US10425421B2 (en) | Authorization server, control method, and storage medium | |
JP2013140480A (ja) | サーバシステム、サービス提供サーバおよび制御方法 | |
JP2020177537A (ja) | 認証認可サーバー、クライアント、サービス提供システム、アクセス管理方法とプログラム | |
JP2011215753A (ja) | 認証システムおよび認証方法 | |
CN110825400B (zh) | 一种应用程序客户端的证书更新方法和系统 | |
CN112162825A (zh) | 设备配置方法、装置、设备及存储介质 | |
CN110826052A (zh) | 保护服务器密码安全的方法和装置 | |
US11695751B2 (en) | Peer-to-peer notification system | |
JP2016148919A (ja) | ユーザ属性情報管理システムおよびユーザ属性情報管理方法 | |
US20240134959A1 (en) | Password management system and method for providing access to a password protected device | |
CN111835504B (zh) | 识别码生成方法及服务器 | |
CN108924149B (zh) | 一种基于Token令牌的身份合法性验证方法及系统 | |
GB2582180A (en) | Distributed authentication | |
JP6712112B2 (ja) | プログラマブルデバイス適用認証システム及び認証方法 | |
US10992748B1 (en) | Verification of event-based synchronization | |
CN112953951A (zh) | 一种基于国产cpu的用户登录验证和安全性检测方法及系统 | |
CN107018029B (zh) | 一种web管理软件自动切换的方法及系统 | |
WO2014163280A1 (ko) | 무선 통신 시스템에서 서버의 단말의 리소스 요청 또는 단말의 리소스 제공을 위한 방법 및 이를 위한 장치 | |
CN112565358B (zh) | 文件上传的方法、装置、设备和存储介质 | |
CN115150191B (zh) | 一种跨区域云管平台信息交互方法及相关组件 | |
CN115525677A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |