对数据库中的账号信息进行管理操作的方法、系统及装置的制作方法

文档序号:6334304阅读:143来源:国知局
专利名称:对数据库中的账号信息进行管理操作的方法、系统及装置的制作方法
技术领域
本发明涉及业务支撑技术领域,尤其涉及一种对数据库中的账号信息进行管理操作的方法、系统及装置。
背景技术
数据库中保存有大量的账号信息,可以通过安全管控平台对数据库中保存的账号进行管理操作,该管理操作包括增加账号的操作、删除账号的操作和修改账号的操作等。通过安全管控平台对数据库中保存的账号信息进行的管理操作包括安全管控平台根据自身在数据库上对应的数据库管理员(Database Administrator, DBA)账号信息,使用该DBA账号模拟登录到数据库,采用该DBA账号的相应管理操作的权限对数据库中保存的账号的信息进行管理操作。目前,由安全管控平台利用DBA账号模拟登录到数据库,然后采用该DBA账号的相应管理操作的权限对数据库中保存的账号信息进行管理操作的过程需要依赖于数据库自身的安全模型,因此使用DBA账号对数据库的账号信息进行管理操作的方法不可避免的继承了数据库安全模型的以下缺点数据库只能在某些特定的场景下才能实现针对数据库中的DBA账号进行命令级的授权,无法做到在所有应用模式下针对数据库中的DBA账号进行命令级授权。而对于不同的数据库管理级别和管理需求,其应该拥有的数据库管理操作的权限和命令集合是不同的,但现有的数据库的安全模型并不能灵活地、在所有应用模式下针对每个DBA账号进行命令级授权,因此授权的灵活性受到很大的影响,无法完全遵从最小化授权原则。

发明内容
有鉴于此,本发明实施例提供一种对数据库中的账号信息进行管理操作的方法、 系统及装置,用以解决现有技术中数据库账号授权的不灵活的问题。本发明实施例提供的一种对数据库中的账号信息进行管理操作的方法,包括安全管控平台接收第一账号发送的管理操作命令;根据所述管理操作命令,调用该管理操作命令对应的存储过程;采用调用的存储过程将所述管理操作命令发送到数据库,使数据库根据与所述第一账号对应的数据库管理员DBA账号,采用所述管理操作命令执行相应的管理操作。本发明实施例提供的一种对数据库中的账号信息进行管理操作的系统,包括安全管控平台,用于接收第一账号发送的管理操作命令,根据所述管理操作命令, 调用该管理操作命令对应的存储过程,采用调用的存储过程将所述管理操作命令发送到数据库;数据库,用于确定第一账号对应的数据库管理员DBA账号,根据确定的所述DBA账号,采用接收的所述管理操作命令执行相应的管理操作。本发明实施例提供的一种对数据库中的账号信息进行管理操作的装置,包括
接收模块,用于接收第一账号发送的管理操作命令;调用模块,用于根据所述管理操作命令,调用该管理操作命令对应的存储过程;发送模块,用于采用调用的存储过程将所述管理操作命令发送到数据库,使数据库根据与所述第一账号对应的数据库管理员DBA账号,采用所述管理操作命令执行相应的
管理操作。本发明实施例提供了一种对数据库中的账号信息进行管理操作的装置,所述装置包括接收模块,用于接收安全管控平台通过存储过程发送管理操作命令;管理模块,用于根据发送所述管理操作命令的第一账号,及保存的第一账号与DBA 账号的对应关系,确定所述第一账号对应的数据库管理员DBA账号,根据所述DBA账号,采用接收的所述管理操作命令执行相应的管理操作。本发明实施例提供一种对数据库中的账号信息进行管理操作的方法、系统及装置,该方法中用户登录安全管控平台的第一账号,通过第一账号发送管理操作命令,当安全管控平台接收到该管理操作命令后,将该管理操作命令及该第一账号的信息发送到数据库,使该数据库能够采用第一账号对应的DMA账号,根据接收到的管理操作命令执行相应的管理操作。由于在本发明实施例中数据库只能根据该安全管控平台发送的管理操作命令执行相应的操作,从而实现了授权最小化。


图1为本发明实施例提供的对数据库中的账号信息进行管理操作的过程;图2为本发明实施例提供的对数据库中的账号信息进行管理操作的另一过程;图3为本发明实施例提供的一种对数据库中的账号信息进行管理操作的系统的结构示意图;图4为本发明实施例提供的一种对数据库中的账号信息进行管理操作的装置的结构示意图;图5为本发明实施例提供的一种对数据库中的账号信息进行管理操作的装置的结构示意图。
具体实施例方式本发明实施例中为了在对数据库的账号信息进行管理时实现管理权限的授权最小化,提供了一种对数据库中的账号信息进行管理操作的方法、系统及装置,该方法中的安全管控平台为每个数据库管理用户预定义了该数据库管理用户的第一账号。当数据库管理用户需要对数据库中的账号信息进行管理操作时,首先使用自身的第一账号登录安全管控平台,然后通过该第一账号发送数据库管理账号管理操作命令,安全管控平台使用自身的 DBA账号通过存储过程将管理操作命令及相关参数传递给数据库执行,从而实现对数据库中账号信息的相应的管理操作。下面结合说明书附图,对本发明实施例进行详细说明。图1为本发明实施例提供的对数据库中的账号信息进行管理操作的过程,该过程包括以下步骤
SlOl 安全管控平台接收第一账号发送的管理操作命令。在本发明实施例中安全管控平台可以根据数据库账号管理人员的信息,预定义该用户的第一账号。例如当可以对数据库中的账号信息进行操作的数据库账号管理人员包括用户A、用户B和用户C,则分别针对用户A设置一个第一账号,即账号A,针对用户B设置账号B,针对用户C设置账号C。S102 根据所述管理操作命令,调用该操作命令对应的存储过程。在本发明实施例中可以设置具体的数据库可执行的账号管理操作命令,例如可以包括创建(CREATE)账号的操作命令(包括创建密码、表空间等),修改(ALTER)账号的操作命令(包括修改表空间、修改密码等),赋权(GRANT)操作命令(包括选择表空间,连接等) 等。并且根据设置的每个管理操作命令,配置与其对应的存储过程。因此当安全管控平台接收到第一账号发送的管理操作命令时,可以根据该管理操作命令调用该管理操作命令对应的存储过程。S103:采用调用的存储过程将所述管理操作命令发送到数据库,使数据库根据根据与所述第一账号对应的数据库管理员DBA账号,采用所述管理操作命令执行相应的管理操作。每个数据库账号管理人员在安全管控平台中都有独立的第一账号,安全管控平台负责将每个第一账号和其具体的数据库账号管理操作命令集合以及每个数据库账号管理操作命令的执行记录进行关联。安全管控平台在数据库上拥有一个数据库DBA账号,即安全管控平台中的每个第一账号与该数据库中的DBA账号对应,可以通过存储过程向存储过程传递并执行账号管理操作命令。或者,在本发明实施例中也可以在数据库中设置每个第一账号对应的DBA账号, 当需要对用户操作数据库的行为进行监控时,可以将每个第一账号或DBA账号对数据库进行操作的信息进行记录。在本发明实施例中当用户需要对数据库中的账号信息进行管理操作时,需要首先通过在安全管控平台中设置的第一账号的信息登录安全管控平台。当用户通过第一账号登录安全管控平台后,通过该第一账号向安全管控平台发送相应的管理操作命令。管理操作命令包括创建账号的操作命令、修改账号的操作命令和赋权操作命令中的一种或几种。另外由于在现有技术中,每个数据库账号管理人员被授权的数据库账号管理操作权限范围并不相同,而实际上数据库只能为每个DBA账号提供固定数量的管理操作权限, 因此给数据库账号管理人员分配的DBA账号可能就会拥有比实际需求的权限范围更大的操作权限,因此可以对数据库中的账号信息进行非授权管理操作,从而出现数据库账号信息的完整性、机密性和可靠性受到破坏的风险。因此在本发明实施例中为了保证数据库中保存的账号信息的安全性,针对每个第一账号设置了该第一账号相应的管理操作的权限,当接收到第一账号发送的管理操作命令时,需要确定该管理操作命令是否在该第一账号对应的管理操作权限范围之内,只有当该管理操作命令在该第一账号对应的管理操作权限范围之内时,才能根据该管理操作命令调用对应的存储过程。图2为本发明实施例提供的对数据库中的账号信息进行管理操作的另一过程,该
6过程包括以下步骤S201 安全管控平台接收第一账号发送的管理操作命令。S202 根据自身保存的预定义的每个第一账号对应的管理操作权限,判断所述第一账号的管理操作命令是否在所述预定义的第一账号对应的管理操作权限范围之内,当判断结果为是时,进行步骤S203,否则,进行步骤S207。S203 根据所述管理操作命令,调用该管理操作命令对应的存储过程。S204 采用调用的存储过程将所述管理操作命令发送到数据库。S205:数据库根据保存的第一账号与DBA账号的对应关系,确定所述第一账号对应的DBA账号,根据所述DBA账号,采用接收的所述管理操作命令执行相应的管理操作。具体的数据库验证安全管控平台在数据库上的DBA账号的真实性,即确定是否存在与该第一账号对应的DBA账号,如果验证通过则根据第一账号对应的DBA账号,采用接收的所述管理操作命令及参数执行相应的管理操作。S206 将管理操作的结果返回用户。S207 返回管理操作失败的信息。由于上述实施例中,当安全管控平台在接收到第一账号发送的管理操作命令后, 并不是直接根据该管理操作命令调用相应的存储过程,而是根据自身保存的预定义的对应该第一账号的管理操作权限,判断该第一账号发送的该管理操作命令是否在该第一账号对应的管理操作权限范围之内。只有该第一账号发送的管理操作命令在该第一账号对应的管理操作权限范围之内时,安全管控平台才根据该管理操作命令调用相应的存储过程。安全管控平台的上述判断的过程可以在向数据库发送该存储过程之前,获取该第一账号发送的管理操作命令之后的任意时刻进行,例如在获取了该管理操作命令对应的存储过程后进行判断也是可以的,只是在接收到第一账号的管理操作命令后即进行判断,对于那些不在第一账号的管理操作权限内的管理操作命令,可以不调用相应的存储过程,从而有效的节省安全管控平台的资源。在本发明实施例中每个数据库账号管理人员在安全管控平台中都有独立的第一账号,安全管控平台负责将每个第一账号和其具体的数据库账号管理操作命令集合以及每个数据库账号管理操作命令的执行记录进行关联。安全管控平台在数据库上拥有一个数据库DBA账号,可以通过存储过程向存储过程传递并执行账号管理操作命令。由于数据库只能执行该第一账号发送的管理操作命令,并且还可以在安全管控平台预定义每个第一账号的管理权限,从而可以针对数据库账号管理人员在数据库中的账号管理权限进行灵活地配置和修改,因此可以实现数据库账号管理人员的管理操作权限的最小化和可扩展性。在本发明实施中由于安全管控平台可以根据用户的管理操作命令,调用相应的存储过程。因此需要在安全管控平台中定义相应的管理操作命令对应的存储过程,该存储过程包括与创建账号的操作(CREATE,包括创建密码、表空间等)对应的存储过程、与修改账号的操作(ALTER,包括修改表空间、修改密码等)对应的存储过程、与赋权操作(GRANT,包括SELECT ANY TABLE,CONNECT等)对应的存储过程等存储过程。当安全管控平台接收到用户通过自身的第一账号发送的管理操作命令后,根据自身保存的对应该第一账号的管理操作权限信息,判断是否能够对第一账号发送的管理操作命令进行处理。即根据自身保存的该第一账号对应的管理操作权限,判断该第一账号发送的管理操作命令是否在该第一账号对应的管理操作权限范围之内,当该第一账号发送的管理操作命令在该第一账号对应的管理操作权限之内时,进行后续操作。由于该管理操作命令中携带具体的操作信息,例如ALTER、CREATE或者GRANT等。 因此安全管控平台根据接收到的该第一账号发送的管理操作命令,提取该第一账号的信息及管理操作命令中携带的具体的操作信息,将提取的信息添加到该第一账号对应的存储过程中从而生成该存储过程对应的完整的SQL语句。安全管控平台采用调用的存储过程,将该存储过程中添加的管理操作命令及相关参数发送到数据库。当数据库接收到该存储过程后,识别并提取该存储过程中添加的第一账号的信息及管理操作命令。并且在本发明实施例中为了满足用户的个性化需求,可以接收每个第一账号发送的与管理操作命令对应的参数信息,或者针对每个第一账号保存对应每个管理操作命令的参数信息。例如当该管理操作命令为创建账号的操作命令时,与该管理操作命令对应的参数信息可以为创建账号初始密码、账号默认表空间信息等,当该管理操作命令为修改账号的操作命令时,该管理操作命令对应的参数信息例如可以为修改账号的默认表空间、修改账号密码等,当该管理操作命令为赋权操作命令时,该管理操作命令对应的参数信息例如可以为SELECT ANY TABLE, CONNECT等。当数据库接收到安全管控平台发送的携同管理操作命令发送的对应该管理操作命令的参数信息时,在进行相应的管理操作时,根据该参数信息进行。当安全管控平台未发送与管理操作命令对应的参数信息时,数据库根据保存的对应该管理操作命令的默认参数信息进行相应的管理操作。本发明实施例中由于数据库管理人员通过登录安全管控平台的第一账号发送管理操作命令,当安全管控平台接收到该管理操作命令后,将该管理操作命令发送到数据库, 使该数据库只能根据该安全管控平台发送的管理操作命令执行相应的操作,从而实现了账号管理操作权限的最小化控制。并且当针对某一第一账号设置完毕其对应的管理权限后, 还可以在安全管控平台中根据需要,修改某一数据库管理人员的管理操作的权限,因此可以实现数据库管理人员管理操作权限的扩展性。另外,由于通过安全管控平台可以设置每个数据库管理人员对应的第一账号的管理权限的信息,只有当某一用户在安全管控平台上执行的管理操作命令在该第一账号对应的管理操作权限范围之内时,安全管控平台才能根据该管理操作命令调用对应的存储过程,在数据库上执行该存储过程对应的账号管理操作命令。因此保证了只有该用户发送的管理操作命令在该用户被授权的管理操作权限范围之内时,才能进行存储过程的调用并进行后续的管理操作,因此保证了数据库中保存的账号信息的安全性。图3为本发明实施例提供的一种对数据库中的账号信息进行管理操作的系统的结构示意图,所述系统包括安全管控平台31,用于接收第一账号发送的管理操作命令,根据所述管理操作命令,调用该管理操作命令对应的存储过程,采用调用的存储过程将所述管理操作命令发送到数据库;数据库32,用于确定第一账号对应的数据库管理员DBA账号,根据确定的所述DBA 账号,采用接收的所述管理操作命令执行相应的管理操作。所述安全管控平台31具体用于,根据自身预定义的每个第一账号对应的管理操作权限,判断所述第一账号的管理操作命令是否在所述预定义的第一账号对应的管理操作权限范围之内,确认该第一账号的管理操作命令在该第一账号对应的管理操作权限内之后,调用该管理操作命令对应的存储过程。所述安全管控平台31还用于,将保存的对应该管理操作命令的参数信息发送到数据库32 ;所述数据库32还用于,根据接收的所述参数信息,采用所述管理操作命令执行相应的管理操作。图4为本发明实施例提供的一种对数据库中的账号信息进行管理操作的装置的结构示意图,所述装置包括接收模块41,用于接收第一账号发送的管理操作命令;调用模块42,用于根据所述管理操作命令,调用该管理操作命令对应的存储过程;发送模块43,用于采用调用的存储过程将所述管理操作命令发送到数据库,使数据库根据与所述第一账号对应的数据库管理员DBA账号,采用所述管理操作命令执行相应的管理操作。 所述调用模块42包括存储单元421,用于保存预定义的每个第一账号对应的管理操作权限;调用单元422,用于根据自身预定义的每个第一账号对应的管理操作权限,判断所述第一账号的管理操作命令是否在所述预定义的第一账号对应的管理操作权限范围之内, 确认该第一账号的管理操作命令在该第一账号对应的管理操作权限内之后,调用该管理操作命令对应的存储过程。所述调用模块42具体用于,确定该管理操作命令对应存储过程,将所述管理操作命令中携带的管理操作参数添加到确定的所述存储过程中。图5为本发明实施例提供的一种对数据库中的账号信息进行管理操作的装置的结构示意图,所述装置包括接收模块51,用于接收安全管控平台通过存储过程发送管理操作命令;管理模块52,用于根据发送所述管理操作命令的第一账号,及保存的第一账号与 DBA账号的对应关系,确定所述第一账号对应的数据库管理员DBA账号,根据所述DBA账号, 采用接收的所述管理操作命令执行相应的管理操作。本发明提供一种对数据库中的账号信息进行管理操作的方法、系统及装置,该方法中用户登录安全管控平台的第一账号,通过第一账号发送管理操作命令,当安全管控平台接收到该管理操作命令后,将该管理操作命令及该第一账号的信息发送到数据库,使该数据库能够采用第一账号对应的DMA账号,根据接收到的管理操作命令执行相应的管理操作。由于在本发明实施例中数据库只能根据该安全管控平台发送的管理操作命令执行相应的操作,从而实现了授权最小化。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种对数据库中的账号信息进行管理操作的方法,其特征在于,包括 安全管控平台接收第一账号发送的管理操作命令;根据所述管理操作命令,调用该管理操作命令对应的存储过程; 采用调用的存储过程将所述管理操作命令发送到数据库,使数据库根据与所述第一账号对应的数据库管理员DBA账号,采用所述管理操作命令执行相应的管理操作。
2.如权利要求1所述的方法,其特征在于,根据所述管理操作命令,调用该管理操作命令对应的存储过程包括安全管控平台根据预定义的每个第一账号对应的管理操作权限,判断所述第一账号的管理操作命令是否在所述预定义的第一账号对应的管理操作权限范围之内;当确认该管理操作命令在该第一账号对应的管理操作权限内之后,调用该管理操作命令对应的存储过程。
3.如权利要求1或2所述的方法,其特征在于,所述调用该操作命令对应的存储过程包括确定该管理操作命令对应的存储过程,将所述管理操作命令中携带的管理操作参数添加到确定的所述存储过程中。
4.如权利要求1所述的方法,其特征在于,所述管理操作命令包括 创建账号的操作命令、修改账号的操作命令和赋权操作命令中的一种或几种。
5.如权利要求1所述的方法,其特征在于,所述将管理操作命令发送到数据库还包括 将所述管理操作命令及保存的对应该管理操作命令的参数信息发送到数据库; 采用所述管理操作命令执行相应的管理操作包括根据接收的所述参数信息,采用所述管理操作命令执行相应的管理操作。
6.一种对数据库中的账号信息进行管理操作的系统,其特征在于,所述系统包括安全管控平台,用于接收第一账号发送的管理操作命令,根据所述管理操作命令,调用该管理操作命令对应的存储过程,采用调用的存储过程将所述管理操作命令发送到数据库;数据库,用于确定第一账号对应的数据库管理员DBA账号,根据确定的所述DBA账号, 采用接收的所述管理操作命令执行相应的管理操作。
7.如权利要求6所述的系统,其特征在于,所述安全管控平台具体用于,根据自身预定义的每个第一账号对应的管理操作权限,判断所述第一账号的管理操作命令是否在所述预定义的第一账号对应的管理操作权限范围之内,确认该第一账号的管理操作命令在该第一账号对应的管理操作权限内之后,调用该管理操作命令对应的存储过程。
8.如权利要求6所述的系统,其特征在于,所述安全管控平台还用于,将保存的对应该管理操作命令的参数信息发送到数据库;所述数据库还用于,根据接收的所述参数信息,采用所述管理操作命令执行相应的管理操作。
9.一种对数据库中的账号信息进行管理操作的装置,其特征在于,所述装置包括 接收模块,用于接收第一账号发送的管理操作命令;调用模块,用于根据所述管理操作命令,调用该管理操作命令对应的存储过程; 发送模块,用于采用调用的存储过程将所述管理操作命令发送到数据库,使数据库根据与所述第一账号对应的数据库管理员DBA账号,采用所述管理操作命令执行相应的管理操作。
10.如权利要求9所述的装置,其特征在于,所述调用模块包括 存储单元,用于保存预定义的每个第一账号对应的管理操作权限;调用单元,用于根据自身预定义的每个第一账号对应的管理操作权限,判断所述第一账号的管理操作命令是否在所述预定义的第一账号对应的管理操作权限范围之内,确认该第一账号的管理操作命令在该第一账号对应的管理操作权限内之后,调用该管理操作命令对应的存储过程。
11.如权利要求9或10所述的装置,其特征在于,所述调用模块具体用于,确定该管理操作命令对应存储过程,将所述管理操作命令中携带的管理操作参数添加到确定的所述存储过程中。
12.一种对数据库中的账号信息进行管理操作的装置,其特征在于,所述装置包括 接收模块,用于接收安全管控平台通过存储过程发送管理操作命令;管理模块,用于根据发送所述管理操作命令的第一账号,及保存的第一账号与数据库管理员DBA账号的对应关系,确定所述第一账号对应的DBA账号,根据所述DBA账号,采用接收的所述管理操作命令执行相应的管理操作。
全文摘要
本发明公开了一种对数据库中的账号信息进行管理操作的方法、系统及装置,用以解决DBA账号授权的不灵活的问题。该方法用户通过登录安全管控平台的第一账号,通过第一账号发送管理操作命令,当安全管控平台接收到该管理操作命令后,将该管理操作命令及该第一账号的信息发送到数据库,使该数据库能够采用第一账号对应的DMA账号,根据接收到的管理操作命令执行相应的管理操作。由于在本发明实施例中数据库只能根据该安全管控平台发送的管理操作命令执行相应的操作,从而实现了授权最小化。
文档编号G06F17/30GK102456015SQ20101051730
公开日2012年5月16日 申请日期2010年10月25日 优先权日2010年10月25日
发明者杜海峰 申请人:中国移动通信集团河南有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1