惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
P
Privacy International News Feed
P
Proofpoint News Feed
Security Archives - TechRepublic
Security Archives - TechRepublic
C
CXSECURITY Database RSS Feed - CXSecurity.com
Know Your Adversary
Know Your Adversary
Security Latest
Security Latest
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Attack and Defense Labs
Attack and Defense Labs
NISL@THU
NISL@THU
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
W
WeLiveSecurity
GbyAI
GbyAI
N
News and Events Feed by Topic
N
News | PayPal Newsroom
Y
Y Combinator Blog
C
CERT Recently Published Vulnerability Notes
N
Netflix TechBlog - Medium
S
Security Affairs
Spread Privacy
Spread Privacy
罗磊的独立博客
腾讯CDC
MyScale Blog
MyScale Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
L
LINUX DO - 热门话题
The Cloudflare Blog
L
LangChain Blog
博客园_首页
H
Hacker News: Front Page
宝玉的分享
宝玉的分享
Martin Fowler
Martin Fowler
博客园 - 聂微东
SecWiki News
SecWiki News
A
Arctic Wolf
爱范儿
爱范儿
Google Online Security Blog
Google Online Security Blog
T
Threat Research - Cisco Blogs
Hacker News - Newest:
Hacker News - Newest: "LLM"
有赞技术团队
有赞技术团队
The GitHub Blog
The GitHub Blog
Cyberwarzone
Cyberwarzone
博客园 - 叶小钗
V
Visual Studio Blog
V
V2EX
T
Tailwind CSS Blog
Project Zero
Project Zero
T
The Blog of Author Tim Ferriss
F
Fortinet All Blogs
MongoDB | Blog
MongoDB | Blog
D
Docker

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理, 企事业单位数字化的业务供需本质 – 人人都是产品经理, 医疗智能体·第1讲——医疗信息化重构:从“辅助软件”到“自主智能体”的范式转移 – 人人都是产品经理, 粉丝量就是空气!!! – 人人都是产品经理, 用户说“薯片碎了”,机器回“要买吗?”:意图识别的翻车与破局 – 人人都是产品经理, RAG召回准确率从75到90 我做对了这三件事 – 人人都是产品经理, AI大事件:Anthropic改收费、OpenAI发安全版、手术机器人纳入医保、阿里发布”秒悟” – 人人都是产品经理, Chrome 推出 Skills 新功能,Agent 重塑上网方式 – 人人都是产品经理, GitHub前创始人拿了a16z的1700万美元,做Agent时代的Git – 人人都是产品经理 拷贝或克隆其他 Flutter OH 项目到本地后无法运行 – 人人都是产品经理, 优惠券设计:优惠券创建 – 人人都是产品经理, 不用死磕文档!AI 助手 1 小时搞定飞书 CLI 安装 + 配置 + 知识库 – 人人都是产品经理, 用小龙虾做竞品分析报告:从2天到20分钟,我是怎么做到的 – 人人都是产品经理 用小龙虾做市场分析报告:搞懂这3个公式,市场规模不再靠猜 – 人人都是产品经理, 你早就在做 Harness 工程,只是不知道它叫这个名字 – 人人都是产品经理, Think Long就够?你可能想多了! – 人人都是产品经理, 货代SRM实战:供应商准入怎么做,才能让资源池不是通讯录而是可交付网络? – 人人都是产品经理, 如何做好用户调研?详解基本技巧 – 人人都是产品经理, 木鸟、途家、美团对打,平台春天行动开“卷” – 人人都是产品经理, 入职才发现公司不靠谱?小红书从业者求职避坑指南 – 人人都是产品经理, 美国 AI 三巨头联手封堵,中国 AI 突围之路在何方 – 人人都是产品经理, 小红书,放在需求对面的镜子 – 人人都是产品经理, AI 会带来大规模失业吗? – 人人都是产品经理, 从出单到补货前,我第一次犹豫:该不该放大? – 人人都是产品经理, Flutter 三方库鸿蒙化适配:5 种高效检查方式,快速判断是否需要适配 – 人人都是产品经理, 从做产品进阶拿结果:医美机构产品经理转岗科室运营经理 – 人人都是产品经理, 阿里HappyHorse,一场关于“Token经济”的阳谋 – 人人都是产品经理, To B AI:客户留存落地的观察与思考 – 人人都是产品经理, AI产品的“生命线”——数据采集、标注、清洗的产品化设计 – 人人都是产品经理, 谈谈AI Agent(二):当“孩子”能自己“体验世界”时,你该学什么? – 人人都是产品经理, UI/UX设计师的3层能力进阶,前两层让你活下来,第三层…才是真正的分水岭 – 人人都是产品经理, 2分钟 → 30秒,效率提升75%:B端产品经理如何用「规则枷锁」驯服AI幻觉? – 人人都是产品经理, 还没来得及学OpenClaw,来了个更猛的:Hermes Agent – 人人都是产品经理, AI日报:宇树机器人跑出10m/s刷新世界纪录 – 人人都是产品经理, 一文说透基金互金如何用情绪价值引导用户决策做转化 – 人人都是产品经理, 当浏览器开始替你”看”网页:AI 浏览器正在亲手拆掉它脚下的那张网 – 人人都是产品经理, 0代码,一天时间我Vibe Coding了个网站 – 人人都是产品经理, Hermes 和 OpenClaw 之争,Agent 的能力应该“装上去”还是“长出来”? – 人人都是产品经理 视频生成的“桌子”,字节Seedance 2掀完,阿里快乐马掀 – 人人都是产品经理, 从听不懂到完全信任:我的 Codex 深度产品体验 – 人人都是产品经理, 当虚拟偶像有了北京户口,与真人偶像还有什么区别? – 人人都是产品经理, 会说,远远比会做更重要 —— 对 SBTI 爆火现象的五层观察 – 人人都是产品经理, AI产品经理必看:当“搭环境”比“选模型”更重要,你的认知还在2024年吗? – 人人都是产品经理, 2026年AI产品商业化核心逻辑:从功能demo到规模化营收的3个必破卡点 – 人人都是产品经理, 京东围绕供应链,卷起裤腿下场的那些事儿 – 人人都是产品经理, SBTI一夜刷屏:它赢在了“太会说人话” – 人人都是产品经理, 折扣零售的真相:不是便宜,而是价值感! – 人人都是产品经理, 和甲方吵了一架,最后加钱做了——我学到的ToB产品经理生存法则 – 人人都是产品经理, 和几位小红书操盘手聊了8小时,干货全在这 – 人人都是产品经理, 智谱GLM-5.1登场,开源模型首超Opus4.6!!! – 人人都是产品经理 Anthropic收入凭什么反超OpenAI,终于有人把这事说清楚了 – 人人都是产品经理, 史上最有故事感的技术报告——Claude最强模型Mythos 7个极其精彩的细节 – 人人都是产品经理, 模型不是壁垒,Harness 也不是 – 人人都是产品经理, 抖音本地生活业务思考21 – 人人都是产品经理, Superpowers:145k Star的AI编码框架,到底是什么来头? Superpowers:145k Star的AI编码框架,到底是什么来头? – 人人都是产品经理, OpenAI 的路走错了,Anthropic Harness 解法启示:模型需要实践专科生 – 人人都是产品经理, 画原型图的前一步:设计站点地图 – 人人都是产品经理, 给 DeepSeek 的最后一封催更信 – 人人都是产品经理, 手把手教你用 Claude Code 搭建 AI 营销团队:5 个 Agent、12 项技能,独立完成研究、写作、设计全流程 – 人人都是产品经理, 你以为大模型在学语言?不,它在重新发明语言学 – 人人都是产品经理 所谓Skill,不过是AI时代的工业垃圾 – 人人都是产品经理, 聊一聊内容传播的几个方法 – 人人都是产品经理, 当平台开始吃掉生态:从 OpenClaw 被封杀,读懂 Anthropic 的这盘棋 – 人人都是产品经理, 你装了 10 个 AI 插件,Obsidian 还是一个文件夹 – 人人都是产品经理 关于AI智能体架构演进的系统性思考:从单体试水到多体协同的重构 – 人人都是产品经理, 当“人”变成Skill,我们又该何去何从? – 人人都是产品经理 Mythos 事件:前沿 AI 治理的意外实验 – 人人都是产品经理, 货代CRM:信用与风险管理怎么做,才能把坏账风险拦在放货之前? – 人人都是产品经理, 从HR收集自拍照到员工自助录入——我见证了园区人脸识别从”不可用”到”真好用”的全过程 – 人人都是产品经理 千问闯关AI混沌期:阿里画靶,吴嘉张弓,马云射箭? – 人人都是产品经理,
RBAC深度扩展的通用权限系统
regon · 2025-03-28 · via 人人都是产品经理

随着系统数量的增加和业务复杂度的提升,传统的分散式权限管理逐渐暴露出诸多问题,如管理难度大、监管困难等。本文将详细介绍一家中型互联网公司如何基于RBAC理论构建深度扩展的通用权限系统,实现权限管理的统一化、精细化和高效化。

一、背景和目标

公司是一家中型互联网类公司,人员规模在5000人左右,信息化已经有了10余年的历史。在这十多年中,进行了非常多的信息系统建设,每个系统都有自己的权限管理模块。因为各个系统建设的时间不同、背景不同,权限管理的模块差异很大、能力参差不齐,使得管理难度大幅提升,建设统一权限服务的需求就酝酿而生。

1.1 痛点

  • 业务细化、管理深入,不同系统对于权限管理的需求越来越精细
  • 系统众多、难以管理,管理员在不同系统中进行权限管理的难度增加
  • 系统众多、监管困难,权限散落在各个系统,无法形成有效监管

1.2 目标

  • 建设统一的通用权限系统,取代各个系统的权限管理模块
  • 提供强大的权限管理能力,满足全部系统的权限管理需求
  • 统一的管理方式,支持按照用户角色授权管理,简化授权操作

二、产品规划

2.1 产品架构图

2.2 业务流程图

2.3 理论基础

公司选择了基于RBAC理论的产品建设,同时结合公司管理的精细度,进行了抽象设计,提炼出亮点能力包括完善的数据权限管理、以及中台角色的集中管理。

2.3.1 RBAC理论

RBAC理论在互联网企业得到了非常广泛的使用,具备较好的用户基础,对比之后,我们也选择以RBAC为基础。

RBAC是基于角色的权限管控,角色的一端是权限(菜单/功能),另一端是人,能较好解决基础的权限管理问题。

2.3.2 数据权限

随着业务分工的细化,在很多系统中,单一的权限(菜单/功能),授权的不同用户,其可查看的数据范围不同,但RBAC0-RBAC3都无法支撑该问题的解决,所以我们拓展了RBAC,并最终选定了如下方案:

  • 基于RBAC,建立角色,配置角色权限(菜单/功能),把用户添加到角色
  • 对每一个权限(菜单/功能),可设置所需要的数据权限维度
  • 角色中,每个用户,针对每个权限(菜单/功能),可设置不同的数据权限

这里为什么没有把数据权限作为菜单/功能权限的一部分?即对每一类拥有相同数据权限的人设置为一个独立角色,更符合RBAC定义、也更清晰,卖个关子,在文章最后我们再来回答这个问题。

2.3.3 中台角色

公司的很多系统中,都有相同的角色设定,随着产品功能越来越多,角色的能力边界开始变得模糊,同一个物理角色在不同系统中被赋予了近似但不同的定义。

通过在集团公司层面统一的角色管理和定位,每一个物理角色对应唯一一个系统角色,跨系统进行权限管控,对管理者、使用者、内控/内审等都是非常有价值的事情。

2.4 相关用户

1.系统管理员

系统管理员(研发)负责进行基础数据的配置,如各系统的菜单初始化导入、数据维度的字典创建

2.产品经理

其他各业务系统的产品经理是本产品的主要用户,进行角色管理,创建角色、为角色配置菜单、配置授权人

3.授权人

即业务管理员,比如人事、财务的系统对接人,是本产品最常用的用户,日常给普通用户做授权

4.普通用户

被授权人,不直接进入本系统,通过本系统获取特定系统功能的权限

三、功能设计

3.1 角色管理

RBAC是以角色为中心的,角色管理是基础能力。除了常规的角色一览、新增、编辑、删除,还提供了复制的能力,同时重点介绍下权限设定的能力。

本功能的用户是其他各业务系统的产品经理。

3.1.1 角色一览

产品原型图供参考

3.1.2 角色新建/编辑

1.业务类型

如图编号1,角色所属的业务类型,不同业务类型的角色只能绑定对应类型的菜单(下面菜单管理中也有业务类型属性),这样做到数据隔离。

2.授权范围

通常,对于公司级的角色,设置授权人为业务管理员,比如人事、财务的系统对接人。

在授权方面,还支持部门内授权,即把一些偏行政类权限授权给部门负责人,部门负责人根据自己部门的需要再向下授权。

3.1.3 权限设定

1.同一个角色可管理的权限(菜单/功能)范围跨越多个系统

参考图中编号1,切换不同系统名称可绑定多个系统的菜单到该角色。

2.菜单的数据维度设置

左侧菜单列表中,菜单名称右侧的红字,如图中编号2,“业态”、“财务公司”、“部门”这些,就是数据维度,在菜单管理中,定义不同的菜单能支持哪些数据维度的权限控制。

对每个角色,选择包含哪些菜单,同时设定这些菜单可以授权的数据维度的范围,做出限定;限定后,在权限分配中,角色管理员,只能对用户授予不超过该范围的数据权限。

在实务场景中,多数情况数据维度的权限范围会设置为“全部”,如图中“业态”中全部数据、“财务公司”的全部数据,这样就把权利下放给了角色的授权人,授权人(业务管理员)在权限分配中可以灵活进行数据权限配置。

3.为不同菜单限定数据权限范围

参考图中编号3,为不同的菜单设置不同的数据权限范围,后文权限分配时会进一步说明。

4.系统间权限隔离

不同的产品经理,实际在负责不同的系统,那么在角色中只能配置有权限系统的菜单权限。哪个产品经理负责哪些系统也是一种权限设置,也通过本系统中内置的角色实现。

5.菜单数据权限组合说明

  • 不同组合之间是并集的关系
  • 同一个组合之间不同的数据维度是交集的关系
  • 同一个组合之间的部分数据权限是有关联关系的,这是在后台维护的,一般数据维度都是公司统一规划的,未开放给产品经理做前台维护

3.2 权限分配

权限分配是产品使用率最高的功能,业务管理员,比如人事、财务的系统对接人,通过该功能,给普通用户授予权限。

3.2.1 权限一览

业务管理员只能查看有权限的角色对应的授权数据

3.2.2 权限添加/编辑

业务管理员通过该功能给用户添加/编辑权限;可以设置有效期,过期自动失效;可以同时对多用户进行授权。

1.角色中跨多系统授权

作为业务管理员,比如人事的系统接口人,是可以管理全部人事系统的角色的,所以对人事相关的多个系统的菜单,其都可以进行管理,不需要再做权限划分,如图中编号1,点击不同系统名称对不同系统菜单进行设置。

2.角色中菜单权限范围

对于该角色的用户,其拥有该角色的全部功能(菜单)权限,为了保证管理的清晰,一个角色对应的不同用户的功能范围是一致的,这也符合RBAC的规范。

3.对菜单授予数据权限

对于该角色中的不同菜单,可以设置不同的数据权限组。通过选中左侧特定的一个或多个菜单,点击图中编号3的按钮,即可对选中菜单设置数据权限组。如果在设置过程中,右侧有多个数据权限组,那么点击编号3的按钮时,会弹出子窗口让用户选择该选中菜单使用哪个数据权限组。

与菜单权限不同,该角色的不同用户,可以拥有不同的数据权限。

在角色配置中,限定了一个角色只能设置一个菜单数据权限组,但在本页面中,系统支持多菜单数据权限组,对不同的菜单,配置不同的数据权限组,使用上更灵活。

4.菜单授权数据权限状态变化

对于已经设置了数据权限的菜单,系统会显示为“已配置”、未设置数据权限的菜单,系统会显示“未配置”,参考图中编号2,便于业务管理员直观看到数据权限授予的情况。

5.菜单授予数据权限反向查看

哪些菜单授予了哪些数据权限组,是个一对多的关系。如图中编号4处,可反向查看每个数据权限组和哪些菜单建立了关系,点击编号4的图标,会显示该数据权限组对应的菜单列表。

6.模版功能(添加模版)

对于经常使用的数据权限组合,可以通过保存模版,达到一次配置,多次使用的目的。模版能力不展开介绍了。

3.3 菜单管理

通过菜单管理,配置其他各个系统的菜单/功能,供角色管理使用。

3.3.1 菜单一览

3.3.2 菜单新增/编辑

1.菜单所属系统、类型

参考图中编号1,权限中台会承载公司不同业务系统,包括专属的财务、人事系统,以及通用的OA等系统。这里如果标记为特定的类型,那么可以通过内置的角色进行数据授权,控制哪些用户可以访问哪类的菜单数据,从而达到数据隔离管理。

对应的,在角色管理中,也限定了不同类型角色只能引用该类型的菜单。

2.数据权限

参考图中编号2,对于不同的菜单,对支持的数据维度进行配置。仅当菜单支持这个维度,那么在角色设置、权限分配中,才能对该菜单的这个数据维度配置权限。

四、后记

4.1 数据权限不作为菜单/功能的扩展

回答前文中对于数据权限设计的取舍问题,如果把数据权限作为菜单/功能权限的扩展,使得一个角色只有唯一一组菜单、唯一一组数据权限,有以下几点问题:

  • 拥有不同的数据权限的用户,就会产生不同的角色,角色会非常多,管理困难;
  • 以我们公司管理的精细度来看,分工很精细,基本上一个数据维度只有1个人,这样角色的意义就不存在了。因为角色就是为了定义一类人;
  • 因为业务分工细致(按数据维度),分工的调整也比较灵活,角色的设置无法满足如此灵活的设置,而且如果定义了一个角色有多个人,那么彼此之间的权限又会互相影响;
  • 最后,从公司情况看,进行角色梳理难度也比较大,业务价值不明显,所以放弃了一定的规范性,而选择了灵活性。

4.2 各产品接入权限中台

本文专注于权限中台的产品本身的设计和思考,并没有过多体现相关产品的接入。

对企业来讲,权限中台的产品出现时,必然已经有很多独立式烟囱产品存在了,而且这些独立产品都有各自的权限模块或能力,如何推动相关产品放弃自己的权限模块,接入权限中台,以及在这个过程中,权限中台应该怎么做好定位,如何厘定能力边界,建设通用能力和灵活的适配能力,也是产品非常重要的组成部分,且更有挑战性,受限于篇幅,就不在本文赘述了。

本文由 @regon 原创发布于人人都是产品经理。未经作者许可,禁止转载

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务