产品设计

走进Worktile 7.0(六):安全管理


概述:在之前的文章中,我们对Worktile7.0版本如何去满足企业项目管理中的多种场景,进行了详细介绍。在满足业务场景的同时,保障项目的安全也是十分重要的。本文,将会为您详细介绍关于安全管理,Worktile7.0做了哪些努力。

安全和权限

让我们先来看一个场景:在Worktile内部,我们通过名为【wt-bug】的项目来汇总用户或内部员工在使用过程中碰到的bug。一个bug,需要填写以下信息:

but提交规范.png

如果我们仔细观察这些字段,就会发现:bug的提交人需要填写诸如客户类型、功能模块以及操作环境等字段;而缺陷的优先级、原因分析等信息则需要由产品经理评定后进行设置;而bug的解决情况和进度,则是应该交由具体的开发人员来修改。

类似的场景还有很多,在项目管理的过程中,角色应当具备符合其身份的操作权限和可见性。Worktile7.0的权限管理可以控制上到项目,下到任务属性的操作权限和可见性,二者都依托于一个大家并不陌生的概念—— 角色

无论是Worktile6.0版本还是最新的7.0版本,都有【角色】的概念。例如Worktile6.0中通过【角色审批】提高审批提交的效率。而在7.0的【项目】应用中,对于角色,我们赋予了更多的含义—— 角色模式 ,影响着与之相关 安全/权限/提醒/通知 模式。其关系如下图所示:

角色模式与其他几种模式的关系.png

我们在创建安全模式的过程中,要选择角色模式;角色模式和其他模式都是一对多的关系——也就是一个角色模式可以对应多种安全/权限/提醒/通知模式。

新建安全模式的时候必须选择对应的角色模式.png

Worktile7.0中所有的安全和权限设置都是依托于角色模式的。所以,创建项目模板的第一步是设置与之匹配的角色模式。创建项目之后也应该首先对成员的角色模式进行设置,并以此管理项目的安全和权限设置。

项目级安全管理

Worktile7.0中对于项目安全和权限的管理,主要是针对三个层级—— 项目级、组件级和任务级 。关于项目级的可见性,在创建项目之时就已经有体现了,Worktile为用户提供了公有/私有的可见范围,一般推荐用户选择【私有】的项目范围。这样直有项目成员才可以看到这个项目的存在。

项目级可见性设置.png

解决了可见性的问题,就到了操作权限的问题。在Worktile7.0的权限设置中,也同样存在项目级、组件级和任务级的权限设置。我们在【角色管理】中,可以对角色的项目级权限进行选择和匹配。权限详情如下图所示:

项目级权限设置.png

组件级安全管理

针对组件,Worktile7.0也可以配置其可见范围,在配置中心或项目设置中的组件配置下,可以选择该组件的可见范围。此可见范围是根据角色进行设置的,我们可以设置某类角色可见,而默认为全部成员可见。

图片1.png

组件级的权限管理则位于项目模板中,因为脱离具体项目模板的组件是没有意义的,对它进行权限的设置也没有意义。进入【项目模板】-【角色设置】中进行设置。虽然组件的主要职责是承载任务,但是各个组件之间的功能各不相同,也就导致对他们的权限设置不同,其具体设置项如下图所示:

组件的权限设置.png

任务级安全管理

任务级别的安全配置,则是需要选择已经配置好的安全模式,在任务的创建过程中选择安全级别。

图片2.png

任务的权限管理是最复杂的,因为Worktile7.0追求任务属性级别的控制粒度。例如:敏捷开发中需求的信息,需要需求的提出人进行修改,而需求的优先级等属性,则需要由PO进行设置。同时, 任务的属性又是支持自定义的

在Worktile7.0中,我们通过任务权限设置对角色的任务权限进行配置。但是,如何实现对自定义属性的配置呢?

在Worktile中,我们引入了【事件】的概念——某一属性发生变更则为一个事件。全局会有许许多多的任务属性,在【高级】-【事件管理】中,我们管理着全局的事件。而从这些事件中,选取一部分作为权限项,就是我们进行任务权限设置的范围。其三者关系如图所示:

权限项的选择范围.png

产品实现的过程中,我们添加自己需要的权限项,并将变更此权限项的权力分配给某些角色,以此达到任务属性级别的权限控制。

图片3.png

总结

Worktile7.0并没有选择为每个项目中的每个成员单独配置权限,尽管这样实现起来会在逻辑上更简单。企业内的职责和分工相对稳定,一个项目的角色组成也是,所以这些模式可以经常复用。初次使用,需要配置这些模式可能略显繁琐,但好处是通过模式的复用,从长远来讲将会提升效率。

智齿客服