本文将介绍毕升office v4版本的权限体系。毕升office的权限体系为基于角色的授权(RBAC),并且角色高度可配置。系统已经内置了一套常用的角色配置能满足日常需求。如果需要更高级的需求,可以对默认的角色权限进行修改,或者新建自己的角色
主体:系统中被授权的人,或者部门
客体: 系统中被被授权的资源,例如:文件,文件夹,组织结构,标签等。
角色:关联主体和客体,定义了主体可以对客体进行的操作:例如:可以读文件,可修改文件。
例如: 授权张三和研发部门可以对某个文件按照“可读”的角色进行操作。这里的张三,和研发部门就是本次授权中的主体,而这里的“某个文件”就是客体,“可读”是本次授权的角色。 这次授权通过“可读”这个角色将张三以及研发部门与“某个文件”进行了关联,定义了张三以及研发部门可以对“某个文件”进行的操作。其中具体可以进行的操作内容则有这个角色的内容规定(例如:可以读取文件,可以读取文件版本)
授权存在继承关系是因为主体和客体存在着层级关系导致的。 例如某个人是属于某个部门,并且部门也会有更上一层的隶属部门;同时资源(客体)也有这总层级关系:例如,某个文件,它是在一个目录中的,而目录也会在更上一层的目录中。 例如: p->D1->D2 表示 p这个用户属于D1这个部门,D1又属于D2这个部门。f->F1->F2表示文件f在目录F1中,而F1又在目录F2中。
毕升office权限系统中的权限继承关系如下:
基于上面的例子:如果要计算用户p对文件f的权限,计算过程为:
在对文件的权限中,还可以对文件或者目录进行锁定。例如锁定编辑,则权限计算过程中,在计算完授权关系之后,需要将最终结果减去被锁定的权限。同时锁定关系是直接重上往下继承的。即:锁定了目录之后,它之下所有的文件也将锁定
毕升office的角色类型包括:
个人文件类型角色: 授权用户对个人文件的操作。该类型的角色只有一个,当系统创建一个用户时,该用户将被使用该角色进行授权操作他们的个人文件。
团队空间文件类型角色:授权对团队文件的操作。当将用户加入团队空间时,可以选择该类型的角色
团队空间管理员类型角色: 授权对团队空间进行管理,包括团队空间回收站,团队空间成员管理以及团队空间文件。
团队共享管理类型角色:授权是否可以创建团队空间以及对系统中团队空间进行管理
共享类型角色:创建共享时指定该共享的权限
通讯录管理类型角色:授权对通讯录的管理
标签用户类型角色:当共享标签时,授权用户对标签的操作权限
标签管理员类型角色:授权用户对标签的管理。当用户创建标签时,默认具有该角色
root账号登录可以修改内置角色的具体的权限类型,点击角色行右侧的编辑功能即可打开角色权限的设置:
root账号可以为通讯录创建角色。创建角色时,需要指定通讯录,创建完的角色作用范围也是在该通讯录内生效。系统通讯录为多租户时,不同的通讯录可以拥有不同的自定义角色!
不同类型的角色在不同的场景下使用:例如共享类型角色,当用户进行文件共享时,可以选择从该类型的角色中选择一个作为本次共享的角色。