产品权限设计的意义在于确保系统安全、提高管理效率和优化用户体验。通过明确不同用户的操作权限,企业能够有效防止未授权访问,降低数据泄露风险。此外,合理的权限管理使得不同角色能够专注于各自的工作范围,提高工作效率。最终,良好的权限设计不仅保护了敏感信息,还为企业的合规性提供了保障,从而支持业务的可持续发展。
今天我们将以腾讯 CoDesign 产品为例,完整的为大家介绍我们在权限设计时的思考。
CoDesign 是一款提升产品、设计、研发角色的团队协作效率的工具型产品。核心的用户场景是 UI 设计稿的交付,主要的用户需求为上传和查看设计稿。根据产品特性,在进行权限设计时,整体思路可以分为以下几步:
1. 梳理角色
首先,识别系统中所有相关角色。可以参考组织的岗位划分或根据系统任务流进行角色定义,以确保角色的全面性和有效性。
2. 梳理权限
对系统中的所有权限进行整理和分类,包括页面权限、操作权限和数据权限等,形成权限点列表。
3. 连接角色与权限
将已定义的角色与相应的权限进行关联,建立角色权限表,确保每个角色拥有与其职责相符的访问权限。
4. 设计用户流程(UX)
明确用户如何被导入系统及其授权方式,为用户分配角色和相应的权限,以便于管理和操作。通过这些步骤,可以构建一个高效且安全的权限管理系统。
在清晰了权限的设计流程后,我们将对权限的模型进行选择。
权限模型主要有以下几种:
ACL(访问控制列表):通过为每个资源定义一个访问控制列表,指定哪些用户或组可以访问该资源及其权限。
DAC(自主访问控制):用户可以自主决定对自己拥有的资源的访问权限,灵活性高,但安全性较低。
MAC(强制访问控制):系统根据安全策略强制限制用户对资源的访问,通常用于高安全性环境,如军事系统。
RBAC(基于角色的访问控制):根据用户的角色来管理权限,简化了权限管理流程,适用于大多数企业应用。
ABAC(基于属性的访问控制):根据用户、资源和环境的属性动态授予权限,提供更细粒度的控制,适合复杂场景。
CoDesign 的用户规模体量大,且具有稳定、清晰的组织结构,不需要频繁变更用户属性,核心需求为对团队文件的查看、编辑、管理需求,因此更适合 RBAC 模型进行访问控制。
RBAC 模型是将权限绑定在角色上,再给用户账号赋予角色。
CoDesign 有三种类型的角色:企业角色、团队角色、文件角色,彼此独立。
企业角色的权限通常涉及跨部门的操作,如访问公司所有数据、管理用户和设置系统参数等。这里我们设计了三种角色:企业管理者、企业编辑者、企业查看者。
团队角色是指在特定团队或部门内定义的角色,企业内通常以业务或项目维度创建团队。CoDesign 团队的角色包含:团队所有者、团队管理者、团队编辑者、团队查看者。
文件角色的权限非常细化,决定了用户对特定文件的操作能力,如创建、编辑、删除或仅查看某一文件。CoDesign 团队的角色包含:文件所有者、文件编辑者、文件查看者。
当我们完成了角色的梳理后,接下来将对各个角色的可操作权限进行盘点。
在最新的权限架构中,我们新建了文件角色,将人员管理和文件管理分开,团队管理者主要负责”管人“,即团队内人员可以分配什么样的权限,哪些人可以在团队内新建文件。(分配团队编辑者和查看者)。
而文件所有者,主要负责“管自己的文件”,哪些人可以在我的文件内进行协作,这些人员具有什么范围的操作权限。
将文件管理权限下放文件所有者的设计,可以很大程度上避免对团队管理员的过渡依赖和打扰。使各方角色能够更好的聚焦自身的核心业务。
为了保障设计资产的安全性,我们建议用户将长期稳定参与团队协作的内部成员授权为团队成员;将基于某个项目/文件临时参与协作的成员,授权为文件成员,如甲方 or 第三方公司。
在完成了权限选型和各个角色的权限梳理后,需要将已定义的角色与相应的权限进行关联,建立角色权限表,确保每个角色拥有与其职责相符的访问权限。
我们构建了一套完整的角色权限明细表,详情可访问:CoDesign 权限明细表 (opens new window)
各角色的可操作范围梳理涉及到许多边界逻辑,需要针对当前产品所有功能细节进行全方位走差,避免遗漏。
在构建完成各个角色的操作范围后,我们针对不同的用户场景进行了重新设计。确保各方角色能拥有良好的用户体验。
以上就是腾讯 CoDesign 全新的权限设计体系,希望对产品经理的设计有一点启发。同时我们也推荐每一位产品经理使用腾讯 CoDesign 来进行团队协作。
在 CoDesign 中,你可以轻松上传和管理设计原型图,并为不同的用户或团队设置相应的权限。通过 CoDesign,你可以确保设计稿的安全性和保密性,同时提高团队协作的效率。