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

推荐订阅源

Hugging Face - Blog
Hugging Face - Blog
GbyAI
GbyAI
Engineering at Meta
Engineering at Meta
有赞技术团队
有赞技术团队
博客园 - 【当耐特】
H
Hackread – Cybersecurity News, Data Breaches, AI and More
WordPress大学
WordPress大学
博客园_首页
美团技术团队
H
Help Net Security
MongoDB | Blog
MongoDB | Blog
宝玉的分享
宝玉的分享
大猫的无限游戏
大猫的无限游戏
小众软件
小众软件
J
Java Code Geeks
A
About on SuperTechFans
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
IT之家
IT之家
T
The Blog of Author Tim Ferriss
Microsoft Azure Blog
Microsoft Azure Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
B
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迎来强劲对手 – 人人都是产品经理,
深入剖析B端产品权限设计 – 功能权限设计篇
茶话B端 · 2023-01-09 · via 人人都是产品经理

对于B端设计而言,良好的权限设计架构是支持其复杂业务的基础和关键。本文重点详细总结了管理好功能设计的内容,希望能够帮助你在各大业务场景中提升效率,一起来看看吧。

权限设计是B端产品永远绕不开的一个课题,良好的产品权限设计架构是支撑企业复杂业务的基础与关键。接下来会分两篇文章剖析产品权限管理,一篇分享功能权限管理,一篇分享数据权限管理。

一、什么是权限管理

权限管理,一般指根据系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源。

简而言之,用户登录系统后,管理用户可以使用那些功能、查看哪些数据,即为权限管理。

权限管理分为两大类:功能权限管理、数据权限管理。

1、功能权限管理:定义登录用户可以看到哪些界面、使用哪些功能。

如:CRM系统可以覆盖售前(线索、拜访、工作汇报等)、售中(合同、订单等)、售后(服务工单、维保等)等多个业务板块的内容,那么不同角色的人员登录系统后,可区分使用不同的功能。负责市场的用户登录系统后使用线索、拜访、工作汇报等功能,负责售后的用户登录后使用服务工单、维保计划等功能。

2、数据权限管理:定义登录用户可以查看哪些数据。

对于同一功能,不同角色的用户可以查看的数据范围是不一样的,如:CRM中的客户数据,对于企业CEO而言,所有的客户CEO都可以查看到;对于区域销售经理而言,仅可以查看到归属于所管辖区域内的客户(华东区域销售经理只查看华东的客户,华南区域销售经理只查看华南的客户);对于普通销售员而言,仅可以查看到自己负责的客户。

二、权限管理模型

1. RBAC模型(Role-Based Access Control)

基于角色的访问控制,是当前大多数权限管理设计的“底座”。

RBAC模型三个关键元素:用户、角色、权限。

用户:登录系统的使用人员,如:张三、李四等。

角色:定义可使用的权限资源的集合,包括:页面、功能、数据等权限资源,如销售业务员角色、财务角色等。

权限:系统的所有权限资源,包括:功能、页面、操作、流程、数据等

RBAC模型,使用角色关联管理用户及权限。解耦用户和权限的对应关系,通过中间对象 – 角色进行关联管理。从而简化系统权限的授权,提升权限管理的可拓展性和可维护性。

举个例子:

企业的销售业务员在CRM系统中需要使用客户管理、拜访管理、订单管理等模块的功能。

在传统模式下,我们需要给销售员A授权这部分的权限,当新增加一个销售员B时,又需要重新授权一遍这部分的权限,增加N个销售员就需要重复授权N遍。

在RBAC模式下,将销售员需要的权限都同一授权给“销售业务员”这个角色,增加销售员时,只需要将“销售业务员”的角色给到销售员即可。同时,销售员如果需要新增或减少功能,只需要修改角色授权的资源即可,无需一个一个销售员进行调整。

2. 基于RBAC模型的“变形”

基于RBAC模型的变形,将功能权限和数据权限区分管理,进一步提升权限管理的灵活性。目前,在paas平台、saas+paas的产品中使用较多。

通过职能进行功能权限管理,通过角色进行数据权限管理。职能管理是“权”,角色管理是“限”,一个用户的权限=职能管理+角色管理。

将功能权限与数据权限分开管理,对两种权限分别做一些复杂的组合权限控制时,可以不用考虑互相影响。如:通过角色权限+角色组+共享规则+特例规则等,组成数据权限满足复杂的权限要求

三、功能权限管理

功能权限管理:定义登录用户可以查看到哪些界面、使用哪些功能等。

1. 功能权限资源分类

常见的功能权限管理可以定义到模块、页面、按钮、字段、流程、业务类型等层级。

  • 模块权限:指业务功能板块的访问权限,如:客户管理、线索管理。一般情况下,分配模块权限,功能模块下的页面、按钮均同步授予权限,如:分配客户管理权限,客户列表、客户详情、新增客户按钮、删除客户按钮等同步授予权限。
  • 页面权限:指特定的功能页面的访问权限,如:客户列表、客户详情。一般情况下,分配页面权限,页面下的按钮均同步授予权限,如:分配客户列表权限,新增客户、删除客户等按钮同步授予权限。
  • 按钮权限:指特定功能按钮的操作权限,如:新增、删除、修改、提交等按钮。
  • 字段权限:指功能模块的字段操作权限,字段权限控制多出现在paas平台,如:客户的客户名称字段的读写、导出权限。
  • 流程权限:流程权限控制多出现在paas平台,在paas平台上支持用户自定义流程并支持设定流程使用权限,包括业务流程、审批流程。流程权限较少单独作为一项权限资源进行管理,通常流程权限和按钮权限是一致的,大多数流程都是通过按钮去触发流程执行,控制按钮权限也等于控制了流程权限。
  • 业务类型权限:较少使用的权限资源控制,多出现在paas平台上。paas平台支持用户定义对象的不同业务类型,且支持不同角色可使用不同的业务对象。如:客户对象可定义直销客户、渠道客户两种业务类型,那么负责直销的销售使用直销客户,负责渠道的销售使用渠道客户,两种不同的业务类型的客户,字段模型、流程等都可能不同。

2. 功能权限管理基本原则

① 功能权限分配遵循功能优先级,分配优先级较低的权限资源时,必须先分配其归属的优先级高的权限资源。

对于常用权限资源,可以分成三个优先级,且权限资源是个层级结构,有归属关系。权限资源进行分配时,分配低优先级的权限资源时,必须分配其归属的高优先级的权限资源。

如:分配“新增客户”的按钮权限给到用户,那么需要把“新增客户”按钮所在的【客户列表】页面分配给当前用户,同时为了分配【客户列表】页需要把{客户管理}模块分配给到用户。否则,只分配新增客户按钮的权限,那按钮所在的页面用户无法查看,这个按钮也就无法操作。

所以,大多数产品的功能权限管理,在对角色授予权限时,勾选低优先级的权限资源时,会默认自动将其归属的父级权限资源默认勾选上。如:勾选按钮时,会默认将按钮所在的页面,页面所在的模块对应勾选上。

注:图中将流程归为第一优先级是因为,定义业务流程时,可能跨功能模块、可能涉及多个页面跳转等。如:销售线索转商机的流程,当销售线索满足一定的条件时,可以点击按钮触发流程,自动生成一条商机记录。那么这个流程就涉及了两个功能模块:线索模块、商机模块。

② 登录用户拥有多个角色时,可访问多个角色关联的权限资源的总和。

举例说明:用户A 拥有 角色1、角色2 两个角色,角色1 可访问页面I、按钮I、流程I,角色2可访问页面I、流程I、页面II,那么用户A即可访问页面I、按钮I、流程I、页面II。

③ 可支持管理的权限资源类型越多,整体的维护及开发成本越高。

功能权限管理并非支持管理的权限资源类型越多越好,这与系统整体的开发与维护成本息息相关。可管理的权限资源类型越多,成本越高。需要根据实际的管理需要去确定功能权限管理需要支持的权限资源类型。

目前大多数的产品功能权限管理支持到“模块-页面-按钮”层级,或者是“页面-按钮”层级。较为常用的系统设计中,模块、页面、按钮这三种类型的权限资源只需要在系统后台完成资源注册,即可对这部分权限资源进行管理。如下方截图:

以字段的访问、操作权限为例,当我们希望将权限管理拓展到字段层级时:

  1. 首先需要明确对象字段中的文名称与数据库对象表的列名的对应关系,用户定义对象字段的读写、导出等权限时,需要根据字段的中文名称去做选择,如果只展示数据库表名,对于用户而言,是无法理解和操作的。
  2. 其次在用户访问对象数据、编辑对象数据等操作时需要对用户权限进行查验,验证用户是否有权限访问、操作字段。

相对于常用的“模块-页面-按钮”/“页面-按钮”的权限控制,只需要控制页面、按钮的显示/隐藏,整体的维护和开发成本是高出一大截的。

四、功能权限管理的梳理模板

在产品实施交付的过程中,需要对用户的功能使用权限进行梳理,对于不同职能的用户授权不同的功能。

下面分享一份功能权限管理的梳理模板:

注:文档模板中并未将字段操作权限的梳理呈现出来,原因是:各功能对象的字段较多,实际情况下,并不会和业务人员逐个字段核对是否需要查看、导出等权限。更多的是,一些特例情况会在调研、沟通的过程中会提出,可在表中通过备注记录。

最后

相较于功能权限管理而言,数据权限管理更复杂、也更难理解。实际业务中,会有各种业务场景需要满足,因此,灵活的数据权限管理架构是至关重要的。下一篇将结合实际场景分享数据权限管理。

本文由 @茶话B端 原创发布于人人都是产品经理,未经许可,禁止转载

题图来自Unsplash,基于CC0协议

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