【技术实现步骤摘要】
用于为关系数据库处理数据库语句的方法和系统
本专利技术涉及为关系数据库处理数据库语句。
技术介绍
数据库系统通常使用精细粒度访问控制(FGAC)机制来控制用户对数据的访问。例如,FGAC可以用于限制用户对关系表中的特定行集合的访问。该级别的访问控制对于关系数据访问的所有区域(诸如实用程序)是有利的,而对于诸如SELECT、INSERT、UPDATE和DELETE等数据操纵语言(datamanipulationlanguage,DML)SQL语句尤其有利。在关系数据库系统内实现FGAC的传统方法依赖于视图的使用。例如,诸如Oracle虚拟私有数据库等“虚拟私有数据库”允许在行和/或列级别限定访问。FGAC的其他已知实施方式使用用户会话的上下文属性,通过将谓词添加到查询中来修改SQL查询。然而,已知的现有技术解决方案并没有解决由于推断而可能出现的安全问题,即,用户可以使用允许其访问的其他信息,推断存储在数据库中的不允许其访问的数据信息的情况。举个例子来说,假设一个数据库表包含客户信用卡信息,其客户(CUSTOMERS)表具有栏目:姓名(name)、卡号(card_number)、失效日期(exp_date)、起始日期(start_date),并包含以下行:作为FGAC机制的一部分,可以定义卡号列的掩码,使得特定用户不能看到该列的整个值。例如,可以将一列掩码定义为XXXX-XXXX-XXXX-####的形式,以使查询为例如:SELECTname,card_numberFROMCUSTOMERSWHEREname=‘Smith,John’将为应用了掩码的用户返回以 ...
【技术保护点】
一种用于为关系数据库处理数据库语句的计算机实现的方法,其中所述数据库包含一个或多个包括一个或多个数据行的表,所述方法包括以下步骤:接收数据库语句;从所述数据库语句中确定谓词集合以用于生成所述数据库语句的结果;从所述一个或多个表中确定数据行集合以用于生成所述数据库语句结果;获得适用于所述数据行集合中的一个或多个数据行的禁止语句集合;对于所述谓词集合的每个谓词:获得适用于所述数据行集合的一个或多个数据行的掩码集合,其中,对于所述掩码集合中的每个掩码,由掩码掩蔽的数据被所述谓词使用;确定所述数据行集合的数据行是否具有适用的禁止语句,以及是否包含由所述掩码集合的掩码掩蔽的数据;以及在所述数据行集合的数据行具有适用的禁止语句并且包含由所述掩码集合的掩码掩蔽的数据的情况下,确定所述数据库语句的结果而无需使用将所述谓词应用于所述数据行的结果。
【技术特征摘要】
2015.11.23 US 14/948,8471.一种用于为关系数据库处理数据库语句的计算机实现的方法,其中所述数据库包含一个或多个包括一个或多个数据行的表,所述方法包括以下步骤:接收数据库语句;从所述数据库语句中确定谓词集合以用于生成所述数据库语句的结果;从所述一个或多个表中确定数据行集合以用于生成所述数据库语句结果;获得适用于所述数据行集合中的一个或多个数据行的禁止语句集合;对于所述谓词集合的每个谓词:获得适用于所述数据行集合的一个或多个数据行的掩码集合,其中,对于所述掩码集合中的每个掩码,由掩码掩蔽的数据被所述谓词使用;确定所述数据行集合的数据行是否具有适用的禁止语句,以及是否包含由所述掩码集合的掩码掩蔽的数据;以及在所述数据行集合的数据行具有适用的禁止语句并且包含由所述掩码集合的掩码掩蔽的数据的情况下,确定所述数据库语句的结果而无需使用将所述谓词应用于所述数据行的结果。2.如权利要求1所述的计算机实现的方法,其中,确定所述数据库语句的结果而无需使用将所述谓词应用于所述数据行的结果,其实现是通过:从所述数据行集合中移除所述数据行;以及将所述谓词集合应用于所述经修改的数据行集合。3.如权利要求1所述的计算机实现的方法,其中,确定所述数据库语句的结果而无需使用将所述谓词应用于所述数据行的结果,其实现是通过:从所述谓词集合中移除所述谓词;以及将所述经修改的谓词集合应用于所述数据行集合。4.如权利要求1所述的计算机实现的方法,其中,所述禁止语句集合中的每个禁止语句定义是否确定所述数据库语句的结果而无需使用将所述谓词应用于所述数据行的结果,其实现是通过执行以下步骤之一:从所述数据行集合中移除所述数据行;以及从所述谓词集合中移除所述谓词。5.如权利要求1所述的计算机实现的方法,其中,所述禁止语句集合中的每个禁止语句定义了所述禁止语句应用的数据库语句的类型。6.如权利要求5所述的计算机实现的方法,其中,所述禁止语句集合仅包括适用于所述数据库语句的禁止语句。7.如权利要求1所述的计算机实现的方法,其中,所述禁止语句集合的一个或多个禁止语句定义所述禁止语句应用的表的列。8.如权利要求7所述的计算机实现的方法,其中,在确定所述数据行集合的数据行是否具有适用的禁止语句,以及是否包含被所述掩码集合的掩码掩蔽的数据的步骤中,禁止语句被确定为仅适用于当所述禁止语句应用于表的列且其数据被所述掩码掩蔽的情况。9.一种数据库系统,包括:配置成从客户...
【专利技术属性】
技术研发人员:PM巴尔巴斯,J达菲,L潘,DM蒂尔森,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。