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授权可写的行。

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

相关文章
|
存储
串拷贝(strcpy)和内存拷贝(memcpy)
串拷贝(strcpy)和内存拷贝(memcpy)
222 0
|
缓存 网络协议
【计算机网络】传输层 : TCP 流量控制 ( 流量控制过程 | 持续计时器机制 )
【计算机网络】传输层 : TCP 流量控制 ( 流量控制过程 | 持续计时器机制 )
466 0
|
10天前
|
人工智能 自然语言处理 文字识别
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
Qwen3.7-Max是阿里云百炼面向智能体时代推出的新一代旗舰模型,对标GPT-5.5、Claude Opus 4.7等闭源旗舰。该模型支持百万级token上下文窗口,具备顶级推理能力、多模态搜索与视觉理解增强、流式输出低延迟响应等核心优势,覆盖编程、办公、长周期自主执行等复杂场景。同时支持OpenAI接口兼容,便于系统快速迁移。用户可通过Token Plan团队或节省计划等订阅方式灵活调用,适合企业级高要求场景使用。
4031 19
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
|
11天前
|
人工智能 自然语言处理 供应链
|
17天前
|
人工智能 开发工具 iOS开发
Claude Code 新手完全上手指南:安装、国产模型配置与常用命令全解
Claude Code 是一款运行在终端环境中的 AI 编程助手,能够直接在命令行中完成代码生成、项目分析、文件修改、命令执行、Git 管理等开发全流程工作。它最大的特点是**任务驱动、终端原生、轻量高效、多模型兼容**,无需图形界面、不依赖 IDE 插件,能够深度融入开发者日常工作流。
3643 14
|
14天前
|
人工智能 Linux BI
国内用 Claude Code 终于不用翻墙了:一行命令搞定,自动接 DeepSeek
JeecgBoot AI专题研究 一键脚本:Claude Code + JeecgBoot Skills + DeepSeek 全平台接入 一行命令装好 Claude Code + JeecgBoot Skills + DeepSeek 接入,无需翻墙使用 Claude Code,支持 Wind
3099 8
国内用 Claude Code 终于不用翻墙了:一行命令搞定,自动接 DeepSeek
|
4天前
|
存储 定位技术 数据库
CodeGraph 如何让 Claude Code减少 7 成工具调用?
CodeGraph 为 Coding Agent 提供本地代码知识图谱,把函数、类、调用链和框架路由提前整理成“项目地图”,减少盲目搜索和文件读取。它不是新 Agent,而是上下文基础设施,让 Agent 更快找到正确代码路径,平均减少 7 成工具调用。
603 0
|
20天前
|
Shell API 开发工具
Claude Code 快速上手指南(新手友好版)
AI编程工具卷疯啦!Claude Code凭借任务驱动+终端原生的特性,成了开发者的效率搭子。本文从安装、登录、切换国产模型到常用命令,手把手带新手快速上手,全程避坑,30分钟独立用起来。
3793 25