更新时间:2024-11-18 GMT+08:00

权限管理

CodeArts权限管理是在统一身份认证服务(IAM)与CodeArts鉴权管理能力基础上,打造的细粒度权限管理功能,帮助用户便捷灵活的对租户下的IAM用户设定不同的操作权限。

CodeArts的权限管理包括“IAM细粒度权限”和“CodeArts鉴权管理”两种能力。

  • IAM细粒度权限:基于IAM系统策略的授权,可以通过用户组功能实现对IAM用户的授权。
  • CodeArts鉴权管理:CodeArts三层权限模型,可以根据角色实现对IAM用户的操作权限管理。

IAM细粒度权限

默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。

表1展示了CodeArts各服务支持的所有系统策略。

表1 CodeArts系统权限

服务

系统角色/策略名称

描述

类别

策略详情

CodeArts控制台

DevCloud Console FullAccess

软件开发生产线控制台全部权限。

系统策略

参考CodeArts控制台权限说明

DevCloud Console ReadOnlyAccess

软件开发生产线控制台只读权限。

系统策略

需求管理

ProjectMan ConfigOperations

软件开发生产线项目配置的所有权限。

系统策略

参考需求管理云服务级权限

流水线

CloudPipeline Tenant Extensions FullAccess

流水线服务租户扩展插件全部权限。

系统策略

参考流水线租户级权限

CloudPipeline Tenant Pipeline Templates FullAccess

流水线服务租户流水线模板全部权限。

系统策略

CloudPipeline Tenant Rule Templates FullAccess

流水线服务租户策略设置全部权限。

系统策略

CloudPipeline Tenant Rules FullAccess

流水线服务租户规则设置全部权限。

系统策略

性能测试

CodeArts PerfTest Administrator

性能测试服务管理员,拥有该服务下的所有权限。

系统角色

参考性能测试权限管理

CodeArts PerfTest Developer

性能测试服务开发人员,拥有该服务下当前用户的所有权限,但无权操作租户下其他用户的资源。

系统角色

CodeArts PerfTest Operator

性能测试服务操作员,拥有该服务下的只读权限。

系统角色

CodeArts PerfTest Resource Administrator

性能测试服务测试资源管理员,拥有该服务下测试资源相关的所有权限。

系统角色

CodeArts PerfTest Resource Developer

性能测试服务测试资源开发者,拥有该服务下测试资源查看和使用权限,但无基础设施创建、更新、删除权限。

系统角色

CodeArts鉴权管理

CodeArts提供三层权限模型:租户级权限、项目级权限、实例级权限。

三层权限模型的作用范围:租户级权限>项目级权限>实例级权限。

当三层模型中的权限配置发生冲突时,权限作用的优先级为:实例级权限>项目级权限>租户级权限。

  • 租户级权限

    针对当前租户下所有的CodeArts项目生效,包括项目创建/删除/更改权限。

    拥有Tenant Administrator权限的用户默认拥有租户级权限,也可以给非Tenant Administrator用户授予创建项目权限(授权方法可参考设置CodeArts项目创建者)。

  • 项目级权限

    针对当前项目生效,包括项目编辑/归档,角色和权限设置,成员设置等通用权限;也支持配置各服务的操作权限,如需求管理的原始需求创建/提交/复制权限,代码仓的提交/合并权限等,权限对服务的所有实例都生效。

    CodeArts提供基于角色的权限管理(RBAC)。默认情况下,新创建的用户没有任何权限,需要将其加入项目,并给用户配置角色,才能使得用户获得角色所对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。

    CodeArts中内置了多种系统角色,同时支持自定义角色,用户可以根据自己的需要创建新的角色,并为其配置需求管理、软件建模、代码托管、代码检查、编译构建、制品仓库、部署、测试计划、流水线等服务的操作权限。

    表2 CodeArts项目内置角色定义

    角色名称

    角色说明

    项目管理员

    项目管理员是项目的最高负责人,他/她可以管理项目的所有设置和成员,包括创建、删除、修改项目,以及分配和撤销其他角色的权限。

    项目经理

    项目经理是项目的主要负责人,他/她可以管理项目的需求、计划、进度、风险等方面,以及协调项目团队的工作。

    产品经理

    产品经理是负责项目产品设计和规划的角色,他/她可以定义产品需求、原型、用户故事等方面,并且与开发人员和测试人员进行沟通和协作。

    测试经理

    测试经理是负责项目测试工作的角色,他/她可以管理测试计划、测试用例、测试执行、缺陷跟踪等方面,以及指导和监督测试人员的工作。

    系统工程师

    系统工程师是负责项目系统架构和基础设施的角色,他/她可以设计、搭建、维护项目所需的服务器、网络、数据库等资源。

    Committer

    Committer是负责审核并合并开发人员提交的代码的角色。

    开发人员

    开发人员是负责项目开发工作的角色,他/她可以编写、提交、合并、分支等代码,以及创建和运行流水线、构建等服务。

    测试人员

    测试人员是负责项目测试工作的角色,他/她可以执行测试用例、报告缺陷、验证修复等操作。

    参与者

    参与者可以参与项目业务,可以创建工作项。

    浏览者

    浏览者只能查看项目里的内容,不能操作任何服务。

  • 实例级权限

    针对项目中的某个代码仓或某条流水线等实例生效,例如:流水线实例的查看/执行/更新/删除权限等。

    实例级权限由该实例的创建者配置。CodeArts支持在以下服务中配置实例级权限。

    表3 CodeArts实例级权限

    服务

    实例

    配置方法

    代码托管

    代码仓库

    权限管理

    流水线

    流水线

    配置流水线权限

    编译构建

    构建任务

    配置构建任务角色权限

    部署

    应用

    配置CodeArts Deploy应用不同角色的管理权限