CN108304732A - 一种用于细化数据库权限的方法和系统 - Google Patents
一种用于细化数据库权限的方法和系统 Download PDFInfo
- Publication number
- CN108304732A CN108304732A CN201711400137.6A CN201711400137A CN108304732A CN 108304732 A CN108304732 A CN 108304732A CN 201711400137 A CN201711400137 A CN 201711400137A CN 108304732 A CN108304732 A CN 108304732A
- Authority
- CN
- China
- Prior art keywords
- database
- user
- resource
- access
- name
- 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
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/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
- G06F21/6227—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 where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
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)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种用于细化数据库权限的方法和系统,该方法包括:根据需要细化权限的数据库的配置信息建立数据源表;从配置信息中获取数据库名称信息及数据库中的表信息和字段信息,以建立资源表;创建访问用户,并将访问用户信息进行存储以建立用户表;根据访问用户和资源表中的资源,建立访问用户和资源表中的资源的关系并进行存储,以建立用户资源关系表。本发明可以对数据库实现更细的控制权限,提高了数据库的安全性。
Description
技术领域
本发明属于数据库管理技术领域,具体地说,尤其涉及一种用于细化数据库权限的方法和系统。
背景技术
随着IT行业的不断发展,在整个项目的开发过程中,不可避免的会将数据库的连接信息暴露给技术人员和业务人员。由于上述操作人员对数据库的操作权限过大,可能对数据库中的数据进行误操作,进而导致数据丢失,甚至由于数据问题引起整个系统宕机。
目前,在各种数据库的权限设计方案中,对权限的控制只局限于读和写的操作,而并未对数据库进行更深层次的授权控制,比如控制到数据库中的表或者字段。因此,细化数据库权限技术作为解决以上这一问题的有效途径,尤其对于系统上线后的相关数据库维护人员来说,逐渐对数据库的安全性的问题越来越重视。
同时,在程序开发过程中,由于将数据库连接信息暴露给技术人员是必不可免的,尤其是在开发测试阶段。因此,在数据库开发时,客观上对数据库的安全性的要求也越来越高。
由于现有技术中,不同的数据库对于自身的权限控制只做到了两种,要么只读,要么既能读又能写。但是,不能更深层次的针对数据库中的表、字段等维度进行授权配置,给数据库管理员带来了极大的不便,同时对维护数据库数据安全性带来极大困难。
发明内容
为解决以上问题,本发明提供了一种用于细化数据库权限的方法和系统,用于对数据库实现更细的控制权限,提高了数据库的安全性。
根据本发明的一个方面,提供了一种用于细化数据库权限的方法,包括:
根据需要细化权限的数据库的配置信息建立数据源表;
从所述配置信息中获取数据库名称信息及数据库中的表信息和字段信息,以建立资源表;
创建访问用户,并将访问用户信息进行存储以建立用户表;
根据所述访问用户和所述资源表中的资源,建立访问用户和资源表中的资源的关系并进行存储,以建立用户资源关系表。
根据本发明的一个实施例,所述配置信息包括数据库类型、数据库ID、数据库的链接地址、端口、数据库用户名和数据库密码。
根据本发明的一个实施例,从所述配置信息中获取数据库名称信息及数据库中的表信息和字段信息,以建立资源表,进一步包括:
根据所述数据源表中的配置信息,获取数据库名称信息及数据库中的表信息和字段信息,并生成对应的资源;
对生成的各资源创建唯一标识信息;
将生成的资源及对应的唯一标识信息进行存储,以形成所述资源表。
根据本发明的一个实施例,根据所述访问用户和所述资源表中的资源,建立访问用户和资源表中的资源的关系并进行存储,以建立用户资源关系表进一步包括;
向不同的访问用户配置一个或者多个资源,以对不同访问用户授予不同的访问资源的权限;
将访问用户及对应的访问资源建立对应关系并进行存储,以建立所述用户资源关系表。
根据本发明的一个实施例,在建立用户资源关系表之后,还包括访问用户利用所述数据源表、所述资源表、所述用户表和所述用户资源关系表进行数据查询步骤,该步骤包括:
获取访问用户输入的待查询的数据库名称,用以判断该数据库是否配置在所述数据源中;
如该数据库配置在所述数据源中,则获取访问用户输入的访问用户名称以判断该访问用户是否存储在所述用户表中;
如该访问用户名称存储在所述用户表中,根据访问用户名称、数据库名称和所述用户资源关系表,判断该访问用户是否具有该数据源中的相应数据库名称的数据库的权限;
如该访问用户具有该数据源中的相应数据库名称的数据库的权限,则获取该数据库名称的数据库中的表名;
根据所述表名、访问用户名称和所述用户资源关系表判断该访问用户是否具有表权限;
如该访问用户具有该数据源中的相应数据库名称的数据库中的表权限,则根据所述数据源表中保存的对应数据库的连接信息从对应的数据库中获取相应的表信息,并获取该表中的字段名;
根据该表中的字段名、访问用户名称和所述用户资源关系表判断该访问用户是否具有字段权限;
如该访问用户具有该数据源中的相应数据库名称的数据库的表中的字段权限,则根据所述数据源表中保存的对应数据库的连接信息从对应的数据库中获取相应的字段信息。
根据本发明的另一个方面,还提供了一种用于细化数据库权限的系统,包括:
数据源表建立模块,其配置为根据需要细化权限的数据库的配置信息建立数据源表;
资源表建立模块,其配置为从所述配置信息中获取数据库名称信息及数据库中的表信息和字段信息,以建立资源表;
用户表建立模块,其配置为创建访问用户,并将访问用户信息进行存储以建立用户表;
用户资源表建立模块,其配置为根据所述访问用户和所述资源表中的资源,建立访问用户和资源表中的资源的关系并进行存储,以建立用户资源关系表。
根据本发明的一个实施例,所述配置信息包括数据库类型、数据库ID、数据库的链接地址、端口、数据库用户名和数据库密码。
根据本发明的一个实施例,所述资源表建立模块进一步包括:
资源生成单元,其配置为根据所述数据源表中的配置信息,获取数据库名称信息及数据库中的表信息和字段信息,并生成对应的资源;
标识创建单元,其配置为对生成的各资源创建唯一标识信息;
资源表建立单元,其配置将生成的资源及对应的唯一标识信息进行存储,以形成所述资源表。
根据本发明的一个实施例,所述用户资源关系表建立模块进一步包括:
资源配置单元,向不同的访问用户配置一个或者多个资源,以使得不同访问用户具有不同的访问资源的权限;
用户资源关系表建立单元,其配置为将访问用户及对应的访问资源建立对应关系并进行存储,以建立所述用户资源关系表。
根据本发明的一个实施例,还包括查询模块,所述查询模块包括:
第一判断单元,其配置为获取访问用户输入的待查询的数据库名称,用以判断该数据库是否配置在所述数据源中;
第二判断单元,其配置为如该数据库配置在所述数据源中,则获取访问用户输入的访问用户名称以判断该访问用户是否存储在所述用户表中;
第三判断单元,其配置为如该访问用户名称存储在所述用户表中,根据访问用户名称、数据库名称和所述用户资源关系表,判断该访问用户是否具有该数据源中的相应数据库名称的数据库的权限;
表名获取单元,其配置为如该访问用户具有该数据源中的相应数据库名称的数据库的权限,则获取对应该数据库名称的数据库中的表名;
第四判断单元,其配置为根据所述表名、访问用户名称和述用户资源关系表判断该访问用户是否具有表权限;
表信息获取单元,其配置为如该访问用户具有该数据源中的相应数据库名称的数据库中的表权限,则根据所述数据源表中保存的对应数据库的连接信息从对应的数据库中获取相应的表信息,并获取该表中的字段名;
第五判断单元,其配置为根据该表中的字段名、访问用户名称和所述用户资源关系表判断该访问用户是否具有字段权限;
字段信息获取单元,其配置为如该访问用户具有该数据源中的相应数据库名称的数据库的表中的字段权限,则根据所述数据源表中保存的对应数据库的连接信息从对应的数据库中获取相应的字段信息。
本发明的有益效果:
本发明通过配置加服务的方式在数据库中配置需要授权的数据库名称、表、字段,然后增加一个访问用户并授权。
通过提供执行操作服务API调用执行数据库操作,这样实现了在不用告知真正数据库账号密码的情况下执行数据库的不同操作,而且能实现更细的控制权限,提高了数据库的安全性。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要的附图做简单的介绍:
图1是根据本发明的一个实施例的一种用于细化数据库权限的方法的流程图;
图2是根据本发明的一个实施例的一种用于细化数据库权限的系统的结构图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
同时,在以下说明中,出于解释的目的而阐述了许多具体细节,以提供对本发明实施例的彻底理解。然而,对本领域的技术人员来说显而易见的是,本发明可以不用这里的具体细节或者所描述的特定方式来实施。
另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
由于现有技术中,不同的数据库对于自身的权限控制只做到了两种,要么只读,要么既能读又能写。但是,不能更深层次的针对数据库中的表、字段等维度进行授权配置,给数据库管理员带来了极大的不便,同时对维护数据库数据安全性带来极大困难。因此,
第一实施例
如图1所示为根据本发明的一个实施例的用于细化数据库权限的方法流程图,以下参考图1来对本发明进行详细说明。
首先是步骤S110,根据需要细化权限的数据库的配置信息建立数据源表。
具体的,根据需要细化权限的数据库的数据库类型、数据库ID、数据库连接地址、端口、数据库用户名和数据库密码等配置信息,建立数据源表。其中,配置信息中的连接信息包括数据库连接地址、端口、数据库用户名和数据库密码。根据存储模型划分,数据库类型包括Oracle、MySQL、SQLServer等。数据库ID为数据库名称,在建立数据库时可以对其进行命名。数据库的链接地址可通过URL(统一资源定位符)进行标识。URL是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
端口指的是数据源表与数据库的通信端口。数据库用户名和数据库密码指的是数据库的管理者使用的用户名和密码,而不是访问用户使用的用户名和密码。该数据源表可以维护多个需要分配的数据库连接信息,通过该数据源表可以获知如何访问需要细化权限的数据库。例如,可以通过数据库的类型获取配置相应的数据库类型,通过数据库链接地址和端口获得配置数据库的访问地址,通过数据库用户名和数据库密码可以对需要细化权限的数据库进行数据库相关操作。
接着是步骤S120,从配置信息中获取数据库名称信息及数据库中的表信息和字段信息,以建立资源表。
具体的,先根据数据源表中的配置信息,获取到要细化权限的数据库的数据库名称信息及数据库中的表信息和字段信息,并生成对应的资源。也就是说,根据数据库名称、表和字段生成对应的资源。例如,一名称为A的数据库,其内部包括各中表,各表内包括各种字段,则可以对该数据库A生成一资源,对该数据库A内的各表生成对应的表资源,对各表内的字段生成字段资源。然后给生成的各资源创建唯一标识信息,对各资源进行资源编码和命名,例如对于数据库A生成的数据库资源,可以编码为A,命名为1;表资源可以编码为A-a,命名为1-1等。最后,将生成的资源及对应的唯一标识信息存储在资源表中,以备分配给访问用户。
接着是步骤S130,创建访问用户,并将访问用户信息进行存储以建立用户表。
具体的,创建一个访问用户并存储在用户表中,该访问用户最终执行数据库语句,并根据授权的权限资源使用数据库。该访问用户不是真正的数据库用户,只是虚构出来的一个操作用户。访问用户信息包括账号、密码等,该访问用户信息储存在用户表中。
最后是步骤S140中,根据访问用户和资源表中的资源,建立访问用户和资源表中的资源的关系并进行存储,以建立用户资源关系表。
具体的,向不同的访问用户配置一个或者多个资源,以使得不同访问用户具有不同的访问资源的权限。这样就对访问用户划分了等级,不同等级的访问用户授予不同的权限资源。例如,具有数据库名称权限的用户具有对数据库名称的读/写访问权限,具有表权限的用户具有对数据库中表的读/写权限,具有字段权限的用户具有对数据库中字段的读/写权限等。对于各数据库名称、表和字段对应的资源,存储在资源表中。
在对访问用户配置不同的权限资源后,将访问用户与其对应的权限资源之间的关联信息存储在用户资源关系表中。在访问用户输入对应的用户名和密码后,可以根据用户资源关系表中存储的用户与权限资源关联信息访问对应的资源。此时,访问用户访问的是对其授权的资源,而不能访问不对其授权的资源。
最后,在步骤S150中,利用数据源表、资源表、用户表和用户资源关系表进行数据查询。
具体的,首先获取访问用户输入的待查询的数据库名称,用以判断该数据库是否配置在数据源中。如该数据库配置在数据源中,则获取访问用户输入的以判断该访问用户是否存储在用户表中。如该访问用户名称存储在用户表中,根据访问用户名称、数据库名称和用户资源关系表,判断该访问用户是否具有该数据源中的相应数据库名称的数据库的权限。如该访问用户具有该数据源中的相应数据库名称的数据库的权限,则获取该数据库名称的数据库中的表名。根据表名、访问用户名称和用户资源关系表判断该访问用户是否具有表权限。如该访问用户具有该数据源中的相应数据库名称的数据库中的表权限,则根据数据源表中保存的对应数据库的连接信息从对应的数据库中获取相应的表信息,并获取该表中的字段名。根据该表中的字段名、访问用户名称和用户资源关系表判断该访问用户是否具有字段权限。如该访问用户具有该数据源中的相应数据库名称的数据库的表中的字段权限,则根据数据源表中保存的对应数据库的连接信息从对应的数据库中获取相应的字段信息。
具体实现时,在操作用户被授权后,可以根据数据库ID(数据源表中针对每个数据库生成对应的一个ID)、操作用户ID和SQL语句对数据库进行相应的操作(增删改查等),具体包括以下几个步骤:
1)、根据访问用户ID判断访问用户是否配置在用户表中;
2)、根据待访问数据库ID判断该数据库是否配置在数据源表中;
3)、根据访问数据库ID和访问用户ID查询用户资源关系表中是否存配置了该数据库权限来判断该访问用户是否有数据库访问权限;
4)、截取SQL语句获取数据库中的表名、字段名等信息;
5)、根据表名、字段和访问用户ID查询用户资源关系表中是否存配置了该表名和字段权限来判断用户是否有表和字段的权限;
6)、根据访问用户ID查询数据源信息,执行SQL语句,获取相应有权限的字段结果。
通过以上步骤S110-S150,可以对不同访问用户的数据库操作权限资源进行配置。在所有的配置都完成之后,可以通过调用服务API的方式传入相应的参数获取到该用户所具有的权限相关数据。在整个过程中,真正的数据库用户和密码不用公布给所有人,只要有一个管理员知道就可以。这样就能在不泄露出数据库信息的情况下,又能让需要查询数据库的人有权限访问该数据库。另外,可以在执行服务中增加操作日志表记录数据变更过程信息。
第二实施例
根据本发明的另一个方面,还提供了一种用于细化数据库权限的系统,如图2所示为根据本发明的一个实施例的一种用于细化数据库权限的系统结构图,以下参考图2来对本发明进行详细说明。
如图2所示,该系统包括数据源表建立模块、资源表建立模块、用户表建立模块和用户资源表建立模块。其中,数据源表建立模块配置为根据需要细化权限的数据库的配置信息建立数据源表。
具体的,根据需要细化权限的数据库的数据库类型、数据库ID、数据库连接地址、端口、数据库用户名和数据库密码等配置信息,建立数据源表。其中,配置信息中的连接信息包括数据库连接地址、端口、数据库用户名和数据库密码。根据存储模型划分,数据库类型包括Oracle、MySQL、SQLServer等。数据库ID为数据库名称,在建立数据库时可以对其进行命名。数据库的链接地址可通过URL(统一资源定位符)进行标识。
URL是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
端口指的是数据源表与数据库的通信端口。数据库用户名和数据库密码指的是数据库的管理者使用的用户名和密码,而不是访问用户使用的用户名和密码。该数据源表可以维护多个需要分配的数据库连接信息,通过该数据源表可以获知如何访问需要细化权限的数据库。例如,可以通过数据库的类型获取配置相应的数据库类型,通过数据库链接地址和端口获得配置数据库的访问地址,通过数据库用户名和数据库密码可以对需要细化权限的数据库进行数据库相关操作。
资源表建立模块与数据源表建立模块连接,配置为从配置信息中获取数据库名称信息及数据库中的表信息和字段信息,以建立资源表。
具体的,先根据数据源表中的配置信息,读取要细化权限的数据库的数据库名称信息及数据库中的表信息和字段信息,并生成对应的资源。也就是说,根据数据库名称、表和字段生成对应的资源。例如,一名称为A的数据库,其内部包括各中表,各表内包括各种字段,则可以对该数据库A生成一资源,对该数据库A内的各表生成对应的表资源,对各表内的字段生成字段资源。然后给生成的各资源创建唯一标识信息,对各资源进行资源编码和命名,例如对于数据库A生成的数据库资源,可以编码为A,命名为1;表资源可以编码为A-a,命名为1-1等。最后,将生成的资源及对应的唯一标识信息存储在资源表中,以备分配给访问用户。
用户表建立模块与资源表建立模块连接,配置为创建访问用户,并将访问用户信息进行存储以建立用户表。
具体的,用户表建立模块创建一个访问用户并存储在用户表中,该访问用户最终执行数据库语句,并根据授权的权限资源使用数据库。该访问用户不是真正的数据库用户,只是虚构出来的一个操作用户。访问用户信息包括账号、密码等,该访问用户信息储存在用户表中。
用户资源表建立模块与用户表建立模块连接,配置为根据访问用户和资源表中的资源,建立访问用户和资源表中的资源的关系并进行存储,以建立用户资源关系表。
具体的,向不同的访问用户配置一个或者多个资源,以使得不同访问用户具有不同的访问资源的权限。这样就对访问用户划分了等级,不同等级的访问用户授予不同的权限资源。
例如,具有数据库名称权限的用户具有对数据库名称的读/写访问权限,具有表权限的用户具有对数据库中表的读/写权限,具有字段权限的用户具有对数据库中字段的读/写权限等。对于各数据库名称、表和字段对应的资源,存储在资源表中。
在对访问用户配置不同的权限资源后,将访问用户与其对应的权限资源之间的关联信息存储在用户资源关系表中。在访问用户输入对应的用户名和密码后,可以根据用户资源关系表中存储的用户与权限资源关联信息访问对应的资源。此时,访问用户访问的是对其授权的资源,而不能访问不对其授权的资源。
在本发明的一个实施例中,该配置信息包括数据库类型、数据库ID、数据库的链接地址、端口、数据库用户名和数据库密码。
在本发明的一个实施例中,该资源表建立模块进一步包括资源生成单元、标识创建单元和资源表建立单元。
其中,资源生成单元配置为根据数据源表中的配置信息,获取到要细化权限的数据库的数据库名称信息及数据库中的表信息和字段信息,并生成对应的资源。
标识创建单元配置为对生成的各资源创建唯一标识信息。资源表建立单元配置将生成的资源及对应的唯一标识信息进行存储,以形成资源表。
在本发明的一个实施例中,该用户资源关系表建立模块进一步包括资源配置单元和用户资源关系表建立单元。
其中,资源配置单元配置为根据数据库名称、表、字段给不同等级的访问用户配置一个或者多个资源。用户资源关系表建立单元配置为将不同等级的访问用户及对应的访问资源建立关系,并进行存储以建立所述用户资源关系表。
根据本发明的一个实施例,还包括查询模块,该查询模块包括第一判断单元、第二判断单元、第三判断单元、表名获取单元、第四判断单元、表信息获取单元、第五判断单元和字段信息获取单元。
其中,第一判断单元配置为配置为获取访问用户输入的待查询的数据库名称,用以判断该数据库是否配置在数据源中。第二判断单元配置为如该数据库配置在所述数据源中,则获取访问用户输入的以判断该访问用户是否存储在所述用户表中。第三判断单元配置为如该访问用户名称存储在所述用户表中,根据访问用户名称、数据库名称和用户资源关系表,判断该访问用户是否具有该数据源中的相应数据库名称的数据库的权限。表名获取单元配置为如该访问用户具有该数据源中的相应数据库名称的数据库的权限,则获取对应该数据库名称的数据库中的表名。第四判断单元配置为根据表名、访问用户名称和述用户资源关系表判断该访问用户是否具有表权限。表信息获取单元配置为如该访问用户具有该数据源中的相应数据库名称的数据库中的表权限,则根据数据源表中保存的对应数据库的连接信息从对应的数据库中获取相应的表信息,并获取该表中的字段名。第五判断单元配置为根据该表中的字段名、访问用户名称和所述用户资源关系表判断该访问用户是否具有字段权限。字段信息获取单元配置为如该访问用户具有该数据源中的相应数据库名称的数据库的表中的字段权限,则根据数据源表中保存的对应数据库的连接信息从对应的数据库中获取相应的字段信息。
本发明可以对不同访问用户的数据库操作权限资源进行配置。在所有的配置都完成之后,可以通过调用服务API的方式传入相应的参数获取到该用户所具有的权限相关数据。
在整个数据库的运行过程中,真正的数据库的用户和密码不用公布给所有人,只要有一个管理员知道就可以。这样,就能在不泄露出数据库信息的情况下,能让需要查询数据库的人有权限访问该数据库。另外,还可以在执行服务中增加操作日志表记录数据变更过程信息。
应该理解的是,本发明所公开的实施例不限于这里所公开的处理步骤,而应当延伸到相关领域的普通技术人员所理解的这些特征的等同替代。还应当理解的是,在此使用的术语仅用于描述特定实施例的目的,而并不意味着限制。
说明书中提到的“一个实施例”或“实施例”意指结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,说明书通篇各个地方出现的短语“一个实施例”或“实施例”并不一定均指同一个实施例。
虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (10)
1.一种用于细化数据库权限的方法,包括:
根据需要细化权限的数据库的配置信息建立数据源表;
从所述配置信息中获取数据库名称信息及数据库中的表信息和字段信息,以建立资源表;
创建访问用户,并将访问用户信息进行存储以建立用户表;
根据所述访问用户和所述资源表中的资源,建立访问用户和资源表中的资源的关系并进行存储,以建立用户资源关系表。
2.根据权利要求1所述的方法,其特征在于,所述配置信息包括数据库类型、数据库ID、数据库的链接地址、端口、数据库用户名和数据库密码。
3.根据权利要求1或2所述的方法,其特征在于,从所述配置信息中获取数据库名称信息及数据库中的表信息和字段信息,以建立资源表,进一步包括:
根据所述数据源表中的配置信息,获取数据库名称信息及数据库中的表信息和字段信息,并生成对应的资源;
对生成的各资源创建唯一标识信息;
将生成的资源及对应的唯一标识信息进行存储,以形成所述资源表。
4.根据权利要求3所述的方法,其特征在于,根据所述访问用户和所述资源表中的资源,建立访问用户和资源表中的资源的关系并进行存储,以建立用户资源关系表进一步包括;
向不同的访问用户配置一个或者多个资源,以对不同访问用户授予不同的访问资源的权限;
将访问用户及对应的访问资源建立对应关系并进行存储,以建立所述用户资源关系表。
5.根据权利要求4所述的方法,其特征在于,在建立用户资源关系表之后,还包括利用所述数据源表、所述资源表、所述用户表和所述用户资源关系表进行数据查询步骤,该步骤包括:
获取访问用户输入的待查询的数据库名称,用以判断该数据库是否配置在所述数据源中;
如该数据库配置在所述数据源中,则获取访问用户输入的访问用户名称以判断该访问用户是否存储在所述用户表中;
如该访问用户名称存储在所述用户表中,根据访问用户名称、数据库名称和所述用户资源关系表,判断该访问用户是否具有该数据源中的相应数据库名称的数据库的权限;
如该访问用户具有该数据源中的相应数据库名称的数据库的权限,则获取该数据库名称的数据库中的表名;
根据所述表名、访问用户名称和所述用户资源关系表判断该访问用户是否具有表权限;
如该访问用户具有该数据源中的相应数据库名称的数据库中的表权限,则根据所述数据源表中保存的对应数据库的连接信息从对应的数据库中获取相应的表信息,并获取该表中的字段名;
根据该表中的字段名、访问用户名称和所述用户资源关系表判断该访问用户是否具有字段权限;
如该访问用户具有该数据源中的相应数据库名称的数据库的表中的字段权限,则根据所述数据源表中保存的对应数据库的连接信息从对应的数据库中获取相应的字段信息。
6.一种用于细化数据库权限的系统,包括:
数据源表建立模块,其配置为根据需要细化权限的数据库的配置信息建立数据源表;
资源表建立模块,其配置为从所述配置信息中获取数据库名称信息及数据库中的表信息和字段信息,以建立资源表;
用户表建立模块,其配置为创建访问用户,并将访问用户信息进行存储以建立用户表;
用户资源表建立模块,其配置为根据所述访问用户和所述资源表中的资源,建立访问用户和资源表中的资源的关系并进行存储,以建立用户资源关系表。
7.根据权利要求6所述的系统,其特征在于,所述配置信息包括数据库类型、数据库ID、数据库的链接地址、端口、数据库用户名和数据库密码。
8.根据权利要求6或7所述的系统,其特征在于,所述资源表建立模块进一步包括:
资源生成单元,其配置为根据所述数据源表中的配置信息,获取数据库名称信息及数据库中的表信息和字段信息,并生成对应的资源;
标识创建单元,其配置为对生成的各资源创建唯一标识信息;
资源表建立单元,其配置将生成的资源及对应的唯一标识信息进行存储,以形成所述资源表。
9.根据权利要求8所述的系统,其特征在于,所述用户资源关系表建立模块进一步包括:
资源配置单元,向不同的访问用户配置一个或者多个资源,以使得不同访问用户具有不同的访问资源的权限;
用户资源关系表建立单元,其配置为将访问用户及对应的访问资源建立对应关系并进行存储,以建立所述用户资源关系表。
10.根据权利要求6所述的系统,其特征在于,还包括查询模块,所述查询模块包括:
第一判断单元,其配置为获取访问用户输入的待查询的数据库名称,用以判断该数据库是否配置在所述数据源中;
第二判断单元,其配置为如该数据库配置在所述数据源中,则获取访问用户输入的访问用户名称以判断该访问用户是否存储在所述用户表中;
第三判断单元,其配置为如该访问用户名称存储在所述用户表中,根据访问用户名称、数据库名称和所述用户资源关系表,判断该访问用户是否具有该数据源中的相应数据库名称的数据库的权限;
表名获取单元,其配置为如该访问用户具有该数据源中的相应数据库名称的数据库的权限,则获取对应该数据库名称的数据库中的表名;
第四判断单元,其配置为根据所述表名、访问用户名称和述用户资源关系表判断该访问用户是否具有表权限;
表信息获取单元,其配置为如该访问用户具有该数据源中的相应数据库名称的数据库中的表权限,则根据所述数据源表中保存的对应数据库的连接信息从对应的数据库中获取相应的表信息,并获取该表中的字段名;
第五判断单元,其配置为根据该表中的字段名、访问用户名称和所述用户资源关系表判断该访问用户是否具有字段权限;
字段信息获取单元,其配置为如该访问用户具有该数据源中的相应数据库名称的数据库的表中的字段权限,则根据所述数据源表中保存的对应数据库的连接信息从对应的数据库中获取相应的字段信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711400137.6A CN108304732A (zh) | 2017-12-22 | 2017-12-22 | 一种用于细化数据库权限的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711400137.6A CN108304732A (zh) | 2017-12-22 | 2017-12-22 | 一种用于细化数据库权限的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108304732A true CN108304732A (zh) | 2018-07-20 |
Family
ID=62870848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711400137.6A Pending CN108304732A (zh) | 2017-12-22 | 2017-12-22 | 一种用于细化数据库权限的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108304732A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109144978A (zh) * | 2018-08-15 | 2019-01-04 | 新华三大数据技术有限公司 | 权限管理方法及装置 |
CN109726535A (zh) * | 2018-12-29 | 2019-05-07 | 杭州数澜科技有限公司 | 一种用于大数据平台的数据权限管理的方法和系统 |
CN110059134A (zh) * | 2019-03-18 | 2019-07-26 | 深圳市买买提信息科技有限公司 | 一种数据同步至云平台的方法、相关装置和设备 |
CN110096892A (zh) * | 2019-04-29 | 2019-08-06 | 武汉中锐源信息技术开发有限公司 | 数据库属性访问控制方法及系统 |
CN110427775A (zh) * | 2019-07-25 | 2019-11-08 | 北京明略软件系统有限公司 | 数据查询权限控制方法及装置 |
CN111177252A (zh) * | 2019-11-26 | 2020-05-19 | 腾讯云计算(北京)有限责任公司 | 一种业务数据的处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090271216A1 (en) * | 2003-05-19 | 2009-10-29 | David Burton | Diagnostic image security system |
CN102063479A (zh) * | 2010-12-22 | 2011-05-18 | 北京中电普华信息技术有限公司 | 一种控制数据访问权限的方法和系统 |
CN102968599A (zh) * | 2012-10-25 | 2013-03-13 | 北京邮电大学 | 基于资源发布者自定义的访问控制系统及方法 |
CN105095329A (zh) * | 2014-11-20 | 2015-11-25 | 北京航天金盾科技有限公司 | 一种人口数据校核方法 |
-
2017
- 2017-12-22 CN CN201711400137.6A patent/CN108304732A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090271216A1 (en) * | 2003-05-19 | 2009-10-29 | David Burton | Diagnostic image security system |
CN102063479A (zh) * | 2010-12-22 | 2011-05-18 | 北京中电普华信息技术有限公司 | 一种控制数据访问权限的方法和系统 |
CN102968599A (zh) * | 2012-10-25 | 2013-03-13 | 北京邮电大学 | 基于资源发布者自定义的访问控制系统及方法 |
CN105095329A (zh) * | 2014-11-20 | 2015-11-25 | 北京航天金盾科技有限公司 | 一种人口数据校核方法 |
Non-Patent Citations (1)
Title |
---|
贾铁军等: "数据库技术及应用", 《数据库技术及应用》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109144978A (zh) * | 2018-08-15 | 2019-01-04 | 新华三大数据技术有限公司 | 权限管理方法及装置 |
CN109144978B (zh) * | 2018-08-15 | 2020-12-01 | 新华三大数据技术有限公司 | 权限管理方法及装置 |
CN109726535A (zh) * | 2018-12-29 | 2019-05-07 | 杭州数澜科技有限公司 | 一种用于大数据平台的数据权限管理的方法和系统 |
CN110059134A (zh) * | 2019-03-18 | 2019-07-26 | 深圳市买买提信息科技有限公司 | 一种数据同步至云平台的方法、相关装置和设备 |
CN110096892A (zh) * | 2019-04-29 | 2019-08-06 | 武汉中锐源信息技术开发有限公司 | 数据库属性访问控制方法及系统 |
CN110096892B (zh) * | 2019-04-29 | 2021-07-02 | 武汉中锐源信息技术开发有限公司 | 数据库属性访问控制方法及系统 |
CN110427775A (zh) * | 2019-07-25 | 2019-11-08 | 北京明略软件系统有限公司 | 数据查询权限控制方法及装置 |
CN111177252A (zh) * | 2019-11-26 | 2020-05-19 | 腾讯云计算(北京)有限责任公司 | 一种业务数据的处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108304732A (zh) | 一种用于细化数据库权限的方法和系统 | |
Uddin et al. | A dynamic access control model using authorising workflow and task-role-based access control | |
US10055561B2 (en) | Identity risk score generation and implementation | |
Herzberg et al. | Access control meets public key infrastructure, or: Assigning roles to strangers | |
Chen | Knowledge sharing in virtual enterprises via an ontology-based access control approach | |
CN109565505A (zh) | 用于多租户身份和数据安全管理云服务的租户自助服务故障排除 | |
CN104270386B (zh) | 跨应用系统用户信息整合方法及身份信息管理服务器 | |
Priebe et al. | Supporting attribute-based access control in authentication and authorization infrastructures with ontologies | |
CN111709056A (zh) | 基于区块链的数据共享方法及系统 | |
Shen et al. | Data management for future wireless networks: Architecture, privacy preservation, and regulation | |
CN108446976B (zh) | 一种公积金转移方法、计算机可读存储介质及终端设备 | |
US8504590B2 (en) | Methods of encapsulating information in records from two or more disparate databases | |
CN108765001A (zh) | 基于区块链的商业地产价值分析系统及方法 | |
US11494482B1 (en) | Centralized applications credentials management | |
CN107426134A (zh) | 一种基于关系的访问控制方法 | |
CN115865398A (zh) | 一种数字化业务安全原生体系的构建方法及系统 | |
Stojanov et al. | Linked data authorization platform | |
US20230334140A1 (en) | Management of applications’ access to data resources | |
US20230062658A1 (en) | Policy enforcement for data sources accessed via interfaces | |
Iqbal et al. | Corda Security Ontology: Example of Post-Trade Matching and Confirmation. | |
US20230061620A1 (en) | Dynamic temporary data source access management | |
Veichtlbauer et al. | Advanced metering and data access infrastructures in smart grid environments | |
Hebig et al. | A web service architecture for decentralised identity-and attribute-based access control | |
US7836510B1 (en) | Fine-grained attribute access control | |
CN108366068A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180720 |
|
RJ01 | Rejection of invention patent application after publication |