数据账号权限管理中应遵循权限最小化原则,特别是针对老旧信息化系统。这主要源于两方面原因:首先,过去数据库系统并未严格实施三权(管理员、审核员、业务员的权限)分立原则,授权操作常由数据库开发人员自行进行,缺乏规范管理和第三方审核机制;其次,对于大型商用数据库如Oracle、Db2、SQL Server等,由于历史资源配置问题,核心业务逻辑多通过数据库自身的高级功能实现,这导致在实际赋权过程中,为简化操作,常将高权限角色直接赋予用户。
在实际操作中,管理员可能将高权限角色或权限赋予通用角色,如public角色,使得任意用户通过间接方式获得高权限,且由于间接赋权的隐蔽性,这类问题难以被察觉。此外,在分布式事务数据库中,创建的dblink对端账号可能拥有高权限,导致本地用户虽拥有常规权限,却能在对端数据库实例中行使高权限,增加了安全风险。“沉睡”账号也是权限管理中的一个重要问题。这类账号的产生往往由于数据库运维外包或业务系统迁移下线等原因,而账号未得到及时处理。这些账号可能具有不同权限,若泄露或被利用,将对系统安全构成严重威胁。
当前,数据库权限管理多采用基于角色的访问控制模型(RBAC),角色间关系复杂,相互嵌套,为历史用户权限的梳理带来了极大困难。因此,加强数据账号权限的精细化管理,确保权限分配的合理性和安全性,是当前数据库管理工作的重中之重。