CN113438082B - 数据库访问方法、装置、设备和存储介质 - Google Patents

数据库访问方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN113438082B
CN113438082B CN202110684005.0A CN202110684005A CN113438082B CN 113438082 B CN113438082 B CN 113438082B CN 202110684005 A CN202110684005 A CN 202110684005A CN 113438082 B CN113438082 B CN 113438082B
Authority
CN
China
Prior art keywords
account
token
database
creating
temporary
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
Application number
CN202110684005.0A
Other languages
English (en)
Other versions
CN113438082A (zh
Inventor
马洪亮
朱传奇
李涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Apas Digital Cloud Information Technology Co ltd
Original Assignee
Zhengzhou Apas Digital Cloud Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhengzhou Apas Digital Cloud Information Technology Co ltd filed Critical Zhengzhou Apas Digital Cloud Information Technology Co ltd
Priority to CN202110684005.0A priority Critical patent/CN113438082B/zh
Publication of CN113438082A publication Critical patent/CN113438082A/zh
Application granted granted Critical
Publication of CN113438082B publication Critical patent/CN113438082B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Storage Device Security (AREA)

Abstract

本说明书一个实施例提供了一种数据库访问方法、装置、设备和存储介质,其中方法包括:获取业务方发送的账号创建请求;所述账号创建请求用于请求创建访问数据库的临时账号;所述账号创建请求中携带有账号创建令牌;所述账号创建令牌由所述业务方根据令牌索引从配置中心处获取;根据所述账号创建请求,为所述业务方创建用于访问数据库的临时账号;根据预设的期限确定规则,确定所述临时账号的有效期限信息;将所述临时账号和所述有效期限信息下发至所述业务方,以便于所述业务方访问所述数据库。通过本实施例,能够提高用于访问数据库的账号的安全性,提高数据库访问的安全性。

Description

数据库访问方法、装置、设备和存储介质
技术领域
本文件涉及计算机技术领域,尤其涉及一种数据库访问方法、装置、设备和存储介质。
背景技术
业务方访问数据库时,需要获取访问账号,基于访问账号进行访问。现有技术中心,为业务方设置的访问账号是固定不变的,通常将访问账号记录在业务方的配置文件中,业务方的服务器从配置文件中读取该访问账号,进而访问数据库。由于现有技术中为业务方设置的访问账号是固定不变的,而且只是简答的记录在配置文件中,因此访问账号具有安全性低的缺陷,从而降低数据库访问的安全性。
发明内容
本说明书一个实施例的目的是提供一种数据库访问方法、装置、设备和存储介质,以提高用于访问数据库的账号的安全性,提高数据库访问的安全性。
为达到上述技术目的,本说明书一个实施例是这样实现的:
第一方面,本说明书一个实施例提供了一种数据库访问方法,包括:
获取业务方发送的账号创建请求;所述账号创建请求用于请求创建访问数据库的临时账号;所述账号创建请求中携带有账号创建令牌;所述账号创建令牌由所述业务方根据令牌索引从配置中心处获取;
根据所述账号创建请求,为所述业务方创建用于访问数据库的临时账号;
根据预设的期限确定规则,确定所述临时账号的有效期限信息;
将所述临时账号和所述有效期限信息下发至所述业务方,以便于所述业务方访问所述数据库。
第二方面,本说明书一个实施例提供了一种数据库访问方法,包括:
获取账号创建令牌对应的令牌索引,根据所述令牌索引,从配置中心处获取所述账号创建令牌;其中,所述账号创建令牌用于创建访问数据库的临时账号;
向秘钥管理系统发送账号创建请求;所述账号创建请求中携带有所述账号创建令牌;
接收所述秘钥管理系统基于所述账号创建请求创建并下发的用于访问数据库的临时账号和所述临时账号的有效期限信息;
根据所述临时账号和所述有效期限信息,访问所述数据库。
第三方面,本说明书一个实施例提供了一种数据库访问装置,包括:
请求获取模块,用于获取业务方发送的账号创建请求;所述账号创建请求用于请求创建访问数据库的临时账号;所述账号创建请求中携带有账号创建令牌;所述账号创建令牌由所述业务方根据令牌索引从配置中心处获取;
账号创建模块,用于根据所述账号创建请求,为所述业务方创建用于访问数据库的临时账号;
期限确定模块,用于根据预设的期限确定规则,确定所述临时账号的有效期限信息;
信息下发模块,用于将所述临时账号和所述有效期限信息下发至所述业务方,以便于所述业务方访问所述数据库。
第四方面,本说明书一个实施例提供了一种数据库访问装置,包括:
令牌获取模块,用于获取账号创建令牌对应的令牌索引,根据所述令牌索引,从配置中心处获取所述账号创建令牌;其中,所述账号创建令牌用于创建访问数据库的临时账号;
请求发送模块,用于向秘钥管理系统发送账号创建请求;所述账号创建请求中携带有所述账号创建令牌;
信息接收模块,用于接收所述秘钥管理系统基于所述账号创建请求创建并下发的用于访问数据库的临时账号和所述临时账号的有效期限信息;
数据访问模块,用于根据所述临时账号和所述有效期限信息,访问所述数据库。
第五方面,本说明书一个实施例提供了一种数据库访问设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器实现以下流程:
获取业务方发送的账号创建请求;所述账号创建请求用于请求创建访问数据库的临时账号;所述账号创建请求中携带有账号创建令牌;所述账号创建令牌由所述业务方根据令牌索引从配置中心处获取;
根据所述账号创建请求,为所述业务方创建用于访问数据库的临时账号;
根据预设的期限确定规则,确定所述临时账号的有效期限信息;
将所述临时账号和所述有效期限信息下发至所述业务方,以便于所述业务方访问所述数据库。
第六方面,本说明书一个实施例提供了一种存储介质,用于存储计算机可执行指令,所述计算机可执行指令在被处理器执行时实现以下流程:
获取业务方发送的账号创建请求;所述账号创建请求用于请求创建访问数据库的临时账号;所述账号创建请求中携带有账号创建令牌;所述账号创建令牌由所述业务方根据令牌索引从配置中心处获取;
根据所述账号创建请求,为所述业务方创建用于访问数据库的临时账号;
根据预设的期限确定规则,确定所述临时账号的有效期限信息;
将所述临时账号和所述有效期限信息下发至所述业务方,以便于所述业务方访问所述数据库。
第七方面,本说明书一个实施例提供了一种数据库访问设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器实现以下流程:
获取账号创建令牌对应的令牌索引,根据所述令牌索引,从配置中心处获取所述账号创建令牌;其中,所述账号创建令牌用于创建访问数据库的临时账号;
向秘钥管理系统发送账号创建请求;所述账号创建请求中携带有所述账号创建令牌;
接收所述秘钥管理系统基于所述账号创建请求创建并下发的用于访问数据库的临时账号和所述临时账号的有效期限信息;
根据所述临时账号和所述有效期限信息,访问所述数据库。
第八方面,本说明书一个实施例提供了一种存储介质,用于存储计算机可执行指令,所述计算机可执行指令在被处理器执行时实现以下流程:
获取账号创建令牌对应的令牌索引,根据所述令牌索引,从配置中心处获取所述账号创建令牌;其中,所述账号创建令牌用于创建访问数据库的临时账号;
向秘钥管理系统发送账号创建请求;所述账号创建请求中携带有所述账号创建令牌;
接收所述秘钥管理系统基于所述账号创建请求创建并下发的用于访问数据库的临时账号和所述临时账号的有效期限信息;
根据所述临时账号和所述有效期限信息,访问所述数据库。
本说明书一个或多个实施例提供的数据库访问方法、装置、设备和存储介质,业务方根据令牌索引从配置中心处获取账号创建令牌,基于携带有账号创建令牌的账号创建请求来请求创建访问数据库的账号,该账号为临时账号,具有有效期限,业务方基于该临时账号和有效期限,访问数据库。可见,本实施例中的访问数据库的账号是临时账号,具有有效期限,因此与固定不变的账号相比,能够提高账号的安全性,且账号需要根据令牌索引和账号创建令牌逐步创建,进一步提高了账号的安全性,从而提高了数据库访问的安全性。
附图说明
为了更清楚地说明本说明书一个或多个实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一实施例提供的数据库访问的场景示意图;
图2为本说明书一实施例提供的数据库访问方法的流程示意图;
图3为本说明书另一实施例提供的数据库访问方法的流程示意图;
图4为本说明书另一实施例提供的数据库访问方法的流程示意图;
图5为本说明书一实施例提供的数据库访问装置的结构示意图;
图6为本说明书另一实施例提供的数据库访问装置的结构示意图;
图7为本说明书一实施例提供的数据库访问设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
图1为本说明书一实施例提供的数据库访问的场景示意图,如图1所示,该场景包括业务方、配置中心、秘钥管理系统和数据库。图1中,业务方指的是业务方的业务服务器,配置中心是由多个配置服务器组成的具有配置功能的系统,秘钥管理系统是由多个秘钥管理服务器组成的具有秘钥管理功能的系统,数据库用于数据存储,是业务方访问的目标。在图1的场景中,业务方首先获取令牌索引,根据该令牌索引从配置中心处获取账号创建令牌,向秘钥管理系统发送该账号创建令牌,秘钥管理系统根据该账号创建令牌创建临时账号,并设置临时账号的有效期,将临时账号和有效期限信息发送至业务方,业务方根据该临时账号和有效期限信息访问数据库。
图1中,访问数据库的账号是临时账号,具有有效期限,因此与固定不变的账号相比,能够提高账号的安全性,且账号需要根据令牌索引和账号创建令牌逐步创建,进一步提高了账号的安全性,从而提高了数据库访问的安全性。这里需要说明的是,以下所说的业务方,均指的业务方的业务服务器。
图2为本说明书一实施例提供的数据库访问方法的流程示意图,该方法由图1中的秘钥管理系统执行,如图2所示,该方法包括以下步骤:
步骤S202,获取业务方发送的账号创建请求;账号创建请求用于请求创建访问数据库的临时账号;账号创建请求中携带有账号创建令牌;账号创建令牌由业务方根据令牌索引从配置中心处获取;
步骤S204,根据账号创建请求,为业务方创建用于访问数据库的临时账号;
步骤S206,根据预设的期限确定规则,确定临时账号的有效期限信息;
步骤S208,将临时账号和有效期限信息下发至业务方,以便于业务方访问数据库。
本实施例中,业务方根据令牌索引从配置中心处获取账号创建令牌,基于携带有账号创建令牌的账号创建请求来请求创建访问数据库的账号,该账号为临时账号,具有有效期限,业务方基于该临时账号和有效期限,访问数据库。可见,本实施例中的访问数据库的账号是临时账号,具有有效期限,因此与固定不变的账号相比,能够提高账号的安全性,且账号需要根据令牌索引和账号创建令牌逐步创建,进一步提高了账号的安全性,从而提高了数据库访问的安全性。
本实施例中,业务方首先获取令牌索引,令牌索引可以由业务管控人员预先配置在业务配置索引文件中,业务配置索引文件中记录有业务的各项配置信息的索引,从而,业务方从业务配置索引文件中提取令牌索引。令牌索引可以由业务管控人员自定义,比如定义令牌索引为“key”。
业务方获取令牌索引后,根据令牌索引获取账号创建令牌。账号创建令牌可以由业务管控人员预先配置在配置中心中,从而,业务方根据令牌索引从配置中心处提取账号创建令牌。
业务方获取账号创建令牌后,生成账号创建请求,账号创建请求中携带有账号创建令牌,并将账号创建请求发送至秘钥管理系统,从而,上述步骤S202中,秘钥管理系统获取业务方发送的账号创建请求。
上述步骤S204中,秘钥管理系统根据账号创建请求,为业务方创建用于访问数据库的临时账号。在一个实施例中,账号创建令牌由秘钥管理系统创建,具体由业务管控人员通过秘钥管理系统创建,从而业务管控人员可以将账号创建令牌配置在配置中心中。基于此,秘钥管理系统在根据账号创建请求,为业务方创建用于访问数据库的临时账号之前,还执行以下动作:
(a1)从账号创建请求中提取账号创建令牌;
(a2)对账号创建令牌的合法性进行校验;
(a3)校验通过后,执行根据账号创建请求,为业务方创建用于访问数据库的临时账号的动作。
首先,秘钥管理系统对账号创建请求进行解析,从中提取得到账号创建令牌。然后,秘钥管理系统判断账号创建令牌是否合法,由于账号创建令牌是秘钥管理系统创建,因此秘钥管理系统判断账号创建令牌是否为预先创建的令牌,也即,判断账号创建令牌是否正确。若秘钥管理系统判断账号创建令牌正确,是预先创建的令牌,则秘钥管理系统确定账号创建令牌合法性校验通过,若秘钥管理系统判断账号创建令牌错误,不是预先创建的令牌,则秘钥管理系统确定账号创建令牌合法性校验不通过。在秘钥管理系统确定账号创建令牌合法性校验通过之后,秘钥管理系统执行步骤S204,根据账号创建请求,为业务方创建用于访问数据库的临时账号。
在一个实施例中,秘钥管理系统根据账号创建请求,为业务方创建用于访问数据库的临时账号,具体为:
(b1)从账号创建请求中提取账号创建令牌;
(b2)获取预先创建的与账号创建令牌相对应的数据库管理账号;其中,数据库管理账号、账号创建令牌、令牌索引、业务方四者一一对应;数据库管理账号具有创建数据库访问账号以及为数据库访问账号分配数据库访问权限的权限;
(b3)通过数据库管理账号,为业务方创建数据库访问账号,将数据库访问账号作为临时账号;
(b4)通过数据库管理账号,为临时账号分配数据库访问权限。
首先,秘钥管理系统对账号创建请求进行解析,从账号创建请求中提取账号创建令牌。然后,秘钥管理系统获取预先创建的与账号创建令牌相对应的数据库管理账号。具体而言,数据库管理账号可以由业务管控人员预先在数据库端创建,数据库管理账号具有创建数据库访问账号以及为数据库访问账号分配数据库访问权限的权限。业务管控人员在数据库端创建数据库管理账号之后,将数据库管理账号配置在秘钥管理系统中,比如登录秘钥管理系统,在secret菜单页创建一个数据库secret,将数据库管理账号配置到这个secret中。接着,业务管控人员在密钥管理系统中为数据库管理账号创建一个角色role,该role的作用是利用数据库管理账号创建数据库访问账号。接着,业务管控人员在秘钥管理系统中新建账号创建令牌,将前述的角色role分配给该账号创建令牌,从而实现数据库管理账号-角色-账号创建令牌一一对应。由于账号创建令牌还与令牌索引一一对应,且数据库管理账号、角色、账号创建令牌和令牌索引都用于为同一业务创建访问数据库的临时账号,因此数据库管理账号、角色、账号创建令牌、令牌索引、业务方五者一一对应。
秘钥管理系统在获取数据库管理账号之后,通过动作(b3),通过数据库管理账号,为业务方创建数据库访问账号,将数据库访问账号作为临时账号。具体而言,数据库管理账号具有创建数据库访问账号的权限,因此秘钥管理系统调用数据库管理账号为业务方创建数据库访问账号,并将该数据库访问账号作为临时账号。
接着,秘钥管理系统还通过(b4),通过数据库管理账号,为临时账号分配数据库访问权限。具体而言,数据库管理账号具有为创建的数据库访问账号分配数据库访问权限的权限,因此秘钥管理系统调用数据库管理账号,为创建的临时账号分配数据库访问权限。
在一个实施例中,秘钥管理系统通过数据库管理账号,为临时账号分配数据库访问权限,具体为:
(b41)读取数据库管理账号的为临时账号分配数据库访问权限的权限信息;权限信息由业务管控人员为业务方配置;
(b42)根据读取到的权限信息,为临时账号分配数据库访问权限。
具体而言,业务管控人员在创建数据库管理账号之后,为数据库管理账号配置有为临时账号分配数据库访问权限的权限信息,该权限信息中记录有为临时账号分配的数据库访问权限,具体可以包括临时账号允许访问的数据库表的表标识。动作(b41)中,秘钥管理系统读取数据库管理账号的为临时账号分配数据库访问权限的权限信息,动作(b42)中,秘钥管理系统从读取到的权限信息中,提取临时账号允许访问的数据库表的表标识,根据该表的标识,为临时账号分配数据库访问权限。为临时账号分配数据库访问权限后,临时账号即可访问上述记录的表的标识对应的表。
在为业务方创建临时账号之后,秘钥管理系统执行步骤S206,根据预设的期限确定规则,确定临时账号的有效期限信息,该步骤具体为:
(c1)根据预设的期限确定规则,设置临时账号的续约时间要求;
(c2)根据预设的期限确定规则,设置临时账号经过续约后的最大使用期限;
(c3)根据临时账号的续约时间要求和临时账号的最大使用期限,确定临时账号的有效期限信息。
秘钥管理系统中预设有期限确定规则,该规则中记录了临时账号的续约时间要求和经过续约后的最大使用期限。该期限确定规则可以是人工配置在秘钥管理系统中的。上述动作(c1)中,秘钥管理系统读取预设的期限确定规则,从中提取临时账号的续约时间要求,续约时间要求可以举例为:在临时账号首次登录数据库之后,每到一个小时需要续约一次。上述动作(c2)中,秘钥管理系统读取预设的期限确定规则,从中提取临时账号经过续约后的最大使用期限,最大使用期限可以举例为在临时账号首次登录数据库之后的24小时。上述动作(c3)中,秘钥管理系统将临时账号的续约时间要求和临时账号的最大使用期限,共同作为临时账号的有效期限信息。
作为一种可选的实施方式,期限确定规则可以与业务方一一对应,可以根据业务方的需求为每个业务方设置对应的期限确定规则,也即,根据业务方的需求为每个业务方设置对应的临时账号的续约时间要求和临时账号的最大使用期限,从而满足不同业务方对临时账号的需求,实现不同业务方的临时账号的灵活管理。
在确定临时账号的有效期限信息之后,执行步骤S208,将临时账号和有效期限信息下发至业务方,比如发送至业务方的服务器,以便于业务方通过临时账号和有效期限信息访问数据库。
本实施例中,秘钥管理系统在确定临时账号的有效期限信息之后,还执行以下动作:
(d1)定期检查临时账号的有效性;有效性包括临时账号是否超过最大使用期限以及是否按照续约时间要求成功续约;
(d2)若临时账号超过最大使用期限或者没有按照续约时间要求成功续约,则确定临时账号失效;
(d3)对临时账号进行延迟销毁,并向业务方发送账号销毁通知。
首先,秘钥管理系统对于创建的临时账号,检查该账号是否超过最大使用期限,比如,该账号是2月4日0点创建的,最大使用期限是24小时,若当前时间是2月5日0点以前,则确定位于最大使用期限内,若是2月5日0点以后,则确定超过最大使用期限。秘钥管理系统还判断临时账号是否按照续约时间要求成功续约,比如,续约时间要求是在临时账号首次登录数据库之后,每到一个小时需要续约一次,则判断临时账号是否按照该要求成功续约。
若临时账号超过最大使用期限或者没有按照续约时间要求成功续约,则秘钥管理系统确定临时账号失效,若临时账号位于最大使用期限内且按照续约时间要求成功续约,则秘钥管理系统确定临时账号有效。
在确定临时账号失效之后,秘钥管理系统对临时账号进行延迟销毁。延迟销毁指的是在确定临时账号失效的时间点开始,经过一定的延迟时间之后再销毁临时账号。经过一定的延迟时间之后再销毁临时账号,能够避免临时账号正在使用导致的数据丢失问题。
根据以上描述可知,账号创建令牌由秘钥管理系统创建并配置在配置中心处,基于此,秘钥管理系统在为业务方创建账号创建令牌之后,还能够定期更新账号创建令牌,并将更新后的账号创建令牌配置在配置中心处。
具体而言,对于一个业务而言,秘钥管理系统在为该业务创建账号创建令牌之后,业务管控人员获取该账号创建令牌,将该账号创建令牌配置在配置中心处。对于该业务,秘钥管理系统定期为该业务更新账号创建令牌,业务管控人员获取更新后的账号创建令牌并配置在配置中心处。
由于数据库管理账号、角色、账号创建令牌、令牌索引、业务方五者一一对应,因此秘钥管理系统除了可以定期更新账号创建令牌以外,还可以定期更新令牌索引,更新后的令牌索引和更新后的账号创建令牌一一对应。
通过更新令牌索引和账号创建令牌,能够保证账号创建令牌的安全性,从而提高创建的临时账号的安全性,从而提高数据访问安全。
前面从秘钥管理系统端介绍了数据库访问方法,下面从业务端介绍数据库访问方法,图3为本说明书另一实施例提供的数据库访问方法的流程示意图,该方法由图1中的业务方执行,如图3所示,该方法包括以下步骤:
步骤S302,获取账号创建令牌对应的令牌索引,根据令牌索引,从配置中心处获取账号创建令牌;其中,账号创建令牌用于创建访问数据库的临时账号;
步骤S304,向秘钥管理系统发送账号创建请求;账号创建请求中携带有账号创建令牌;
步骤S306,接收秘钥管理系统基于账号创建请求创建并下发的用于访问数据库的临时账号和临时账号的有效期限信息;
步骤S308,根据临时账号和有效期限信息,访问数据库。
本实施例中,业务方根据令牌索引从配置中心处获取账号创建令牌,基于携带有账号创建令牌的账号创建请求来请求创建访问数据库的账号,该账号为临时账号,具有有效期限,业务方基于该临时账号和有效期限,访问数据库。可见,本实施例中的访问数据库的账号是临时账号,具有有效期限,因此与固定不变的账号相比,能够提高账号的安全性,且账号需要根据令牌索引和账号创建令牌逐步创建,进一步提高了账号的安全性,从而提高了数据库访问的安全性。
上述步骤S302中,业务方获取账号创建令牌对应的令牌索引,具体包括:在业务启动后,获取业务的业务配置索引文件;从业务的业务配置索引文件中提取账号创建令牌对应的令牌索引;其中,令牌索引预先配置在业务配置索引文件中。令牌索引可以由业务管控人员预先配置在业务配置索引文件中,业务配置索引文件中记录有业务的各项配置信息的索引,从而,业务方从业务配置索引文件中提取令牌索引。令牌索引可以由业务管控人员自定义,比如定义令牌索引为“key”。
上述步骤S302中,业务方根据令牌索引,从配置中心处获取账号创建令牌,具体包括:在业务启动后,从配置中心处下载业务的业务配置内容文件,根据令牌索引,从下载的业务配置内容文件中提取账号创建令牌;其中,账号创建令牌预先配置在业务配置内容文件中。
具体而言,账号创建令牌预先由业务管控人员配置在配置中心处,具体配置在业务配置内容文件中,业务配置内容文件存储在配置中心中。业务方可以在业务启动后,从配置中心处下载业务的业务配置内容文件,业务配置内容文件中记录有业务的各项配置信息的索引对应的配置内容,从而业务方根据令牌索引,从下载的业务配置内容文件中提取账号创建令牌。
本实施例中,业务配置索引文件和业务配置内容文件,都可以理解为业务配置文件的一种具体形式。
在获取到账号创建令牌之后,业务方生成账号创建请求,账号创建请求中携带有账号创建令牌,并将账号创建请求发送至秘钥管理系统。秘钥管理系统根据图2中的方法流程,基于账号创建请求创建用于访问数据库的临时账号,并确定临时账号的有效期限信息,并将临时账号和临时账号的有效期限信息发送至业务方。
业务方接收秘钥管理系统基于账号创建请求创建并下发的用于访问数据库的临时账号和临时账号的有效期限信息,根据临时账号和有效期限信息,访问数据库,比如,根据有效期限信息中的临时账号的最大使用期限访问数据库,根据有效期限信息中的续约时间要求对临时账号进行续约。
在一个实施例中,配置中心具有业务管控人员访问权限和业务开发人员访问权限。业务管控人员访问权限用于在业务配置内容文件中配置账号创建令牌,以及,用于在业务配置索引文件中配置令牌索引。账号创建令牌和令牌索引对于业务开发人员访问权限不可见。
具体而言,配置中心对于业务管控人员设置有业务管控人员访问权限,对于业务开发人员设置有业务开发人员访问权限。业务管控人员通过业务管控人员访问权限,可以在业务配置内容文件中配置账号创建令牌,以及在业务配置索引文件中配置令牌索引。然而,业务开发人员通过业务开发人员访问权限,无法查看账号创建令牌和令牌索引。由于账号创建令牌和令牌索引对于业务开发人员访问权限不可见,因此能够避免账号创建令牌和令牌索引的泄露,从而提高账号创建的安全性。比如,由于业务开发人员通过业务开发人员访问权限,无法查看账号创建令牌和令牌索引,因此业务开发人员在访问配置中心的过程中,无法通过打印等方式输出账号创建令牌和令牌索引,因此提高了账号创建的安全性。
通过在配置中心中分别设置业务管控人员访问权限和业务开发人员访问权限,实现了业务管控和业务开发的权限隔离,提高了数据库访问的安全性。
在一个实施例中,业务方在接收到有效期限信息之后,还执行以下步骤:
(1)从有效期限信息中提取临时账号的续约时间要求;
(2)根据续约时间要求,设置定时器的消息定时发送机制;消息定时发送机制用于定时向秘钥管理系统发送账号续约申请;
(3)触发设置好的定时器基于消息定时发送机制,定时向秘钥管理系统发送账号续约申请。
首先,业务方从有效期限信息中提取临时账号的续约时间要求,比如,续约时间要求为:在临时账号首次登录数据库之后,每到一个小时需要续约一次。然后,业务方根据续约时间要求设置定时器的消息定时发送机制;消息定时发送机制用于定时向秘钥管理系统发送账号续约申请。比如,设置定时器为在临时账号首次登录数据库之后,每到一个小时向秘钥管理系统发送一次账号续约申请,最后,业务方触发设置好的定时器基于消息定时发送机制,定时向秘钥管理系统发送账号续约申请。比如,触发定时器在临时账号首次登录数据库之后,每到一个小时向秘钥管理系统发送一次账号续约申请。
通过本实施例,能够设置定时器根据临时账号的续约时间要求,自动向秘钥管理系统发送账号续约申请,从而保证临时账号能够持续有效。
在一个实施例中,业务方在向秘钥管理系统发送账号续约申请之后,还执行:
(4)接收秘钥管理系统根据账号续约申请返回的续约失败消息;
(5)基于续约失败消息,重新向秘钥管理系统发送账号创建请求,以请求创建新的临时账号。
一种情况下,业务方接收秘钥管理系统根据账号续约申请返回的续约成功消息,并确定临时账号续约成功,能够继续使用。另一种情况下,业务方接收秘钥管理系统根据账号续约申请返回的续约失败消息。当当前时间已经超过临时账号的最大使用期限或者临时账号已经被销毁时,业务方可以返回续约失败消息。由于续约失败,因此业务方重新获取账号创建令牌,该获取的账号创建令牌可以是秘钥管理系统更新前的账号创建令牌,也可以是秘钥管理系统更新后的账号创建令牌。业务方根据获取的账号创建令牌,重新向秘钥管理系统发送账号创建请求,以请求创建新的临时账号。
通过本实施例,能够在临时账号续约失败的情况下,重新发送账号创建请求,从而重新创建新的临时账号,以保证数据库的可访问性。
在一个实施例中,业务方在接收到所述临时账号之后,还执行以下步骤:
(1)接收秘钥管理系统发送的临时账号失效的账号销毁通知;
(2)基于账号销毁通知,重新向秘钥管理系统发送账号创建请求,以请求创建新的临时账号。
如前所述,秘钥管理系统会对失效的临时账号进行销毁,在销毁之后,秘钥管理系统向业务方发送账号销毁通知。业务方接收到秘钥管理系统发送的临时账号失效的账号销毁通知之后,基于账号销毁通知,重新向秘钥管理系统发送账号创建请求,以请求创建新的临时账号。具体地,业务方重新获取账号创建令牌,该获取的账号创建令牌可以是秘钥管理系统更新前的账号创建令牌,也可以是秘钥管理系统更新后的账号创建令牌。业务方根据获取的账号创建令牌,重新向秘钥管理系统发送账号创建请求,以请求创建新的临时账号。
通过本实施例,能够在临时账号被销毁的情况下,重新发送账号创建请求,从而重新创建新的临时账号,以保证数据库的可访问性。
图4为本说明书另一实施例提供的数据库访问方法的流程示意图,如图4所示,该流程包括:
步骤S402,业务方从业务配置索引文件中获取令牌索引;
步骤S404,业务方从配置中心处下载业务配置内容文件;
步骤S406,业务方从业务配置内容文件中提取账号创建令牌;
步骤S408,业务方向秘钥管理系统发送账号创建令牌;
步骤S410,秘钥管理系统根据账号创建令牌创建临时账号;
步骤S412,秘钥管理系统确定临时账号的有效期限信息;
步骤S414,秘钥管理系统向业务方发送临时账号和有效期限信息;
步骤S416,业务方基于临时账号和有效期限信息访问数据库;
步骤S418,业务方向秘钥管理系统发送临时账号的续约申请;
步骤S420,秘钥管理系统向业务方返回续约成功的通知消息。
图4中的具体过程可以参考前面的描述,这里不再重复。
在一个具体的实施例中,配置中心为Apollo配置中心,秘钥管理系统为vault秘钥管理系统。Apollo配置中心是分布式配置中心,能够集中化管理应用于不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。vault秘钥管理系统,也就是俗称的KMS,Vault提供了对token、密码、证书、API key等的安全存储(key/value)和控制。vault秘钥管理系统能处理key的续租、撤销、审计等功能。通过API访问可以获取到加密保存的密码、ssh key、X.509的certs等,其底层使用了Shamir's Secret Sharing算法加密存储,且有审计日志,所有对API的调用都会记录在一个审计日志上。
该实施例中,首先业务管控人员使用数据库如mysql的客户端连接数据库,并使用超级管理员权限登录,然后开始创建一个新的数据库管理账号,该账号包含账号名和密码及创建或删除用户的权限,并授权业务访问数据库中的哪些表的权限,创建完成后等待后续使用。该步骤对应前述的创建数据库管理账号的动作。
接着,业务管控人员使用浏览器登录vault管理后台,在secret菜单页创建一个数据库secret,将步骤一中创建的数据库管理账号配置到这个secret中。然后使用该secret创建一个role,该role的作用是创建访问数据库的临时账号。然后新建vault-token作为账号创建令牌,将该role分配给新建的vault-token,后续可以通过HTTP协议请求vault服务,使用该vault-token获得一个数据库临时账号。该步骤对应前述的秘钥管理系统创建账号创建令牌的动作。通过该步骤,业务方-角色-账号创建令牌-数据库管理账号四者一一对应。
接着,业务管控人员使用浏览器访问Apollo后台管理,使用管控配置权限登录,将vault-token配置在管控配置中,vault-token配置分为两部分,1、key也即令牌索引是vault-token的引用名称,业务管控人员将key配置在业务配置索引文件中,该步骤也可以由业务开发人员执行,业务管控人员将key发送至业务开发人员,业务端服务启动时,可以从业务配置索引文件中获得key,2、value是配置vault-token值,业务管控人员将value配置在业务配置内容文件中。业务配置内容文件位于Apollo平台,业务配置索引文件位于业务端本地。业务管控人员还可以将key发送给业务开发人员,使得key对于业务开发人员可见。业务开发人员也可以使用业务权限访问Apollo,进行业务配置,如业务的功能开关,打印日志级别等。在Apollo中,业务管控人员访问权限和业务开发人员访问权限用于区分管控配置与普通业务配置,业务管控人员访问权限和业务开发人员访问权限的区别在于,业务管控人员访问权限用于在业务配置内容文件中配置账号创建令牌,以及,用于在业务配置索引文件中配置令牌索引,账号创建令牌和令牌索引对于业务开发人员访问权限不可见。该步骤对应前述的在配置中心中配置账号创建令牌和在业务配置索引文件中配置令牌索引的动作。
接着,业务端开始启动,通过HTTP协议访问Apollo配置中心的Meta-Server,获得Config-Service地址,再使用业务端的业务编号、所在服务器IP、当前环境、业务配置内容文件的秘钥及业务配置内容文件的名称等参数请求Config-Service,Config-Service从Apollo配置中心的数据存储中,获取业务管控人员配置的业务配置内容文件返回给业务端。业务端启动后,从配置内容索引文件中获取vault-token的key,根据key从业务内容配置文件中获取账号创建令牌vault-token的value。使用Meta-Server可以支持高可用,返回的Config-Service地址是多个的,屏蔽了Config-Service宕机和新加机器的问题。请求Config-Service获取管控配置时,需要多个请求参数同时校验通过,减少了管控配置泄露的难度。该步骤对应前述的业务方获取账号创建令牌和令牌索引的动作。
接着,业务端通过HTTPS协议,访问vault服务器,使用带有vault-token参数请求vault提供的API接口,vault首先校验token正确性,然后根据token的role配置从加密存储中提取之前DBA配置的mysql账号,使用mysql协议访问mysql数据库,使用该账号登录创建一个临时mysql登录账号,并授权响应的业务权限(如查询业务表),创建成功后将临时账号回写到加密存储中,并创建一个临时凭证,并为此临时凭证增加一个租约功能,最后返回给业务端临时凭证,该凭证下包含:凭证ID、数据库访问的临时账号、租期等。该步骤对应前述的业务方根据账号创建令牌请求秘钥管理系统创建临时账号以及秘钥管理系统创建临时账号的动作。
接着,业务端使用基于TCP的访问协议访问数据库,并使用临时账号登录,并将这样创建并登录成功的数据库链接放入业务端的数据库链接池,留做后续业务使用,如查询数据库业务表数据等。该步骤对应前述的业务方根据临时账号和有效期限信息访问数据库的动作。
通过以上实施例提供的数据库访问方法,结合秘钥管理系统和配置中心共同使用创建访问数据库的临时账号,能够提高数据库访问的安全性。
图5为本说明书一实施例提供的数据库访问装置的结构示意图,该装置应用于上述的秘钥管理系统,如图5所示,该装置包括:
请求获取模块51,用于获取业务方发送的账号创建请求;所述账号创建请求用于请求创建访问数据库的临时账号;所述账号创建请求中携带有账号创建令牌;所述账号创建令牌由所述业务方根据令牌索引从配置中心处获取;
账号创建模块52,用于根据所述账号创建请求,为所述业务方创建用于访问数据库的临时账号;
期限确定模块53,用于根据预设的期限确定规则,确定所述临时账号的有效期限信息;
信息下发模块54,用于将所述临时账号和所述有效期限信息下发至所述业务方,以便于所述业务方访问所述数据库。
可选地,还包括校验模块,用于:在根据所述账号创建请求,为所述业务方创建用于访问数据库的临时账号之前,从所述账号创建请求中提取所述账号创建令牌;对所述账号创建令牌的合法性进行校验;校验通过后,执行根据所述账号创建请求,为所述业务方创建用于访问数据库的临时账号的动作。
可选地,账号创建模块52具体用于:从所述账号创建请求中提取所述账号创建令牌;获取预先创建的与所述账号创建令牌相对应的数据库管理账号;其中,所述数据库管理账号、所述账号创建令牌、所述令牌索引、所述业务方四者一一对应;所述数据库管理账号具有创建数据库访问账号以及为所述数据库访问账号分配数据库访问权限的权限;通过所述数据库管理账号,为所述业务方创建数据库访问账号,将所述数据库访问账号作为所述临时账号;通过所述数据库管理账号,为所述临时账号分配数据库访问权限。
可选地,账号创建模块52还具体用于:读取所述数据库管理账号的为所述临时账号分配数据库访问权限的权限信息;所述权限信息由业务管控人员为所述业务方配置;根据读取到的权限信息,为所述临时账号分配数据库访问权限。
可选地,期限确定模块53具体用于:根据预设的期限确定规则,设置所述临时账号的续约时间要求;根据预设的期限确定规则,设置所述临时账号经过续约后的最大使用期限;根据所述临时账号的续约时间要求和所述临时账号的最大使用期限,确定所述临时账号的有效期限信息。
可选地,该装置还包括销毁模块,用于:在确定所述临时账号的有效期限信息之后,定期检查所述临时账号的有效性;所述有效性包括所述临时账号是否超过所述最大使用期限以及是否按照所述续约时间要求成功续约;若所述临时账号超过所述最大使用期限或者没有按照所述续约时间要求成功续约,则确定所述临时账号失效;对所述临时账号进行延迟销毁,并向所述业务方发送账号销毁通知。
可选地,所述装置位于秘钥管理系统;所述账号创建令牌由所述秘钥管理系统创建并配置在所述配置中心处;该装置还包括更新模块,用于:在为所述业务方创建所述账号创建令牌之后,定期更新所述账号创建令牌,并将更新后的所述账号创建令牌配置在所述配置中心处。
图5中的装置能够实现上述应用于秘钥管理系统的数据库访问方法的各个实施例,并达到相同的功能和效果,这里不再重复。
图6为本说明书另一实施例提供的数据库访问装置的结构示意图,该装置应用于上述的业务方,如图6所示,该装置包括:
令牌获取模块61,用于获取账号创建令牌对应的令牌索引,根据所述令牌索引,从配置中心处获取所述账号创建令牌;其中,所述账号创建令牌用于创建访问数据库的临时账号;
请求发送模块62,用于向秘钥管理系统发送账号创建请求;所述账号创建请求中携带有所述账号创建令牌;
信息接收模块63,用于接收所述秘钥管理系统基于所述账号创建请求创建并下发的用于访问数据库的临时账号和所述临时账号的有效期限信息;
数据访问模块64,用于根据所述临时账号和所述有效期限信息,访问所述数据库。
可选地,令牌获取模块61具体用于:在业务启动后,获取所述业务的业务配置索引文件;从所述业务的业务配置索引文件中提取账号创建令牌对应的令牌索引;其中,所述令牌索引预先配置在所述业务配置索引文件中。
可选地,令牌获取模块61具体用于:在业务启动后,从所述配置中心处下载所述业务的业务配置内容文件;根据所述令牌索引,从下载的所述业务配置内容文件中提取所述账号创建令牌;其中,所述账号创建令牌预先配置在所述业务配置内容文件中。
可选地,所述配置中心具有业务管控人员访问权限和业务开发人员访问权限;所述业务管控人员访问权限用于在所述业务配置内容文件中配置所述账号创建令牌,以及,用于在所述业务配置索引文件中配置所述令牌索引;所述账号创建令牌和所述令牌索引对于所述业务开发人员访问权限不可见。
可选地,该装置还包括续约模块,用于:在接收到所述有效期限信息之后,从所述有效期限信息中提取所述临时账号的续约时间要求;根据所述续约时间要求,设置定时器的消息定时发送机制;所述消息定时发送机制用于定时向所述秘钥管理系统发送账号续约申请;触发设置好的定时器基于所述消息定时发送机制,定时向所述秘钥管理系统发送账号续约申请。
可选地,该装置还包括第一新建模块,用于:在向所述秘钥管理系统发送账号续约申请之后,接收所述秘钥管理系统根据所述账号续约申请返回的续约失败消息;基于所述续约失败消息,重新向所述秘钥管理系统发送账号创建请求,以请求创建新的临时账号。
可选地,该装置还包括第二新建模块,用于:在接收到所述临时账号之后,接收所述秘钥管理系统发送的所述临时账号失效的账号销毁通知;基于所述账号销毁通知,重新向所述秘钥管理系统发送账号创建请求,以请求创建新的临时账号。
图6中的装置能够实现上述应用于业务方的数据库访问方法的各个实施例,并达到相同的功能和效果,这里不再重复。
本说明书一个实施例还提供了一种数据库访问设备,图7为本说明书一实施例提供的数据库访问设备的结构示意图,如图7所示,该设备包括:存储器701、处理器702、总线703和通信接口704。存储器701、处理器702和通信接口704通过总线703进行通信,通信接口704可以包括输入输出接口,输入输出接口包括但不限于键盘、鼠标、显示器、麦克风、扩音器等。
在一个实施例中,数据库访问设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器实现以下流程:
获取业务方发送的账号创建请求;所述账号创建请求用于请求创建访问数据库的临时账号;所述账号创建请求中携带有账号创建令牌;所述账号创建令牌由所述业务方根据令牌索引从配置中心处获取;
根据所述账号创建请求,为所述业务方创建用于访问数据库的临时账号;
根据预设的期限确定规则,确定所述临时账号的有效期限信息;
将所述临时账号和所述有效期限信息下发至所述业务方,以便于所述业务方访问所述数据库。
本实施例中的数据库访问设备能够实现上述应用于秘钥管理系统的数据库访问方法的各个实施例,并达到相同的功能和效果,这里不再重复。
在另一个实施例中,数据库访问设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器实现以下流程:
获取账号创建令牌对应的令牌索引,根据所述令牌索引,从配置中心处获取所述账号创建令牌;其中,所述账号创建令牌用于创建访问数据库的临时账号;
向秘钥管理系统发送账号创建请求;所述账号创建请求中携带有所述账号创建令牌;
接收所述秘钥管理系统基于所述账号创建请求创建并下发的用于访问数据库的临时账号和所述临时账号的有效期限信息;
根据所述临时账号和所述有效期限信息,访问所述数据库。
本实施例中的数据库访问设备能够实现上述应用于业务方的数据库访问方法的各个实施例,并达到相同的功能和效果,这里不再重复。
进一步地,本说明书另一个实施例还提供了一种存储介质,用于存储计算机可执行指令,所述计算机可执行指令在被处理器执行时实现以下流程:
获取业务方发送的账号创建请求;所述账号创建请求用于请求创建访问数据库的临时账号;所述账号创建请求中携带有账号创建令牌;所述账号创建令牌由所述业务方根据令牌索引从配置中心处获取;
根据所述账号创建请求,为所述业务方创建用于访问数据库的临时账号;
根据预设的期限确定规则,确定所述临时账号的有效期限信息;
将所述临时账号和所述有效期限信息下发至所述业务方,以便于所述业务方访问所述数据库。
本实施例中的存储介质存储的计算机可执行指令在被处理器执行时,能够实现上述应用于秘钥管理系统的数据库访问方法的各个实施例,并达到相同的功能和效果,这里不再重复。
进一步地,本说明书另一个实施例还提供了一种存储介质,用于存储计算机可执行指令,所述计算机可执行指令在被处理器执行时实现以下流程:
获取账号创建令牌对应的令牌索引,根据所述令牌索引,从配置中心处获取所述账号创建令牌;其中,所述账号创建令牌用于创建访问数据库的临时账号;
向秘钥管理系统发送账号创建请求;所述账号创建请求中携带有所述账号创建令牌;
接收所述秘钥管理系统基于所述账号创建请求创建并下发的用于访问数据库的临时账号和所述临时账号的有效期限信息;
根据所述临时账号和所述有效期限信息,访问所述数据库。
本实施例中的存储介质存储的计算机可执行指令在被处理器执行时,能够实现上述应用于业务方的数据库访问方法的各个实施例,并达到相同的功能和效果,这里不再重复。
其中,上述的存储介质包括只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本文件。对于本领域技术人员来说,本说明书的实施例可以有各种更改和变化。凡在本文件的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本文件的权利要求范围之内。

Claims (18)

1.一种数据库访问方法,其特征在于,包括:
获取业务方发送的账号创建请求;所述账号创建请求用于请求创建访问数据库的临时账号;所述账号创建请求中携带有账号创建令牌;所述账号创建令牌由所述业务方根据令牌索引从配置中心处获取;
根据所述账号创建请求,为所述业务方创建用于访问数据库的临时账号;
根据预设的期限确定规则,确定所述临时账号的有效期限信息;
将所述临时账号和所述有效期限信息下发至所述业务方,以便于所述业务方访问所述数据库;
根据所述账号创建请求,为所述务方创建用于访问数据库的临时账号,包括:
从所述账号创建请求中提取所述账号创建令牌;
获取预先创建的与所述账号创建令牌相对应的数据库管理账号;其中,所述数据库管理账号、所述账号创建令牌、所述令牌索引、所述业务方四者一一对应;所述数据库管理账号具有创建数据库访问账号以及为所述数据库访问账号分配数据库访问权限的权限;
通过所述数据库管理账号,为所述业务方创建数据库访问账号,将所述数据库访问账号作为所述临时账号;
通过所述数据库管理账号,为所述临时账号分配数据库访问权限。
2.根据权利要求1所述的方法,其特征在于,在根据所述账号创建请求,为所述业务方创建用于访问数据库的临时账号之前,还包括:
从所述账号创建请求中提取所述账号创建令牌;
对所述账号创建令牌的合法性进行校验;
校验通过后,执行根据所述账号创建请求,为所述业务方创建用于访问数据库的临时账号的动作。
3.根据权利要求1所述的方法,其特征在于,通过所述数据库管理账号,为所述临时账号分配数据库访问权限,包括:
读取所述数据库管理账号的为所述临时账号分配数据库访问权限的权限信息;所述权限信息由业务管控人员为所述业务方配置;
根据读取到的权限信息,为所述临时账号分配数据库访问权限。
4.根据权利要求1或2所述的方法,其特征在于,根据预设的期限确定规则,确定所述临时账号的有效期限信息,包括:
根据预设的期限确定规则,设置所述临时账号的续约时间要求;
根据预设的期限确定规则,设置所述临时账号经过续约后的最大使用期限;
根据所述临时账号的续约时间要求和所述临时账号的最大使用期限,确定所述临时账号的有效期限信息。
5.根据权利要求4所述的方法,其特征在于,在确定所述临时账号的有效期限信息之后,所述方法还包括:
定期检查所述临时账号的有效性;所述有效性包括所述临时账号是否超过所述最大使用期限以及是否按照所述续约时间要求成功续约;
若所述临时账号超过所述最大使用期限或者没有按照所述续约时间要求成功续约,则确定所述临时账号失效;
对所述临时账号进行延迟销毁,并向所述业务方发送账号销毁通知。
6.根据权利要求2所述的方法,其特征在于,所述方法由秘钥管理系统执行;所述账号创建令牌由所述秘钥管理系统创建并配置在所述配置中心处;在为所述业务方创建所述账号创建令牌之后,所述方法还包括:
定期更新所述账号创建令牌,并将更新后的所述账号创建令牌配置在所述配置中心处。
7.一种数据库访问方法,其特征在于,包括:
获取账号创建令牌对应的令牌索引,根据所述令牌索引,从配置中心处获取所述账号创建令牌;其中,所述账号创建令牌用于创建访问数据库的临时账号;
向秘钥管理系统发送账号创建请求;所述账号创建请求中携带有所述账号创建令牌;
接收所述秘钥管理系统基于所述账号创建请求创建并下发的用于访问数据库的临时账号和所述临时账号的有效期限信息;
根据所述临时账号和所述有效期限信息,访问所述数据库;
所述配置中心具有业务管控人员访问权限和业务开发人员访问权限;所述业务管控人员访问权限用于在业务配置内容文件中配置所述账号创建令牌,以及,用于在业务配置索引文件中配置所述令牌索引;所述账号创建令牌和所述令牌索引对于所述业务开发人员访问权限不可见。
8.根据权利要求7所述的方法,其特征在于,获取账号创建令牌对应的令牌索引,包括:
在业务启动后,获取所述业务的业务配置索引文件;
从所述业务的业务配置索引文件中提取账号创建令牌对应的令牌索引;其中,所述令牌索引预先配置在所述业务配置索引文件中。
9.根据权利要求8所述的方法,其特征在于,根据所述令牌索引,从配置中心处获取所述账号创建令牌,包括:
在业务启动后,从所述配置中心处下载所述业务的业务配置内容文件;
根据所述令牌索引,从下载的所述业务配置内容文件中提取所述账号创建令牌;其中,所述账号创建令牌预先配置在所述业务配置内容文件中。
10.根据权利要求7-9任一项所述的方法,其特征在于,在接收到所述有效期限信息之后,所述方法还包括:
从所述有效期限信息中提取所述临时账号的续约时间要求;
根据所述续约时间要求,设置定时器的消息定时发送机制;所述消息定时发送机制用于定时向所述秘钥管理系统发送账号续约申请;
触发设置好的定时器基于所述消息定时发送机制,定时向所述秘钥管理系统发送账号续约申请。
11.根据权利要求10所述的方法,其特征在于,在向所述秘钥管理系统发送账号续约申请之后,所述方法还包括:
接收所述秘钥管理系统根据所述账号续约申请返回的续约失败消息;
基于所述续约失败消息,重新向所述秘钥管理系统发送账号创建请求,以请求创建新的临时账号。
12.根据权利要求7所述的方法,其特征在于,在接收到所述临时账号之后,所述方法还包括:
接收所述秘钥管理系统发送的所述临时账号失效的账号销毁通知;
基于所述账号销毁通知,重新向所述秘钥管理系统发送账号创建请求,以请求创建新的临时账号。
13.一种数据库访问装置,其特征在于,包括:
请求获取模块,用于获取业务方发送的账号创建请求;所述账号创建请求用于请求创建访问数据库的临时账号;所述账号创建请求中携带有账号创建令牌;所述账号创建令牌由所述业务方根据令牌索引从配置中心处获取;
账号创建模块,用于根据所述账号创建请求,为所述业务方创建用于访问数据库的临时账号;
期限确定模块,用于根据预设的期限确定规则,确定所述临时账号的有效期限信息;
信息下发模块,用于将所述临时账号和所述有效期限信息下发至所述业务方,以便于所述业务方访问所述数据库;
所述账号创建模块,用于从所述账号创建请求中提取所述账号创建令牌;获取预先创建的与所述账号创建令牌相对应的数据库管理账号;其中,所述数据库管理账号、所述账号创建令牌、所述令牌索引、所述业务方四者一一对应;所述数据库管理账号具有创建数据库访问账号以及为所述数据库访问账号分配数据库访问权限的权限;通过所述数据库管理账号,为所述业务方创建数据库访问账号,将所述数据库访问账号作为所述临时账号;通过所述数据库管理账号,为所述临时账号分配数据库访问权限。
14.一种数据库访问装置,其特征在于,包括:
令牌获取模块,用于获取账号创建令牌对应的令牌索引,根据所述令牌索引,从配置中心处获取所述账号创建令牌;其中,所述账号创建令牌用于创建访问数据库的临时账号;
请求发送模块,用于向秘钥管理系统发送账号创建请求;所述账号创建请求中携带有所述账号创建令牌;
信息接收模块,用于接收所述秘钥管理系统基于所述账号创建请求创建并下发的用于访问数据库的临时账号和所述临时账号的有效期限信息;
数据访问模块,用于根据所述临时账号和所述有效期限信息,访问所述数据库;
所述配置中心具有业务管控人员访问权限和业务开发人员访问权限;所述业务管控人员访问权限用于在业务配置内容文件中配置所述账号创建令牌,以及,用于在业务配置索引文件中配置所述令牌索引;所述账号创建令牌和所述令牌索引对于所述业务开发人员访问权限不可见。
15.一种数据库访问设备,其特征在于,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器实现以下流程:
获取业务方发送的账号创建请求;所述账号创建请求用于请求创建访问数据库的临时账号;所述账号创建请求中携带有账号创建令牌;所述账号创建令牌由所述业务方根据令牌索引从配置中心处获取;
根据所述账号创建请求,为所述业务方创建用于访问数据库的临时账号;
根据预设的期限确定规则,确定所述临时账号的有效期限信息;
将所述临时账号和所述有效期限信息下发至所述业务方,以便于所述业务方访问所述数据库;
从所述账号创建请求中提取所述账号创建令牌;
获取预先创建的与所述账号创建令牌相对应的数据库管理账号;其中,所述数据库管理账号、所述账号创建令牌、所述令牌索引、所述业务方四者一一对应;所述数据库管理账号具有创建数据库访问账号以及为所述数据库访问账号分配数据库访问权限的权限;
通过所述数据库管理账号,为所述业务方创建数据库访问账号,将所述数据库访问账号作为所述临时账号;
通过所述数据库管理账号,为所述临时账号分配数据库访问权限。
16.一种存储介质,其特征在于,用于存储计算机可执行指令,所述计算机可执行指令在被处理器执行时实现以下流程:
获取业务方发送的账号创建请求;所述账号创建请求用于请求创建访问数据库的临时账号;所述账号创建请求中携带有账号创建令牌;所述账号创建令牌由所述业务方根据令牌索引从配置中心处获取;
根据所述账号创建请求,为所述业务方创建用于访问数据库的临时账号;
根据预设的期限确定规则,确定所述临时账号的有效期限信息;
将所述临时账号和所述有效期限信息下发至所述业务方,以便于所述业务方访问所述数据库;
从所述账号创建请求中提取所述账号创建令牌;
获取预先创建的与所述账号创建令牌相对应的数据库管理账号;其中,所述数据库管理账号、所述账号创建令牌、所述令牌索引、所述业务方四者一一对应;所述数据库管理账号具有创建数据库访问账号以及为所述数据库访问账号分配数据库访问权限的权限;
通过所述数据库管理账号,为所述业务方创建数据库访问账号,将所述数据库访问账号作为所述临时账号;
通过所述数据库管理账号,为所述临时账号分配数据库访问权限。
17.一种数据库访问设备,其特征在于,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器实现以下流程:
获取账号创建令牌对应的令牌索引,根据所述令牌索引,从配置中心处获取所述账号创建令牌;其中,所述账号创建令牌用于创建访问数据库的临时账号;
向秘钥管理系统发送账号创建请求;所述账号创建请求中携带有所述账号创建令牌;
接收所述秘钥管理系统基于所述账号创建请求创建并下发的用于访问数据库的临时账号和所述临时账号的有效期限信息;
根据所述临时账号和所述有效期限信息,访问所述数据库;
所述配置中心具有业务管控人员访问权限和业务开发人员访问权限;所述业务管控人员访问权限用于在业务配置内容文件中配置所述账号创建令牌,以及,用于在业务配置索引文件中配置所述令牌索引;所述账号创建令牌和所述令牌索引对于所述业务开发人员访问权限不可见。
18.一种存储介质,其特征在于,用于存储计算机可执行指令,所述计算机可执行指令在被处理器执行时实现以下流程:
获取账号创建令牌对应的令牌索引,根据所述令牌索引,从配置中心处获取所述账号创建令牌;其中,所述账号创建令牌用于创建访问数据库的临时账号;
向秘钥管理系统发送账号创建请求;所述账号创建请求中携带有所述账号创建令牌;
接收所述秘钥管理系统基于所述账号创建请求创建并下发的用于访问数据库的临时账号和所述临时账号的有效期限信息;
根据所述临时账号和所述有效期限信息,访问所述数据库;
所述配置中心具有业务管控人员访问权限和业务开发人员访问权限;所述业务管控人员访问权限用于在业务配置内容文件中配置所述账号创建令牌,以及,用于在业务配置索引文件中配置所述令牌索引;所述账号创建令牌和所述令牌索引对于所述业务开发人员访问权限不可见。
CN202110684005.0A 2021-06-21 2021-06-21 数据库访问方法、装置、设备和存储介质 Active CN113438082B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110684005.0A CN113438082B (zh) 2021-06-21 2021-06-21 数据库访问方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110684005.0A CN113438082B (zh) 2021-06-21 2021-06-21 数据库访问方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN113438082A CN113438082A (zh) 2021-09-24
CN113438082B true CN113438082B (zh) 2023-02-07

Family

ID=77756725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110684005.0A Active CN113438082B (zh) 2021-06-21 2021-06-21 数据库访问方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN113438082B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113821783B (zh) * 2021-09-29 2022-04-08 北京云歌科技有限责任公司 一种多功能的安全授权API Key实现系统及方法
CN117574431A (zh) * 2023-11-20 2024-02-20 北京远盟普惠健康科技有限公司 一种保障医疗数据内部共享安全的方法和系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006122461A1 (en) * 2005-05-16 2006-11-23 Lenovo (Beijing) Limited A method for implementing the unified authentication
CN101179382A (zh) * 2006-12-20 2008-05-14 腾讯科技(深圳)有限公司 一种登录方法及系统
CN105099683A (zh) * 2014-05-08 2015-11-25 中兴通讯股份有限公司 一种账户分配方法和装置
CN105138924A (zh) * 2015-08-19 2015-12-09 网易传媒科技(北京)有限公司 未登录状态下保存应用操作信息的方法和设备
CN108156119A (zh) * 2016-12-05 2018-06-12 北京神州泰岳软件股份有限公司 登录验证方法及装置
CN109005159A (zh) * 2018-07-03 2018-12-14 中国联合网络通信集团有限公司 终端访问系统服务器的数据处理方法与认证服务器
CN111769939A (zh) * 2020-06-29 2020-10-13 北京海泰方圆科技股份有限公司 业务系统的访问方法、装置、存储介质及电子设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10242362B2 (en) * 2015-10-23 2019-03-26 Bank of the Ozarks Systems and methods for issuance of provisional financial accounts to mobile devices
CN107273758A (zh) * 2017-05-03 2017-10-20 上海上讯信息技术股份有限公司 一种数据库访问方法及设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006122461A1 (en) * 2005-05-16 2006-11-23 Lenovo (Beijing) Limited A method for implementing the unified authentication
CN101179382A (zh) * 2006-12-20 2008-05-14 腾讯科技(深圳)有限公司 一种登录方法及系统
CN105099683A (zh) * 2014-05-08 2015-11-25 中兴通讯股份有限公司 一种账户分配方法和装置
CN105138924A (zh) * 2015-08-19 2015-12-09 网易传媒科技(北京)有限公司 未登录状态下保存应用操作信息的方法和设备
CN108156119A (zh) * 2016-12-05 2018-06-12 北京神州泰岳软件股份有限公司 登录验证方法及装置
CN109005159A (zh) * 2018-07-03 2018-12-14 中国联合网络通信集团有限公司 终端访问系统服务器的数据处理方法与认证服务器
CN111769939A (zh) * 2020-06-29 2020-10-13 北京海泰方圆科技股份有限公司 业务系统的访问方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN113438082A (zh) 2021-09-24

Similar Documents

Publication Publication Date Title
US11349674B2 (en) Digital certificate management method and apparatus, computer device, and storage medium
US10819701B2 (en) Autonomous secrets management for a managed service identity
US20080097998A1 (en) Data file access control
US20190306148A1 (en) Method for oauth service through blockchain network, and terminal and server using the same
CN107483509A (zh) 一种身份验证方法、服务器及可读存储介质
CN113438082B (zh) 数据库访问方法、装置、设备和存储介质
US20110238402A1 (en) System and methods for remote maintenance in an electronic network with multiple clients
CN111314340B (zh) 认证方法及认证平台
JP5723300B2 (ja) サーバシステム、サービス提供サーバおよび制御方法
US20190286813A1 (en) Autonomous secrets management for a temporary shared access signature service
JPH1083310A (ja) プログラム・コードの配布方法及びシステム
US9785766B2 (en) Automated password management
US11552948B1 (en) Domain management intermediary service
US20210374731A1 (en) Systems and methods for consensus-based access control for smart contract functions
CN109862024A (zh) 一种云管理系统的网络授权协议访问控制方法及系统
US8578152B2 (en) Methods, systems, and apparatus for staggered renewal periods
CN110365632A (zh) 计算机网络系统中的认证
CN114969707A (zh) 一种单点登录方法、装置、设备及介质
CN107276966B (zh) 一种分布式系统的控制方法及登录系统
CN111953491A (zh) 一种基于SSHCertificate和LDAP两步鉴权审计系统
CN108924149B (zh) 一种基于Token令牌的身份合法性验证方法及系统
CN115021995B (zh) 多渠道登录方法、装置、设备及存储介质
CN111092864B (zh) 一种会话保护方法、装置、设备及可读存储介质
CN112417403A (zh) 一种基于GitLab API的系统自动化认证和授权处理方法
CN114640497B (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