SaaS系统用户权限设计

25c34d58db7ace84849014a220727b08.png

1、系统需求

平台管理员只能管理租户的账号和相关信息,不能操作租户的内部业务。各租户拥有自己的角色和权限,相互不能影响。不同租户的数据、服务在物理上共享,而在逻辑上完全隔离,对于每个租户来说这个系统好像只为自己服务。为了确保系统数据的安全性,使用户能放心地将商业数据放在系统上使用,SaaS系统的权限管理在系统设计中成为尤为重要的一环。

2、RBAC权限模型

访问控制是针对越权使用资源的防御措施,目的是为了限制访问主体(如用户等) 对访问客体(如数据库资源等)的访问权限。企业环境中的访问控制策略一般有三种: 自主访问控制(DAC)、强制访问控制(MAC)和基于角色的访问控制(RBAC)。其中,自主访问、强制访问的工作量大,不便于管理。基于角色的访问控制是目前公认的解决大型企业的统一资源访问控制的有效方法。

基于角色的访问控制基本原理是在用户和访问权限之间加入角色这一层,实现用户和权限的分离,用户只有通过激活角色才能获得访问权限。通过角色对权限分组,大大简化了用户权限分配表,间接地实现了对用户的分组,提高了权限的分配效率。且加入角色层后,访问控制机制更接近真实世界中的职业分配,便于权限管理。

RBAC模型是典型的基于角色的访问控制模型,包括RBAC0、RBAC1、RBAC2和RBAC3四个不同层次的模型。其中RBAC0是基础模型,定义了支持RBAC的最小需求,如用户、角色、权限、会话等概念,RBAC0模型图解如图2-1所示。RBAC1加入了角色继承关系,可以根据组织内部权力和责任的结构来构造角色与角色之间的层次关系; RBAC2加入了各种用户与角色之间、权限与角色之间以及角色与角色之间的约束关系,如角色互斥、角色最大成员数等。RBAC3是对RBAC1和RBAC2的集成,它不仅包括角色的层次关系,还包括约束关系。

在RBAC模型中,角色是系统根据管理中相对稳定的职权和责任来划分,每种角色可以完成一定的职能。用户通过饰演不同的角色获得角色所拥有的权限,一旦某个用户成为某角色的成员,则此用户可以完成该角色所具有的职能。通过将权限指定给角色而不是用户,在权限分派上提供了极大的灵活性和极细的权限指定粒度。

15e836a97f84efff0282254f9c6dcf13.png

3、SaaS平台用户设计

一般SaaS平台基本角色由平台管理员、租户用户、租户管理员、租户其他角色组成。下图以O2O业务的企业架构为例,图解系统角色关系。

ad9b5a928a7c943dccd1b6052fd2f352.png

平台管理员:负责平台的日常维护和管理,包括用户日志的管理、租户账号审核、租户状态管理、租户费用的管理,租户权限的管理,要注意的是平台管理员不能对租户的具体业务进行管理。如果租户数量大,还可以对平台管理员划分角色,可以按地域划分,比如西北地区、东北地区等,让平台管理员分别管理不同的租户;也可以根据业务进行划分,比如租户管理员,租费管理员等。

租户:指访问SaaS平台的用户企业,在SaaS平台中各租户之间信息是独立的。租户信息包括租户的名称、地址等租户企业的相关信息,主要用来区别各租户,并且由平台管理员对租户账号状态进行管理。各租户可根据需要自行选择SaaS平台功能模块并依此付费。

租户管理员:为租户角色分配权限和相关系统管理、维护。

租户用户:根据租户管理员分配的权限以及自己的角色进行相关的业务管理。各租户用户只能访问该租户选择的 SaaS 平台的功能模块。一个系统用户如果有多个角色,则他只能看到当前角色下的数据,通过角色切换,可以达到查看所属其他角色下的数据信息。

租户角色:根据业务功能分由租户管理员进行角色划分,划分好角色后,租户管理员可以对相应的角色进行权限分配。角色有上下级关系,上级可以查看下级的数据,下级不能访问上级的数据,平级之间不能相互访问。角色上层可再加入分组层(如分部门或团队等),不同组别的数据范围不同,资源、操作可以共享也可以隔离。

4、小结

本文就SaaS系统权限设计作简单讲解,后续文章将会讲解SaaS系统产品设计的其他环节,谢谢阅读。

如果想学习更多B端产品知识,可点击:手把手教你做B端产品经理

此外,我建立了各大城市交流群,想入群的小伙伴可加微信:chanpin628 我拉你进群。

cd479fbe3401545607e701dbc95b16ae.jpeg

87ef47b8f794a1893e4baecbbb149852.gif

视频号推荐

关注微信公众号:产品刘 可领取大礼包一份。

cbb520df3723e20ba073cda20065b4ed.gif

··················END··················

cbdc761913ee76167a79398e9008ca0c.png

今日报告: 威胁猎人 发布2023年互联网黑灰产研究年度报告,下载报告去公众号:硬核刘大  后台回复“ 黑灰产 ”,即可下载完整PDF文件。

申明:报告版权归 威胁猎人 所有,此处仅限分享学习使用,如有侵权,请联系小编做删除处理。

RECOMMEND

推荐阅读

产品经理技能提升之时序图

手把手教你做AI产品经理

ERP全解析

面试一对一辅导

87f829b72c840fe1deaa4a10dbe36eef.gif

点击“阅读原文”

查看更多干货

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: SaaS系统权限表的设计可以考虑以下几点: 1. 定义用户类型,如管理员、普通用户等。 2. 建立用户权限关系表,记录用户与其对应的权限。 3. 建立资源权限关系表,记录各类资源与其对应的权限。 4. 设计权限继承机制,使得用户可以继承角色的权限。 5. 提供权限分配界面,方便管理员对用户权限进行分配。 6. 实现权限控制机制,根据用户和资源的权限关系,对用户的访问进行控制。 ### 回答2: 设计Saas系统的权限表需要考虑以下几个方面: 首先,需要确定系统的用户角色以及每个角色的权限范围。通常来说,Saas系统中常见的用户角色包括超级管理员、管理员、普通用户等。超级管理员拥有最高权限,可以对整个系统进行管理和配置;管理员可以对用户和数据进行管理;普通用户具有基本的系统功能权限。 其次,需要考虑每个角色可以访问的功能模块和操作。根据系统的具体功能和需求,将功能模块进行划分,确定每个角色可以访问的功能。例如,超级管理员可以对用户管理、权限配置、数据备份等进行操作,管理员可以对数据增删改查,而普通用户只能进行数据查询。 另外,对于每个功能模块,还需要细分每个操作的权限级别。例如,在数据管理模块中,可以将增加、删除、修改和查询等操作作为不同的权限级别进行划分,不同角色可以拥有不同级别的权限。 此外,还需要考虑数据权限的设计。对于一些敏感数据或者需要保密的数据,需要限定只有特定角色或者特定用户可以访问。可以通过在权限表中设置数据权限字段,来控制数据的访问范围。 最后,需要注意权限的继承与覆盖。例如,管理员拥有某些操作的权限,那么普通用户也应该继承这些权限;而如果超级管理员对某个功能进行了设置,那么管理员和普通用户的设置应该以超级管理员的为准。 综上所述,设计Saas系统的权限表需要考虑用户角色、功能模块划分、操作权限级别以及数据权限等方面,以满足系统的功能需求并确保安全性和灵活性。 ### 回答3: 设计SaaS系统的权限表是一个关键的工作,它需要考虑到系统的功能需求和安全性。以下是一些设计权限表的思路: 首先,需要确定系统中的角色类型。根据系统的功能和用户需求,可以定义一些常见的角色,比如超级管理员、管理员、普通用户等。每个角色的权限应该是不同的,超级管理员拥有最高权限,可以对系统的所有功能进行完全控制,而普通用户的权限则应该是有限的。 接下来,需要明确每个角色具体的权限。可以根据系统的功能模块将权限进行划分,比如用户管理、数据管理、统计分析等。在每个模块中,需要确定每个角色能够执行的具体操作,比如查看、新增、修改、删除等。 此外,还需要考虑权限的细粒度。有些操作可能涉及到具体数据或资源的访问控制,比如只能访问自己的数据或只能访问特定的文件夹。在权限表中可以针对这些情况进行定义,确保系统的安全性。 最后,需要对权限表进行测试和优化。在设计完成后,可以进行一些测试来验证权限表的正确性和可用性。如果发现问题或需要进行调整,可以及时对权限表进行优化,以确保系统的正常运行和安全性。 总之,设计SaaS系统的权限表需要考虑到角色类型、具体权限、权限的细粒度以及测试和优化等方面,以满足系统的功能需求和安全性要求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值