CN105069370B - 数据库自动授权访问方法 - Google Patents

数据库自动授权访问方法 Download PDF

Info

Publication number
CN105069370B
CN105069370B CN201510435004.7A CN201510435004A CN105069370B CN 105069370 B CN105069370 B CN 105069370B CN 201510435004 A CN201510435004 A CN 201510435004A CN 105069370 B CN105069370 B CN 105069370B
Authority
CN
China
Prior art keywords
database
access
accessed
information
authorize
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
CN201510435004.7A
Other languages
English (en)
Other versions
CN105069370A (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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201510435004.7A priority Critical patent/CN105069370B/zh
Publication of CN105069370A publication Critical patent/CN105069370A/zh
Application granted granted Critical
Publication of CN105069370B publication Critical patent/CN105069370B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据库自动授权访问方法,是由需授权访问客体向被访问数据库进行自动授权并访问的方法,包括:步骤(S1),传递所述被访问数据库的信息作为主库信息;步骤(S2),根据主库信息,在预先设置的主从数据库关系列表中匹配出与被访问数据库对应的从数据库的可授权从库信息;步骤(S3),根据可授权从库信息,在被访问数据库中执行授权语句,以使从数据库被授予访问权限;步骤(S4),根据可授权从库信息,生成需授权访问客体进行访问的数据源;步骤(S5),根据数据源,生成需授权访问客体进行访问的访问配置信息;和步骤(S6),需授权访问客体根据访问配置信息,向被访问数据库进行访问。

Description

数据库自动授权访问方法
技术领域
本发明涉及一种数据库授权访问方法,具体涉及一种数据库自动授权访问方法。
背景技术
随着数据库技术、网络技术的不断发展及数据库管理系统的广泛应用,数据库中存储的数据量急剧增大。近年,在信息技术与数据智能发展的大环境下,面向企业管理和决策主题的针对海量数据存储和计算分析的数据仓库(Data Warehouse)技术被广泛应用。其中,数据仓库的安全性是在数据库级别定义的,而建立对数据库的访问权限是保护数据安全的策略之一,也是数据库安全应用的有效保证。
在数据从数据库抽取到数据仓库的过程中,需要在保证数据库权限安全的情况下,在数据库中对数据访问权限进行授权。现有的授权访问方法还主要是通过手动方式完成的。
图4是现有数据库授权访问方法的示意图。如图4所示,首先,数据仓库DB1提供需要接入的数据库IP、库名和表名、以及需要获得访问权限的服务器IP地址(步骤SA1);接着,数据库管理员P2根据得到的信息查找主从库关系列表T1,匹配出正确的需授权服务器及数据库地址(SA2);然后,手动编写并执行数据库授权语句(例如,数据库常用的SQL的GRANT语句等),对某一用户名及相关机器资源授予访问权限(步骤SA3);然后,数据库管理员P2将授予权限的用户名以配置的方式告知数据仓库管理员P1(步骤SA4);最后,数据仓库管理员P1使用该配置对数据库DB2进行访问(步骤SA5)。
在现有的数据库授权访问方法中,存在如下问题:(1)手动线下授权需要手动编写数据库授权语句,例如GRANT语句等,效率低下,且易发生错误;(2)在分库分表等比较多的情况下,需要重复多次授权;(3)主从库关系不明确,若直接抽取生产主库,则会对正常生产产生影响。(4)授权后没有验证连通性流程,只有在实际数据抽取时才会发现操作失误,并导致线上任务失败。
发明内容
本发明是鉴于现有数据库授权访问方法的上述问题而做出的,其目的在于提供一种提高了授权效率并能自动验证连通性的数据库自动授权访问方法。
本发明的一个方面的数据库自动授权访问方法,是由需授权访问客体向被访问数据库进行自动授权并访问的方法,包括:调用自动授权接口步骤(S1),传递作为主数据库的所述被访问数据库的信息作为主库信息;主从库关系匹配步骤(S2),根据所述主库信息,在预先设置的主从数据库关系列表中查找并匹配出与所述被访问数据库对应的从数据库的可授权从库信息;授权步骤(S3),根据所述可授权从库信息,在所述被访问数据库中执行授权语句,以使所述从数据库被授予可由所述需授权访问客体进行访问的权限;数据源生成步骤(S4),根据所述可授权从库信息,生成所述需授权访问客体向所述被访问数据库进行访问的数据源,该数据源包括通过上述授权步骤(S3)被授权的所述从数据库的授权信息;生成访问配置信息步骤(S5),根据所述数据源,生成所述需授权访问客体向所述被访问数据库进行访问的访问配置信息;和数据库访问步骤(S6),所述需授权访问客体根据所述访问配置信息,向所述被访问数据库进行访问。
根据本发明的一个方面的数据库自动授权访问方法,在所述生成访问配置信息步骤(S5)与所述数据库访问步骤(S6)之间包括:验证数据连通性步骤(SS1),根据所述访问配置信息,在所述需授权访问客体向所述被访问数据库进行访问之前,访问被授权的所述从数据库,以验证授权是否成功。
根据本发明的一个方面的数据库自动授权访问方法,在所述验证数据连通性步骤(SS1)中,当不能访问被授权的所述从数据库时,判断为授权失败,并结束自动授权访问;当能访问被授权的所述从数据库时,判断为授权成功,并进入所述数据库访问步骤(S6)。
根据本发明的一个方面的数据库自动授权访问方法,在所述主从库关系匹配步骤(S2)中,当在所述主从数据库关系列表中未查找到所述从库信息时,判断为授权失败,并结束自动授权访问;当在所述主从数据库关系列表中查找到所述从库信息时,进入所述授权步骤(S3)。
根据本发明的一个方面的数据库自动授权访问方法,在所述数据源生成步骤(S4)中,判定是否已存在相应的所述数据源,当尚未存在相应的所述数据源时,创建新的数据源,当已存在相应的所述数据源时,直接生成该数据源。
根据本发明的一个方面的数据库自动授权访问方法,所述主库信息包括:所述被访问数据库所在服务器IP、数据库名称、被访问的数据表名称、需获得授权的服务器IP。
根据本发明的一个方面的数据库自动授权访问方法,在调用自动授权接口步骤(S1)中,提供交互式界面来传递所述主库信息。
根据本发明的一个方面的数据库自动授权访问方法,所述主从库关系列表包括:作为主数据库的所述被访问数据库和所述从数据库的所在服务器IP、端口及数据库名称的信息,所述主从库关系列表根据所述主库信息,来匹配出对应的所述从库信息。
根据本发明的一个方面的数据库自动授权访问方法,所述数据源包括:被授权的所述从数据库的所在服务器IP、端口、数据库名称、以及被授予访问权限的用户名和加密后的密码。
根据本发明的一个方面的数据库自动授权访问方法,所述需授权访问客体是数据仓库。
根据本发明的一个方面的数据库自动授权访问方法,所述被访问数据库是关系型数据库。
根据本发明的一个方面的数据库自动授权访问方法,所述授权语句是SQL的GRANT语句。
根据本发明的上述技术方案,自动执行授权语句(例如,GRANT语句)进行授权并匹配或创建数据源,提高了授权效率。
根据本发明的上述技术方案,根据主从库关系自动匹配授权从库,避免了抽取时对主库正常生产产生压力。
根据本发明的上述技术方案,在授权后还通过抽数(数据抽取)节点访问被授权数据库的表,以验证数据连通性,从而避免了只有在实际数据抽取时才会发现操作失误并导致线上任务失败的情形。
附图说明
图1是本发明的数据库授权访问方法的整体示意图。
图2是本发明的数据库授权访问方法的流程图。
图3是本发明的数据库授权访问方法中追加了验证数据连通性步骤的流程图。
图4是现有数据库授权方法的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
图1是本发明的数据库授权方法的整体示意图。
如图1所示,首先,作为需要获取数据访问权限的授权访问客体的数据仓库DB1,调用自动授权接口I/F,该自动授权接口I/F提供交互式界面,并通过该交互式界面输入数据仓库DB1需要访问的关系型数据库DB2所在服务器IP、数据库名称、要访问的数据表名称、需要获得授权的服务器(包含配置web端所在服务器及执行抽数任务的服务器)IP等授权信息作为主库信息,且将该主库信息传递给后续的自动授权处理(即,授权执行后台),而且还可以接收授权执行进度及授权成功或失败信息并进行显示,以便用户及时获知授权状况(步骤S1)。在此,上述的关系型数据库DB2是需要提供授权的数据库,其可以包括MySQL、SQLServer或Oracle数据库等。授权用语句(例如,SQL的GRANT语句)将在此环境中执行。
接着,根据自动授权接口I/F传递来的主库信息,在预先设置的数据库D2的主从库关系列表T1中查找并匹配从库信息,以确定可授权的从库信息(步骤S2)。其中,主从库关系列表T1的由来是:由于生产库需要较高的安全性和稳定性,一般会提供多个备份数据库,主库用于支持生产作业,从库用于灾备或支持数据查询和抽取等操作,减小主库生产压力和风险。该主从库关系列表T1包含生产库对应的主库与从库所在服务器IP、端口及库名信息,当由自动授权接口I/F传递来上述主库信息时,可以自动匹配并返回对应的从库信息。
然后,根据匹配并确定的从库信息,在所对应的数据库中执行授权语句,以进行授权(步骤S3)。在此,上述授权语句,在为关系型数据库的情况下,可以是GRANT语句。
然后,根据匹配并确定的从库信息,生成所匹配或新的数据源S(步骤S4)。该数据源S包括已授权数据库所在服务器IP、端口、数据库名称以及被授以SELECT查询权限的用户名和加密后的密码。
接着,根据所生成的数据源S,生成数据提取用的配置信息(步骤S5)。
最后,作为需要获取数据访问权限的授权访问客体的数据仓库DB1,根据所生成的数据提取用的配置信息,向关系型数据库DB2中已被授权的数据库进行访问,以抽取数据(步骤S6)。
在此,上述实施例仅是为了说明本发明的一个示例,虽然例示的是关系型数据库DB2,但不局限于此,实际上可以是任意的数据库。此外,作为需要获取数据访问权限的授权访问客体虽然示例的是数据仓库DB1,但不局限于此,实际上可以是任意的授权访问客体,例如其他数据库等。
另外,本发明人为了避免只有在实际数据抽取时才会发现操作失误并导致线上任务失败的情形,进一步优选在授权后还通过抽数(数据抽取)节点访问已授权数据库中的表,来预先验证数据连通性。即追加验证数据连通性处理(步骤SS1)。
以下,使用图2来进一步详细说明本发明的数据库授权方法的流程。
图2是本发明的数据库授权方法的流程图。
如图2所示,首先,在步骤中,由需要获取数据访问权限的授权访问客体(例如,图1的数据仓库DB1),调用自动授权接口,传递(例如,图1的数据仓库DB1需要访问的关系型数据库DB2所在服务器IP、数据库名称、要访问的数据表名称、需要获得授权的服务器IP列表等)授权信息作为主库信息。
接着,在步骤S2中,根据上述主库信息,在预先设置的主从库关系列表中查找从库信息,当未查找到从库信息时(即,不存在主从库关系时),直接判定授权失败,并结束自动授权访问处理;当查找到从库信息时(即,存在主从库关系时),匹配出相应的从库信息。
然后,在步骤S3中,根据匹配出的从库信息,在所对应的待授权数据库中执行授权语句(例如,SQL的GRANT语句),以授权所对应的数据库。
接着,在步骤S4中,根据上述匹配出的从库信息,生成相应的数据源,其中,先判定是否已存在相应的数据源,当尚未存在相应的数据源时,创建新的数据源,当已存在相应的数据源时,直接生成该数据源。
接着,在步骤S5中,根据所生成的数据源,生成数据提取用的配置信息。
最后,在步骤S6中,由需要获取数据访问权限的授权访问客体(例如,图1的数据仓库DB1),根据所生成的数据提取用的配置信息,向已被授权的数据库进行访问,以抽取数据(步骤S6)。自动授权访问结束。
此外,以下利用图3,对在授权后生成了数据提取用的配置信息之后(即,在上述步骤S5与步骤S6之间)追加了验证数据连通性步骤的流程进行说明。
图3是本发明的数据库授权访问方法中追加了验证数据连通性步骤的流程图。在图3中,为了便于说明,省略并简化了与图2相同的步骤,且以虚线表示所简化的部分。
如图3所示,在图2的步骤S5与步骤S6之间追加了验证数据连通性步骤(即,步骤SS1)。在步骤SS1中,根据步骤S5所生成的数据提取用的配置信息,访问被授权的数据库中的表,以验证被授权数据库的数据连通性。具体而言,使用上述数据提取用的配置信息,对被授权的数据库中的表进行访问,例如,可以进行SQL的SELECT查询操作,当能够进行访问时,判断为授权成功,并进入图2的步骤6;当不能进行访问时,判断为授权失败,并结束自动授权访问。
这样,在授权后还通过抽数(数据抽取)节点访问被授权数据库的表,以验证数据连通性,从而避免了只有在实际数据抽取时才会发现操作失误并导致线上任务失败的情形。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种数据库自动授权访问方法,是由需授权访问客体向被访问数据库进行自动授权并访问的方法,包括:
调用自动授权接口步骤(S1),传递作为主数据库的所述被访问数据库的信息作为主库信息;
主从库关系匹配步骤(S2),根据所述主库信息,在预先设置的主从数据库关系列表中查找并匹配出与所述被访问数据库对应的从数据库的可授权从库信息;
授权步骤(S3),根据所述可授权从库信息,在所述被访问数据库中执行授权语句,以使所述从数据库被授予可由所述需授权访问客体进行访问的权限;
数据源生成步骤(S4),根据所述可授权从库信息,生成所述需授权访问客体向所述被访问数据库进行访问的数据源,该数据源包括通过上述授权步骤(S3)被授权的所述从数据库的授权信息;
生成访问配置信息步骤(S5),根据所述数据源,生成所述需授权访问客体向所述被访问数据库进行访问的访问配置信息;和
数据库访问步骤(S6),所述需授权访问客体根据所述访问配置信息,向所述被访问数据库进行访问。
2.根据权利要求1所述的数据库自动授权访问方法,其特征在于,
在所述生成访问配置信息步骤(S5)与所述数据库访问步骤(S6)之间包括:
验证数据连通性步骤(SS1),根据所述访问配置信息,在所述需授权访问客体向所述被访问数据库进行访问之前,访问被授权的所述从数据库,以验证授权是否成功。
3.根据权利要求2所述的数据库自动授权访问方法,其特征在于,
在所述验证数据连通性步骤(SS1)中,当不能访问被授权的所述从数据库时,判断为授权失败,并结束自动授权访问;当能访问被授权的所述从数据库时,判断为授权成功,并进入所述数据库访问步骤(S6)。
4.根据权利要求1-3中任一项所述的数据库自动授权访问方法,其特征在于,
在所述主从库关系匹配步骤(S2)中,当在所述主从数据库关系列表中未查找到所述从库信息时,判断为授权失败,并结束自动授权访问;当在所述主从数据库关系列表中查找到所述从库信息时,进入所述授权步骤(S3)。
5.根据权利要求1-3中任一项所述的数据库自动授权访问方法,其特征在于,
在所述数据源生成步骤(S4)中,判定是否已存在相应的所述数据源,当尚未存在相应的所述数据源时,创建新的数据源,当已存在相应的所述数据源时,直接生成该数据源。
6.根据权利要求1-3中任一项所述的数据库自动授权访问方法,其特征在于,
所述主库信息包括:所述被访问数据库所在服务器IP、数据库名称、被访问的数据表名称、需获得授权的服务器IP。
7.根据权利要求1-3中任一项所述的数据库自动授权访问方法,其特征在于,
在调用自动授权接口步骤(S1)中,提供交互式界面来传递所述主库信息。
8.根据权利要求1-3中任一项所述的数据库自动授权访问方法,其特征在于,
所述主从库关系列表包括:作为主数据库的所述被访问数据库和所述从数据库的所在服务器IP、端口及数据库名称的信息,
所述主从库关系列表根据所述主库信息,来匹配出对应的所述从库信息。
9.根据权利要求1-3中任一项所述的数据库自动授权访问方法,其特征在于,
所述数据源包括:被授权的所述从数据库的所在服务器IP、端口、数据库名称、以及被授予访问权限的用户名和加密后的密码。
10.根据权利要求1-3中任一项所述的数据库自动授权访问方法,其特征在于,
所述需授权访问客体是数据仓库。
11.根据权利要求1-3中任一项所述的数据库自动授权访问方法,其特征在于,
所述被访问数据库是关系型数据库。
12.根据权利要求11所述的数据库自动授权访问方法,其特征在于,
所述授权语句是SQL的GRANT语句。
CN201510435004.7A 2015-07-22 2015-07-22 数据库自动授权访问方法 Active CN105069370B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510435004.7A CN105069370B (zh) 2015-07-22 2015-07-22 数据库自动授权访问方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510435004.7A CN105069370B (zh) 2015-07-22 2015-07-22 数据库自动授权访问方法

Publications (2)

Publication Number Publication Date
CN105069370A CN105069370A (zh) 2015-11-18
CN105069370B true CN105069370B (zh) 2018-01-30

Family

ID=54498733

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510435004.7A Active CN105069370B (zh) 2015-07-22 2015-07-22 数据库自动授权访问方法

Country Status (1)

Country Link
CN (1) CN105069370B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105956154A (zh) * 2016-05-16 2016-09-21 乐视控股(北京)有限公司 权限控制方法及装置
CN108537062B (zh) * 2018-04-24 2022-03-22 山东华软金盾软件股份有限公司 一种数据库数据动态加密的方法
CN109325854B (zh) * 2018-08-16 2020-11-24 北京京东尚科信息技术有限公司 区块链网络、部署方法及存储介质
CN109995522B (zh) * 2019-03-08 2022-01-04 东南大学 一种具有密钥协商功能的安全数据镜像方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103488791A (zh) * 2013-09-30 2014-01-01 华为技术有限公司 数据访问方法、系统及数据仓库
CN104160379A (zh) * 2012-02-27 2014-11-19 松下电器产业株式会社 访问装置、通信设备、通信系统以及数据访问方法
CN104216907A (zh) * 2013-06-02 2014-12-17 上海贝尔股份有限公司 一种用于提供数据库访问控制的方法、装置与系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4015919B2 (ja) * 2002-10-22 2007-11-28 株式会社東芝 情報共有支援装置および情報共有支援方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104160379A (zh) * 2012-02-27 2014-11-19 松下电器产业株式会社 访问装置、通信设备、通信系统以及数据访问方法
CN104216907A (zh) * 2013-06-02 2014-12-17 上海贝尔股份有限公司 一种用于提供数据库访问控制的方法、装置与系统
CN103488791A (zh) * 2013-09-30 2014-01-01 华为技术有限公司 数据访问方法、系统及数据仓库

Also Published As

Publication number Publication date
CN105069370A (zh) 2015-11-18

Similar Documents

Publication Publication Date Title
US11733991B2 (en) Data processing method based on intelligent contract, device, and storage medium
US20200285978A1 (en) Model training system and method, and storage medium
US9201870B2 (en) Method and system for providing translated dynamic web page content
CN105069370B (zh) 数据库自动授权访问方法
CN105046150B (zh) 防止sql注入的方法及系统
CN103338208B (zh) 一种sql注入防御的方法和系统
CN104331457A (zh) 一种基于数据库节点的数据访问方法及系统
CN103078932B (zh) 一种实现通用单点登录的方法、装置和系统
CN104219080B (zh) 一种网站错误页日志记录方法
CN102844756A (zh) 具有基于角色的访问控制的计算机关系数据库方法和系统
WO2007059534A9 (en) Distributed transaction history management system
CN107194256A (zh) 安全资产基线加固方法及装置
KR101691412B1 (ko) 전화번호에 기초한 2채널 사용자 인증 보조 장치 및 방법
CN113434588B (zh) 基于移动通信话单的数据挖掘分析方法及装置
CN110232080A (zh) 一种基于区块链的快速检索方法
CN111857932A (zh) 一种基于puppeteer用于运维审计系统的web代填方法
CN107784228A (zh) Sql注入攻击检测方法及装置
CN106778341A (zh) 数据权限管理系统及方法
WO2023097750A1 (zh) 基于跨端程序生成系统的订单预订方法
CN112800127B (zh) 基于交易账单的数据挖掘分析方法及装置
CN114489772A (zh) 工作流执行方法及装置、存储介质、设备
CN109150590B (zh) 一种物联应用平台自动生成物联系统
CN110399749A (zh) 数据资产管理方法及系统
CN112328683A (zh) 一种支持数据库与库直接的数据传输方法、系统及存储介质
US11030332B1 (en) Database controlled web service type architecture

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant