
# 方案概述
需求管理（CodeArts Req）项目级权限管理中，系统默认有三类角色：系统角色、自定义角色、项目管理员。CodeArts Req权限管理的默认角色说明请参考[表1]。系统默认**项目管理员** 、**项目经理** 、**测试经理** 拥有权限配置权限。CodeArts Req系统给这些系统角色提供默认的权限项，具体默认权限项请参考[系统默认权限表](https://support.huaweicloud.com/productdesc-projectman/projectman_07_0005.html#section1)。如需要重新变更权限，可联系项目下的这三类角色（项目管理员、项目经理、测试经理）的项目成员配置权限，权限设置请参考[管理CodeArts项目级权限](https://support.huaweicloud.com/usermanual-devcloud/devcloud_01_0018.html)。
 表1系统默认的项目角色说明 
| **项目角色**名称 | 角色说明                                                         |
|:---|:---|
| 项目管理员      | 项目管理员是项目的最高负责人，可以管理项目的所有设置和成员，包括创建、删除、修改项目、以及分配和撤销其他角色的权限。   |
| 项目经理       | 项目经理是项目的主要负责人，可以管理项目的需求、计划、进度、风险等方面，以及协调项目团队的工作。             |
| 产品经理       | 产品经理是负责项目产品设计和规划的角色，可以定义产品需求、原型、用户故事等方面，并且与开发人员和测试人员进行沟通和协作。 |
| 测试经理       | 测试经理是负责项目测试工作的角色，可以管理测试计划、测试用例、测试执行、缺陷跟踪等方面，以及指导和监督测试人员的工作。  |
| 运维经理       | 运维经理负责项目运维工作，管理项目的部署、监控、故障定位排除等。                             |
| 系统工程师      | 系统工程师是负责项目系统构架和基础设施的角色，可以设计、搭建、维护项目所需的服务器、网络、数据库等资源。         |
| Committer  | Committer是负责审核并合并开发人员提交的代码的角色。                               |
| 开发人员       | 开发人员是负责项目开发工作的角色，可以编写代码、提交代码、合并代码、拉取代码分支等，以及创建和运行流水线、构建等服务。  |
| 测试人员       | 测试人员是负责项目测试工作的角色，可以执行测试用例、报告缺陷、验证修复等操作。                      |
| 参与者        | 参与者可以参与项目业务，可以创建工作项。                                         |
| 浏览者        | 浏览者只能查看项目里的内容，不能操作任何服务。                                      |
   
CodeArts Req提供**基于角色** **的权限管理** （RBAC：Role Based Access Control）和**基于属性** **的权限管理**（ABAC：Attribute Based Access Control）。
- **基于角色的权限管理** （RBAC：Role Based Access Control）
  默认情况下，当用户加入到CodeArts Req项目中时，会给用户赋予项目中内置的系统角色或自定义角色，才能使得用户获得角色所对应的权限，用户即可基于所配置的权限范围对项目进行作业。
  基于角色的权限管理的操作详情，请参考[基于用户角色的权限管理](https://support.huaweicloud.com/bestpractice-projectman/codeartsreq_practice_1050.html#codeartsreq_practice_1050__zh-cn_topic_0000002345467873_section4729211154512)。
  
- **基于属性的权限管理** （ABAC：Attribute Based Access Control）
  使用默认工作项状态流情况下，字段配置中的"可编辑的角色"初始配置为空，则工作项的"当前责任人"有权限编辑当条工作项的字段；若在工作项状态流中配置了"可编辑的角色"，则可约束该角色的可编辑字段的范围，达到权限精细化管控。
  基于属性的权限管理的操作详情，请参考[基于字段属性的权限管理](https://support.huaweicloud.com/bestpractice-projectman/codeartsreq_practice_1050.html#codeartsreq_practice_1050__zh-cn_topic_0000002345467873_section181241803458)。
  
本文介绍在IPD系统设备类项目中，如何基于角色进行权限配置以及在自定义工作流中进行更精细化权限管控。
