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

推荐订阅源

The GitHub Blog
The GitHub Blog
Jina AI
Jina AI
月光博客
月光博客
博客园 - Franky
小众软件
小众软件
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
Visual Studio Blog
有赞技术团队
有赞技术团队
V
V2EX
IT之家
IT之家
阮一峰的网络日志
阮一峰的网络日志
Stack Overflow Blog
Stack Overflow Blog
H
Help Net Security
Apple Machine Learning Research
Apple Machine Learning Research
腾讯CDC
D
DataBreaches.Net
Hugging Face - Blog
Hugging Face - Blog
Martin Fowler
Martin Fowler
罗磊的独立博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
WordPress大学
WordPress大学
C
Check Point Blog
Microsoft Azure Blog
Microsoft Azure Blog
Microsoft Security Blog
Microsoft Security Blog

人人都是产品经理

为什么你的产品找不到差异化?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迎来强劲对手 – 人人都是产品经理,
用户中心标准化能力设计(2):权限模型选择
西林 · 2025-08-18 · via 人人都是产品经理

在用户中心能力标准化的过程中,权限模型的选择不仅影响系统的灵活性与可扩展性,更决定了未来业务协同与角色治理的边界。本文将从产品视角出发,拆解几种主流权限模型的适配逻辑与演进路径,帮助你在复杂业务场景中做出更具前瞻性的架构决策。

回顾上篇“用户中心标准化能力设计(1):用户类型定义”,提到权限管理是用户中心重要的一个环节。

权限管理的本质是,什么条件下,哪些用户对于哪些数据具备哪些操作权限。从而保证在正确的情况下,允许正确的身份,对正确的资源执行正确的操作。

再进一步拆分权限管理的维度,包括:

条件(When/Where)、身份(Who)、资源(What)、操作(How)。

权限模型概念定义

  • 主体 (Subject)             发起访问请求的实体(需唯一标识) 用户ID、服务账号、IoT设备MAC地址
  • 资源/客体 (Object)      被访问的受保护实体(需明确边界) API接口、数据库表、文件
  • 操作 (Action)              主体对资源执行的指令(需预定义枚举值) 增删改查
  • 权限 (Permission)       操作+资源的绑定组合(最小授权单元) 获取订单信息、删除业务数据
  • 策略 (Policy)               授权规则的逻辑集合(静态声明或动态计算)

主流权限模型介绍

下述主要介绍B端通用权限模型RBAC(基于角色的访问控制)、ABAC(基于属性的访问控制)。

其他模型如ACL(访问控制列表)、ReBAC(基于关系的访问控制)单一权限控制逻辑则不详细介绍,可单独了解。

RBAC(基于角色的访问控制,Role-Based Access Control)

核心思路:

通过角色解耦用户与权限,形成“用户→角色→权限”三层结构。

特征:

角色抽象:权限绑定角色,用户通过角色继承权限。

扩展模型:

  • RBAC1:支持角色继承(如树形层级,子角色自动获得父角色权限)。
  • RBAC2:支持约束(如角色互斥、基数限制)。
  • RBAC3:融合继承与约束。

适用场景:

企业后台系统、组织结构清晰的场景。

ABAC(基于属性的访问控制,Attribute-Based Access Control)

核心思路:

通过动态计算属性组合(用户、资源、环境)决定权限,规则形如:

用户类型=** and 所属机构=当前用户所属机构 THEN 允许访问。(规则内容可配置动态计算)

特征:

  • 动态策略:支持细粒度条件(时间、所属机构/部门、业务数据属性等)。
  • 高灵活性:适应复杂场景,但需策略引擎支持。

适用场景:

云平台(AWS IAM)、多租户SaaS系统、高合规要求场景。

主流权限模型优劣势

权限模型RBAC(基于角色的访问控制)、ABAC(基于属性的访问控制)的优劣势如下:

RBAC+ABAC

在实际B端的权限管理模块设计时,通常需要根据管理需求、业务需求来决定,权限管理范围是否包括功能权限、数据权限。

若同时具备功能和数据权限管理需求,且从综合成本、优先级等角度考虑,可采用RBAC+ABAC混合的方式来进行权限管理。结合此前文章“B端标准化能力如何识别和管理”标准化能力识别示例中对于B端系统的拆分,抽象用户访问数据进行操作时的判断逻辑如下:

鉴权=身份认证通过后,判断用户是否具有功能权限(菜单/按钮)+数据权限(字段/数据)。

其中,“身份认证”、“RBAC是否具有功能权限(菜单/按钮)”、“ABAC是否具有数据权限(字段/数据)”在代码编译时可以拆分为单独的微服务来执行,这样可以按需先实现RBAC → 再实现ABAC

阶段1:用RBAC快速搭建权限骨架,支撑业务从0到1先落地;

阶段2:待场景复杂时,用ABAC实现动态管控,两者接力;

这样既可以避免早期资源浪费,又可以为未来预留弹性拓展空间。

注意点

设计

RBAC:若存在分级管理需求,可将角色管理权限下放,约定可管理数据范围;

ABAC:可引用规则引擎进行落地,但是支持哪些数据项可配置动态权限规则,需要经过详细需求分析和优先级识别后确定,对于不可自定义部分,需要考虑代码等方式来拓展实现;

对于RBAC、ABAC并存的情况,需要事先梳理可能存在的冲突情况,如RBAC仅约定角色可删除数据,但ABAC约定仅数据创建人可删除数据。需要引入冲突策略,按需开放配置。

性能

因为“鉴权=身份认证通过后,判断用户是否具有功能权限(菜单/按钮)+数据权限(字段/数据)。”期间权限需要实时计算,甚至叠加高并发的情况,需要采用预处理、缓存等策略来避免长时间加载和反馈延迟的情况。

安全

B端系统审计场景中,需要同时追踪角色分配与属性策略变更,日志结构复杂。

审计日志中主体、客体、操作等内容,记录信息需要包括角色-功能权限-数据权限等,再进一步按需细化至数据属性。

后续

后续文章中将会对于B端系统构建中“用户中心标准化能力设计(3):统一身份认证”进行介绍。

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

题图来自Unsplash,基于CC0协议