
# 权限管理
CodeArts权限管理是在统一身份认证服务（IAM）与CodeArts鉴权管理能力基础上，打造的细粒度权限管理功能，帮助用户便捷灵活地对租户下的IAM用户设定不同的操作权限。
CodeArts的权限管理包括"IAM细粒度权限"和"CodeArts鉴权管理"两种能力。
- IAM细粒度权限：基于IAM系统策略的授权，可以通过用户组功能实现对IAM用户的授权。
- CodeArts鉴权管理：CodeArts三层权限模型，可以根据角色实现对IAM用户的操作权限管理。
#### IAM细粒度权限
默认情况下，管理员创建的IAM用户没有任何权限，需要将其加入用户组，并给用户组授予策略或角色，才能使得用户组中的用户获得对应的权限，这一过程称为授权。授权后，用户就可以基于被授予的权限对云服务进行操作。
[表1]展示了CodeArts各服务支持的所有系统策略。
 表1CodeArts系统权限 
| 服务                                                 | 系统角色/策略名称                                          | 描述                                                   | 类别   | 策略详情                                                                                                      |
|:---|:---|:---|:---|:---|
| CodeArts控制台                                        | CodeArts Console FullAccess                        | 华为云码道CodeArtsConsole控制台的全部权限。                        | 系统策略 | 参考[CodeArts控制台权限说明](https://support.huaweicloud.com/usermanual-devcloud/devcloud_01_0038.html)。           |
| CodeArts控制台                                        | CodeArts Console ReadOnlyAccess                    | 华为云码道CodeArtsConsole控制台的只读权限。                        | 系统策略 | 参考[CodeArts控制台权限说明](https://support.huaweicloud.com/usermanual-devcloud/devcloud_01_0038.html)。           |
| 需求管理                                               | ProjectMan ConfigOperations                        | CodeArts项目配置的所有权限。                                   | 系统策略 | 参考[需求管理云服务级权限](https://support.huaweicloud.com/productdesc-projectman/projectman_07_0005.html#section0)。  |
| 流水线                                                | CloudPipeline Tenant Extensions FullAccess         | 流水线服务租户扩展插件全部权限。                                     | 系统策略 | 参考[流水线租户级权限](https://support.huaweicloud.com/usermanual-pipeline/pipeline_01_0033.html#section2)。         |
| 流水线                                                | CloudPipeline Tenant Pipeline Templates FullAccess | 流水线服务租户流水线模板全部权限。                                    | 系统策略 | 参考[流水线租户级权限](https://support.huaweicloud.com/usermanual-pipeline/pipeline_01_0033.html#section2)。         |
| 流水线                                                | CloudPipeline Tenant Rule Templates FullAccess     | 流水线服务租户策略设置全部权限。                                     | 系统策略 | 参考[流水线租户级权限](https://support.huaweicloud.com/usermanual-pipeline/pipeline_01_0033.html#section2)。         |
| 流水线                                                | CloudPipeline Tenant Rules FullAccess              | 流水线服务租户规则设置全部权限。                                     | 系统策略 | 参考[流水线租户级权限](https://support.huaweicloud.com/usermanual-pipeline/pipeline_01_0033.html#section2)。         |
| 性能测试  | CodeArts PerfTest Administrator                    | 性能测试服务管理员，拥有该服务下的所有权限。                               | 系统角色 | 参考[性能测试权限管理](https://support.huaweicloud.com/productdesc-cpts/cpts_productdesc_0011.html)。                |
| 性能测试  | CodeArts PerfTest Developer                        | 性能测试服务开发人员，拥有该服务下当前用户的所有权限，但无权操作租户下其他用户的资源。          | 系统角色 | 参考[性能测试权限管理](https://support.huaweicloud.com/productdesc-cpts/cpts_productdesc_0011.html)。                |
| 性能测试  | CodeArts PerfTest Operator                         | 性能测试服务操作员，拥有该服务下的只读权限。                               | 系统角色 | 参考[性能测试权限管理](https://support.huaweicloud.com/productdesc-cpts/cpts_productdesc_0011.html)。                |
| 性能测试  | CodeArts PerfTest Resource Administrator           | 性能测试服务测试资源管理员，拥有该服务下测试资源相关的所有权限。                     | 系统角色 | 参考[性能测试权限管理](https://support.huaweicloud.com/productdesc-cpts/cpts_productdesc_0011.html)。                |
| 性能测试  | CodeArts PerfTest Resource Developer               | 性能测试服务测试资源开发者，拥有该服务下测试资源查看和使用权限，但无基础设施创建、更新、删除权限。    | 系统角色 | 参考[性能测试权限管理](https://support.huaweicloud.com/productdesc-cpts/cpts_productdesc_0011.html)。                |
| 漏洞管理服务                                             | VSS Administrator                                  | 漏洞管理服务管理员，拥有该服务下的所有权限。                               | 系统角色 | 参考[漏洞管理服务权限管理](https://support.huaweicloud.com/productdesc-vss/vss_01_0034.html)。                         |
| 漏洞管理服务                                             | VSS ReadOnlyAccess                                 | 漏洞管理服务只读权限。                                          | 系统策略 | 参考[漏洞管理服务权限管理](https://support.huaweicloud.com/productdesc-vss/vss_01_0034.html)。                         |
| 漏洞管理服务                                             | VSS UseOnlyAccess                                  | 漏洞管理服务的使用权限（无法更新漏洞扫描服务订单）。                           | 系统策略 | 参考[漏洞管理服务权限管理](https://support.huaweicloud.com/productdesc-vss/vss_01_0034.html)。                         |
| CodeArts IDE Online                                | CloudIDE FullAccess                                | CodeArts IDE Online所有权限。                             | 系统策略 | 参考[CodeArts IDE Online权限说明](https://support.huaweicloud.com/productdesc-cloudide/rights_management.html)。 |
| CodeArts IDE Online                                | CloudIDE ReadOnlyAccess                            | CodeArts IDE Online只读权限。                             | 系统策略 | 参考[CodeArts IDE Online权限说明](https://support.huaweicloud.com/productdesc-cloudide/rights_management.html)。 |
| CodeArts IDE Online                                | CloudIDE InstanceManagement                        | CodeArts IDE Online实例管理权限，用户可以管理自己拥有的实例、访问被分发给自己的实例。 | 系统策略 | 参考[CodeArts IDE Online权限说明](https://support.huaweicloud.com/productdesc-cloudide/rights_management.html)。 |
| CodeArts IDE Online                                | CloudIDE Development                               | CodeArts IDE Online开发权限，包括查看、启动、停止、访问实例等操作。          | 系统策略 | 参考[CodeArts IDE Online权限说明](https://support.huaweicloud.com/productdesc-cloudide/rights_management.html)。 |
| CodeArts IDE                                       | CodeArts IDE FullAccess                            | CodeArts IDE全部权限。                                    | 系统策略 | 参考[CodeArts IDE权限说明](https://support.huaweicloud.com/productdesc-codeartside/codeartside_07_00011.html)。  |
| CodeArts IDE                                       | CodeArts IDE ReadOnly                              | CodeArts IDE只读权限。                                    | 系统策略 | 参考[CodeArts IDE权限说明](https://support.huaweicloud.com/productdesc-codeartside/codeartside_07_00011.html)。  |
   
#### CodeArts鉴权管理
CodeArts提供三层权限模型：租户级权限、项目级权限、实例级权限。
三层权限模型的作用范围：租户级权限\>项目级权限\>实例级权限。
当三层模型中的权限配置发生冲突时，权限作用的优先级为：实例级权限\>项目级权限\>租户级权限。
- 租户级权限 针对当前租户下所有的CodeArts项目生效，包括项目创建/删除/更改权限。
  拥有Tenant Administrator角色的用户默认拥有租户级权限，也可以给非Tenant Administrator用户授予创建项目权限（授权方法可参考[设置CodeArts项目创建者](https://support.huaweicloud.com/usermanual-devcloud/codearts_01_0027.html#section2)）。
  
- 项目级权限 针对当前项目生效，包括项目编辑/归档，角色和权限设置，成员设置等通用权限；也支持配置各服务的操作权限，如需求管理的原始需求创建/提交/复制权限，代码仓的提交/合并权限等，权限对服务的所有实例都生效。
  CodeArts提供基于角色的权限管理（RBAC）。默认情况下，新创建的用户没有任何权限，需要将其加入项目，并给用户配置角色，才能使得用户获得角色所对应的权限，这一过程称为授权。授权后，用户就可以基于被授予的权限对云服务进行操作。
  CodeArts中内置了多种系统角色，同时支持自定义角色，用户可以根据自己的需要创建新的角色，并为其配置需求管理、软件建模、代码托管、代码检查、编译构建、制品仓库、部署、测试计划、流水线等服务的操作权限。
  拥有Tenant Administrator角色的用户始终拥有项目内的项目管理员权限，且出现权限冲突时以租户级权限为准。
  表2CodeArts项目内置角色定义 
  | 角色名称      | 角色说明                                                            |
  |:---|:---|
  | 项目管理员     | 项目管理员是项目的最高负责人，他/她可以管理项目的所有设置和成员，包括创建、删除、修改项目，以及分配和撤销其他角色的权限。   |
  | 项目经理      | 项目经理是项目的主要负责人，他/她可以管理项目的需求、计划、进度、风险等方面，以及协调项目团队的工作。             |
  | 产品经理      | 产品经理是负责项目产品设计和规划的角色，他/她可以定义产品需求、原型、用户故事等方面，并且与开发人员和测试人员进行沟通和协作。 |
  | 测试经理      | 测试经理是负责项目测试工作的角色，他/她可以管理测试计划、测试用例、测试执行、缺陷跟踪等方面，以及指导和监督测试人员的工作。  |
  | 运维经理      | 运维经理负责项目运维工作，管理项目的部署、监控、故障定位排除等。                                |
  | 系统工程师     | 系统工程师是负责项目系统架构和基础设施的角色，他/她可以设计、搭建、维护项目所需的服务器、网络、数据库等资源。         |
  | Committer | Committer是负责审核并合并开发人员提交的代码的角色。                                  |
  | 开发人员      | 开发人员是负责项目开发工作的角色，他/她可以编写、提交、合并、分支等代码，以及创建和运行流水线、构建等服务。          |
  | 测试人员      | 测试人员是负责项目测试工作的角色，他/她可以执行测试用例、报告缺陷、验证修复等操作。                      |
  | 参与者       | 参与者可以参与项目业务，可以创建工作项。                                            |
  | 浏览者       | 浏览者只能查看项目里的内容，不能操作任何服务。                                         |
     
  
- 实例级权限 针对项目中的某个代码仓或某条流水线等实例生效，例如：流水线实例的查看/执行/更新/删除权限等。
  实例级权限由该实例的创建者配置。CodeArts支持在以下服务中配置实例级权限。
  拥有Tenant Administrator角色的用户始终拥有项目内的实例管理权限，且出现权限冲突时以租户级权限为准。
  表3CodeArts实例级权限 
  | 服务   | 实例   | 配置方法                                                                                                         |
  |:---|:---|:---|
  | 代码托管 | 代码仓库 | [设置代码仓库级的权限](https://support.huaweicloud.com/usermanual-codeartsrepo/codeartsrepo_03_0066.html)              |
  | 流水线  | 流水线  | [配置流水线权限](https://support.huaweicloud.com/usermanual-pipeline/pipeline_01_0034.html)                         |
  | 编译构建 | 构建任务 | [配置构建任务角色权限](https://support.huaweicloud.com/usermanual-codeci/codeci_ug_2005.html)                          |
  | 部署   | 应用   | [配置CodeArts Deploy应用不同角色的管理权限](https://support.huaweicloud.com/usermanual-deployman/deployman_hlp_0035.html) |
     
  
 
