RBAC模型介绍

简介: RBAC模型是一种基于角色的访问控制机制,用于解决企业系统中不同用户对不同业务的权限管理问题。它将功能集合为角色,然后将角色分配给用户,简化了大量用户的权限分配过程,降低了操作错误和复杂性。通过角色,可以实现用户与功能的解耦,便于权限管理。在RBAC中,用户、角色和权限之间存在多对多的关系,通常涉及五张数据库表来维护这种关系。

RBAC模型

概述

在企业系统中,通过配置用户的功能权限可以解决不同的人分管不同业务的需求,基于RBAC模型,RBAC(Role Based Access Control)模型,它的中文是基于角色的访问控制,主要是将功能组合成角色,再将角色分配给用户,也就是说角色是功能的合集

比如:

企业A总共有12个功能,需要创建100个用户。这些用户包括财务管理、人事管理、销售管理等等。如果不引入基于角色的访问控制(RBAC)模型,我们就需要每创建一个用户就要分配一次功能,这将至少需要进行100次操作(每个用户只能拥有一个功能)。如果用户数量增加到1000甚至10000,并且一个用户可能会拥有多个功能,操作将会变得非常繁琐。如图:

经过多次操作后发现,有些人被分配了相同的功能。例如,A、B等10个用户都被分配了客户管理、订单管理和供应商管理这几个模块。我们是否可以将这几个功能模块组合成一个包,然后将整个包分配给需要的用户呢?这个包被称为角色。由于角色和功能之间的对应关系相对稳定,在分配权限时只需分配角色即可,如下图所示:

基于RBAC授权模式后,我们可以达到以下2个目标:

  • 解耦用户和功能,降低操作错误率
  • 降低功能权限分配的繁琐程度

ER图与关系梳理

在一个核心业务系统中,我们通常通过业务分析,从而抽离出数据库表,表确定之后我们会进一步分析表中应该有的字段,下面我先看下业务ER图:

暂时无法在飞书文档外展示此内容


上图中清楚的描述用户、角色、资源、职位、部门之间的关系,同时我们进一步推导出以下结果:

  • 用户与职位是N:1关系
  • 用户与部门是N:1关系
  • 用户与角色是N:N关系,则它们之间必然有一个中间表
  • 角色与资源是N:N关系,则它们之间必然有一个中间表

具体的表字段大家可以查看提供的数据库,我们在做业务的时候,会再次梳理这些表中的字段

总结

  • RBAC模型是基于角色的访问控制模型,该模型最常应用于系统权限设计中
  • RBAC模型中,一般会有是三个基本对象,用户,角色和权限,他们三个分别都是多对多关系,那么也就意味着有两张中间表,所以数据库表层面共有五张表
目录
相关文章
|
机器学习/深度学习 存储 NoSQL
Graph RAG: 知识图谱结合 LLM 的检索增强
RAG(Retrieval Argumented Generation)这种基于特定任务/问题的文档检索范式中,我们通常先收集必要的上下文,然后利用具有认知能力的机器学习模型进行上下文学习(in-context learning),来合成任务的答案。这次,我们借助 LLM 的力量,强化下 RAG。
2207 0
Graph RAG: 知识图谱结合 LLM 的检索增强
|
机器学习/深度学习 自然语言处理 算法
跨模态学习能力再升级,EasyNLP电商文图检索效果刷新SOTA
本⽂简要介绍我们在电商下对CLIP模型的优化,以及上述模型在公开数据集上的评测结果。最后,我们介绍如何在EasyNLP框架中调用上述电商CLIP模型。
|
1月前
长上下文能取代RAG吗?
【10月更文挑战第28天】本文探讨了检索增强生成(RAG)和长上下文(LC)在大型语言模型(LLMs)中的应用。RAG通过检索外部信息扩展LLM的知识范围,而LC则直接处理长文本。研究发现,LC在性能上通常优于RAG,但在处理超过模型上下文窗口的文本时,RAG表现出优势。此外,RAG在成本上更具优势。基于此,作者提出了Self-Route方法,结合RAG和LC的优点,实现性能和成本的最佳平衡。
43 7
|
2月前
|
自然语言处理 Serverless API
基于 EventBridge + DashVector 打造 RAG 全链路动态语义检索能力
本文将演示如何使用事件总线(EventBridge),向量检索服务(DashVector),函数计算(FunctionCompute)结合灵积模型服务[1]上的 Embedding API[2],来从 0 到 1 构建基于文本索引的构建+向量检索基础上的语义搜索能力。具体来说,我们将基于 OSS 文本文档动态插入数据,进行实时的文本语义搜索,查询最相似的相关内容。
|
2月前
|
存储 人工智能 算法
精通RAG架构:从0到1,基于LLM+RAG构建生产级企业知识库
为了帮助更多人掌握大模型技术,尼恩和他的团队编写了《LLM大模型学习圣经》系列文档,包括《从0到1吃透Transformer技术底座》、《从0到1精通RAG架构,基于LLM+RAG构建生产级企业知识库》和《从0到1吃透大模型的顶级架构》。这些文档不仅系统地讲解了大模型的核心技术,还提供了实战案例和配套视频,帮助读者快速上手。
精通RAG架构:从0到1,基于LLM+RAG构建生产级企业知识库
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
🔍 Prompt、RAG、Fine-tuning三者各自的优势是什么?
【10月更文挑战第15天】在人工智能模型的开发中,Prompt、RAG(检索增强生成)和Fine-tuning是三种常见的优化技术。Prompt通过少量示例引导模型生成特定输出,简单灵活;RAG结合检索和生成,适合需要大量外部知识的场景,提高答案准确性和可解释性;Fine-tuning通过特定任务或数据集训练模型,提升特定场景下的表现,适用于有大量数据和计算资源的场景。开发者需根据具体需求选择最合适的优化策略。
143 4
|
2月前
|
存储 自然语言处理
LangChain-04 RAG Retrieval-Augmented Generation 检索增强生成
LangChain-04 RAG Retrieval-Augmented Generation 检索增强生成
32 3
|
3月前
网络分类器 cgroup 【ChatGPT】
网络分类器 cgroup 【ChatGPT】
|
5月前
|
存储 人工智能 前端开发
基于LLM大模型Agent的适用范围和困境
基于LLM大模型Agent的适用范围和困境
164 8
|
6月前
|
存储 缓存 API
Modelscope-Agent 增强RAG能力:(一)多策略召回、多模态召回
Modelscope-Agent是魔搭GPTs 开源的实现方案的底层框架,基于chatbot允许用户通过聊天、直接配置的方式进行agent的定制生成,可以允许用户使用自定义知识库以及接入多工具的能力。