云服务器内容精选

  • 企业需求场景 需求一:X公司有两个产品团队,分别负责项目A和项目B的开发。两个团队中的资源相互隔离,各自维护。公司有专门的财务部门,资源的购买与分配由财务部门统一管理。 需求二:每个产品团队包括多个小组,分别负责不同的资源管理。例如:资源维护组负责管理项目开发所需的环境资源,包括主机、集群等;研发管理组负责软件开发生产线中的人员配置;开发测试组负责使用软件开发生产线进行版本的迭代开发等。每个成员只能访问其所在团队的资源,且仅拥有能够完成工作的资源使用最小权限。 需求三:项目开发过程中,每种角色(例如开发人员、测试人员)能够有不同的操作权限,例如:开发人员可以修改代码、测试人员只能查看代码等。
  • 解决方案 针对需求一:华为云提供的企业管理服务能够实现团队之间的资源隔离。企业管理通过创建企业项目,隔离企业不同项目之间的资源,企业项目中可以包含多个区域的资源。企业项目还可以实现对特定云资源的授权。例如:将一台特定的E CS 添加至企业项目,对企业项目进行授权后,可以控制用户仅能管理这台特定的ECS。 针对需求二:华为云提供的 统一身份认证 服务能够对用户进行分组授权。配合使用企业管理服务和统一身份认证服务,在统一身份认证服务中创建用户组、为每个员工创建 IAM 用户并加入用户组,再将用户组添加至企业项目,并为各企业项目中的用户组授予相应的资源使用权限。 图1 人员&资源配置模型 本文中,产品团队使用软件开发生产线(CodeArts)进行版本迭代开发,版本包的部署使用弹性云服务器(ECS)。 财务组负责购买并分配资源,需要ECS、CodeArts控制台的管理员权限。 资源维护组负责环境资源ECS的日常维护,包括开关机、安装/切换操作系统等,需要ECS的普通用户权限。 研发管理组负责管理软件开发生产线中的人员配置,包括指定哪些成员可以在软件开发生产线中创建开发项目、管理项目角色,需要需求管理服务(CodeArts Req)的项目设置权限。 开发测试组需要将版本包部署到ECS上,赋予只读权限即可。由于IAM用户默认可以访问CodeArts产品页,且在IAM服务中暂无CodeArts访问相关配置,因此无需对开发测试组做CodeArts访问权限的配置。 表1 用户组权限配置模型 用户组 职责 所需权限 描述 财务组 负责购买开通项目开发所使用的云资源。 ECS FullAccess 弹性云服务器(ECS)的管理员权限。 DevCloud Console FullAccess 软件开发生产线(CodeArts)控制台管理员权限。 资源维护组 负责维护项目开发所需的环境资源。 ECS CommonOperations 弹性云服务器(ECS)的普通用户权限。 研发管理组 负责管理项目研发团队。 ProjectMan ConfigOperations 软件开发生产线项目设置的操作权限。 开发测试组 负责项目的开发测试。 ECS ReadOnlyAccess 弹性云服务器(ECS)的只读权限。 本文中使用到的环境资源为弹性云服务器。如需了解华为云所有云服务的系统权限,请参见:系统权限。 针对需求三:软件开发生产线中内置了多种项目角色,并提供自定义角色功能。在软件开发生产线中,可以为每个IAM用户设置角色,并对角色设置各项任务的操作权限。 本文中,在软件开发生产线中的操作主要涉及以下服务。在每个服务中,可以根据实际需要,为各角色设置权限。 表2 项目角色与操作 服务 说明 各角色在服务中的操作(表中未提到的角色默认为不在此服务中进行任何操作) 需求管理(CodeArts Req) 管理需求规划、工作项、迭代、报表、仪表盘、文档。 项目创建者/项目经理:新建项目、添加项目成员。新建/编辑/删除项目规划、迭代、工作项、报表、仪表盘、文档。 开发人员:查看项目规划、迭代、仪表盘,新建工作项、文档,编辑/删除自己名下的工作项、文档。 测试人员:查看项目规划、迭代、仪表盘,新建工作项、文档,编辑/删除自己名下的工作项、文档。 运维经理:查看项目规划、迭代、工作项、报表、仪表盘,新建/编辑/删除文档。 代码托管(CodeArts Repo) 源代码管理与开发。 项目创建者/项目经理:新建仓库、添加仓库成员。 开发人员:修改/提交代码。 测试人员:查看代码。 编译构建(CodeArts Build) 将代码编译打包成版本包。 开发人员:新建/编辑/执行/删除任务。 测试人员:执行/查看任务。 制品仓库(CodeArts Artifact) 版本包的存储与管理。 开发人员:上传/编辑/下载/删除版本包。 测试人员:查看/下载版本包。 运维经理:查看/下载版本包。 部署(CodeArts Deploy) 将版本包部署到ECS中。 开发人员:新建/编辑/执行/删除应用。 测试人员:编辑/执行应用。 运维经理:编辑/执行应用。 流水线(CodeArts Pipeline) 集成构建、部署等任务,实现项目的持续交付。 开发人员:新建/编辑/执行/删除自己名下的流水线。 测试人员:编辑/执行流水线。 运维经理:编辑/执行流水线。