YashanDB访问控制

简介: YashanDB访问控制

基于角色


YashanDB采用基于角色的访问控制(RBAC),限制授权用户对系统的访问。

角色包含权限集,通过角色能有效权限管理,管理员对用户只需关注其角色,对角色只需关注其权限集。

三权分立

数据库在运行过程中需要持续的运维和管理,理论上使用sys用户可以执行所有的管理操作,但会产生非常大的安全风险:

  • sys为YashanDB的超级管理员账号,拥有完全的权限,可以执行对数据库执行所有的操作,可能存在因误操作导致严重故障的风险。

  • 使用sys账号所执行的操作在日志或记录表中均标记为sys,无法追踪回溯到实际的执行者。

  • 若将sys账号应用于数据库的日常管理中,使用频度过高,很容易成为黑客窃取口令的目标,一旦窃取成功,将使整个数据库系统被暴露,造成严重后果。

因此,在产品安装完成,系统管理员接手对数据库的管理工作后,建议首先创建数据库的管理员账号,依据管理职责授予其对应的管理权限,使用管理员账号(而非sys账号)进行后续管理和运维操作。

在计算机信息系统的等保要求(3级及以上标准)中提出数据库系统必须要采用“三权分立”的权限体系,如下图所示:

三权分立是对数据库管理权限的划分,让各类管理员能够独立行使权力又相互制约,可以有效避免管理权限过于集中的风险。

YashanDB对此体系提供如下功能支持:

  • 控制开关:通过ENABLE_SEPARATE_DUTY配置参数,由企业根据自身需要选择是否启用三权分立。

  • 内置三权角色:

    • DBA:管理数据库日常运维,例如日志文件管理、备份恢复、各类DDL操作等。

    • SECURITY_ADMIN:管理数据库的安全机制,例如管理用户、角色、为其他账号授权等。

    • AUDIT_ADMIN:管理数据库的审计机制,例如创建审计策略、跟踪分析审计日志等,负责追溯其他用户的行为,也包括监督DBA和安全管理员。

基于标签


YashanDB还提供了基于标签的访问控制(LBAC),可以实现行级别的强访问控制,根据用户的安全标签以及数据的安全标签来控制数据访问,精准控制用户对表中各行数据的读写权限,保证读写数据的安全。

LBAC是强访问控制的一种方式,通过在表中应用安全策略保护数据、向用户应用安全标签授予读写权限。当用户尝试访问受保护数据时,该用户的安全标签将与受保护数据的安全标签进行比较,从而约束或允许用户对数据的访问。

一个安全策略可以应用到多张表上,表中每应用一个安全策略便会自动添加一列,用于该安全策略的访问控制。

应用安全策略后,表中的每一行与对应的安全标签相关联以行级别对数据进行保护。受安全标签保护的数据称为受保护数据。

安全管理员通过向用户授予安全标签来允许用户访问相应的受保护数据。

当用户尝试访问受保护数据时,该用户的安全标签将与受保护数据的安全标签进行比较:

  • 用户只允许查询到被LBAC授权可读的行。

    要求用户的安全标签的级别高于目标数据的安全标签的级别,且用户的安全标签的范围包含目标数据的安全标签的所有范围,用户才能正常读取相应行。

  • 用户只允许修改、删除或插入被LBAC授权可写的行。

    要求用户的安全标签的最低级别低于目标数据的安全标签的级别,且用户的安全标签的范围包含目标数据的安全标签的所有可写范围,用户才能正常写入相应行。

相关文章
|
存储 算法
【初阶数据结构】——堆的引入和实现二叉树
【初阶数据结构】——堆的引入和实现二叉树
|
存储 数据挖掘 数据库
Netapp数据恢复—Netapp存储误删除lun的数据恢复
Netapp数据恢复数据恢复环境&故障: 一台Netapp存储中有72块SAS硬盘,管理员误操作删除了12个lun。 Netapp数据恢复过程: 1、将故障Netapp存储中所有磁盘编号后取出。硬件工程师检测后没有发现有硬盘存在硬件故障,都可以正常读取。将所有硬盘以只读方式进行扇区级全盘镜像。镜像完成后将所有磁盘按照标记原样还原到原存储中。后续的数据分析和数据恢复操作都基于镜像文件进行,避免对原始磁盘数据造成二次破坏。 2、基于镜像文件对分析所有磁盘底层数据,找到了盘头位置的超级块,分析超级块信息获取到磁盘组的起始块信息、磁盘组名称、逻辑组起始块号、raid编号等基本信息。
|
消息中间件 存储 Kafka
现代消息队列与云存储问题之Kafka在海量队列场景下存在性能的问题如何解决
现代消息队列与云存储问题之Kafka在海量队列场景下存在性能的问题如何解决
209 0
|
算法 Java API
六六力扣刷题字符串之反转字符串中的单词
六六力扣刷题字符串之反转字符串中的单词
257 0
|
Oracle 关系型数据库
IBM/ORACLE/EMC在银行业的重要性
IBM/ORACLE/EMC在银行业的重要性
202 0
IBM/ORACLE/EMC在银行业的重要性
|
数据采集 存储 运维
桂老师谈数据:做好五大准备,主数据项目顺利启航
我经常发现主数据项目实施过程中出现的一些问题,这些问题在一定程度上成为主数据是否成功实施,或者实施效果好坏的严重障碍
桂老师谈数据:做好五大准备,主数据项目顺利启航
|
计算机视觉
映射文件中update语句自动生成的神奇语句
映射文件中update语句自动生成的神奇语句
184 0
映射文件中update语句自动生成的神奇语句
ThreadLocal 父子线程之间该如何传递数据?
ThreadLocal 父子线程之间该如何传递数据?
|
缓存 网络协议
【计算机网络】传输层 : TCP 流量控制 ( 流量控制过程 | 持续计时器机制 )
【计算机网络】传输层 : TCP 流量控制 ( 流量控制过程 | 持续计时器机制 )
443 0