[发明专利]一种数据库访问控制方法、装置、设备及存储介质在审
申请号: | 202211200651.6 | 申请日: | 2022-09-29 |
公开(公告)号: | CN115510487A | 公开(公告)日: | 2022-12-23 |
发明(设计)人: | 袁小凯;杨航;匡晓云;蒋屹新;刘增才;庄磊;郭瑞鹏;曾繁超 | 申请(专利权)人: | 南方电网科学研究院有限责任公司 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F21/31 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 李伟贤 |
地址: | 510663 广东省广州市萝岗区科*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 访问 控制 方法 装置 设备 存储 介质 | ||
本申请公开了一种数据库访问控制方法、装置、设备及存储介质,方法包括:响应客户端访问数据库的请求指令,确定客户端所属的用户角色,确定用户角色对应的数据库用户身份与访问权限,向数据库用户身份分配访问权限,通过数据库用户身份建立与数据库的长连接,选择用户角色的数据库连接池,以供客户端在访问权限下,以匹配的最小授权数据库用户身份访问数据库。可见,通过明确请求访问数据库的客户端所属的用户角色,并将该用户角色映射到数据库用户,打破了后端服务使用具有混合特权权限的单数据库用户与数据库建立连接,能够细颗粒度分配相应的访问权限给数据库用户,避免低等级用户越权访问数据库,减少SQL注入漏洞带来的安全风险。
技术领域
本申请涉及数据库领域,更具体的说,是涉及一种数据库访问控制方法、装置、设备及存储介质。
背景技术
随着信息技术的发展,软件开发作为极其重要的过程,受到信息技术人员的重视。当前软件开发采用三层架构模型,前端/客户端、后端服务和数据库,前端/客户端与后端服务形成业务用户空间,后端服务中存在数据库用户,也与数据库形成数据库用户空间,两个空间均存在身份鉴别和权限访问控制。
目前上述两个空间未能进行有效的协同和融合,使应用后端服务通过单个混合权限的数据库用户,建立与数据库的连接,使得无论是普通用户、高级用户等任何用户角色均以同样的权限访问数据库,导致数据库用户空间的数据库用户访问控制失效,使低级用户能够越权访问,存在严重的数据库访问安全风险。
发明内容
鉴于上述问题,提出了本申请以便提供一种数据库访问控制方法、装置、设备及存储介质,以合理分配不同用户角色权限并以此访问数据库,降低数据库访问的安全风险。
为了实现上述目的,现提出具体方案如下:
一种数据库访问控制方法,包括:
响应客户端访问数据库的请求指令,确定所述客户端所属的用户角色;
确定所述用户角色对应的数据库用户身份与访问权限;
向所述数据库用户身份分配所述访问权限;
通过所述数据库用户身份建立与数据库的长连接,选择所述用户角色的数据库连接池,并将所述数据库连接池返回所述客户端,以供所述客户端在所述访问权限下,以所述数据库用户身份访问所述数据库连接池,所述数据库连接池包含所述数据库中属于所述用户角色的数据信息。
可选的,确定所述用户角色对应的数据库用户身份与访问权限,包括:
在预设的用户角色数据库权限配置表中,查询与所述用户角色对应的数据库用户身份;
确定所述数据库用户身份的访问权限。
可选的,所述响应客户端访问数据库的请求指令,确定所述客户端所属的用户角色,包括:
响应客户端访问数据库的请求指令,提取所述请求指令中的用户信息;
检查所述用户信息中的用户身份信息,确定所述客户端所属的用户角色。
可选的,每个用户角色的数据库连接池的建立过程,包括:
从预设的用户角色表中确定所有用户角色;
确定每个用户角色对应的数据库用户身份与访问权限;
将所述数据库中的每个数据库用户身份具备与之对应的访问权限的数据信息,作为该数据库用户身份的数据信息;
根据每个数据库用户身份的数据信息,建立与该数据库用户身份对应的用户角色的数据库连接池。
一种数据库访问控制装置,应用于后端服务,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南方电网科学研究院有限责任公司,未经南方电网科学研究院有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211200651.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种集中式紧耦合实时仿真系统
- 下一篇:面向强化学习的深度神经网络生成方法