更新时间:2025-10-10 GMT+08:00

配置流水线委托权限

操作背景

当CodeArts Pipeline服务需要与其他云服务协同工作时,建议您创建云服务委托,授权CodeArts Pipeline服务使用这些云服务,并在CodeArts Pipeline中为流水线配置委托,以实现与其他云服务的协同工作。

配置委托后,流水线将在运行权限上发生如下的变化:

  • 手动运行/CodeArts Repo代码事件触发
    • 未配置委托:使用流水线运行人的身份及权限。
    • 配置委托后:您只需要有运行流水线的权限,不需要有流水线中调用的其他云服务的权限,后续任务会使用委托的身份及权限运行。

  • 定时任务/通用webhook/三方代码仓事件触发
    • 未配置委托:使用流水线最后更新人的身份及权限。
    • 配置委托后:使用委托的身份及权限。

使用委托的优势

将CodeArts Pipeline的权限管理通过委托来配置,具有以下优点:

  1. 最小权限原则:委托配置允许您只授予流水线执行特定任务所需的最低权限,不需要将所有权限都授予运行人,降低了权限滥用的风险。
  2. 安全性:使用委托可以有效隔离用户权限,避免将个人凭证直接暴露在流水线中,降低安全风险。
  3. 可维护性:如果您需要更改权限,只需要在IAM更新委托的权限,无需逐个修改每个运行用户的权限,降低了权限管理的复杂性。
  4. 灵活性:委托可以应用在多个项目、多条流水线中,便于管理和重用,而使用个人身份时,权限管理会更加分散和繁琐。
  5. 审计和监控:委托的权限修改提供了完善的CTS审计跟踪,便于监控和验证操作的合规性。
  6. 团队协作:委托配置可以使团队内更轻松地进行权限管理,避免因为个人用户权限变动而造成影响。
  7. 自动化:委托的配置使得自动化流程更加一致和可靠,减少了人为因素的干扰。
  8. 支持多环境:通过不同的委托,可以轻松管理不同环境(如开发、测试、生产)的权限,而不需要为每个用户单独配置权限。

综合来看,使用委托配置的方式在安全性、灵活性、可维护性及团队协作等方面有明显的优势,相较于依赖运行用户的身份执行流水线,使用委托配置能够更好地支持复杂和动态的 DevOps 流水线流程。

前提条件

  • 为单条流水线配置委托时,需要当前用户有流水线编辑权限。批量或一键配置流水线委托时,需要用户有租户管理员权限。权限管理请参考授权流水线服务
  • 配置委托前,请确保委托在CodeArts项目下拥有足够的角色权限。可前往流水线页面,在左侧导航栏设置 > 成员管理中查看委托的角色,并且在设置 > 权限管理中查看对应的角色权限。

默认委托

为方便创建和使用流水线,当华为云账号下无CodeArts Pipeline服务默认委托时,CodeArts Pipeline服务提供快速创建默认委托的功能。

  1. 使用租户管理员账号访问CodeArts任意页面,弹出“授权说明”弹窗。
  2. 勾选“我同意以上授权”,单击“确认”,即可自动创建CodeArts Pipeline服务的默认委托(默认委托名称: pipeline_admin_trust)。

CodeArts Pipeline服务默认委托包含了CodeArts Pipeline服务需要访问的大部分云资源权限,权限说明如表1 默认委托权限说明所示。

表1 默认委托权限说明

权限名称

描述

CodeArtsBuildAgencyFullPolicy

在流水线中调用CodeArtsBuild服务需要的权限,包含OBS、SWR等服务权限。

CCE Administrator

在流水线中调用CCE服务需要的权限。

CODEARTSPIPELINEAgencyFullPolicy

CodeArtsPipeline服务委托使用权限 。

CodeArtsDeployAgencyAccess

在流水线中调用CodeArtsDeploy服务需要的权限,包含Service Stage、APM、Function Graph等服务权限。

CodeArtsDeployOBSAgencyAccess

在流水线中调用CodeArtsDeploy服务需要的OBS文件相关权限。

SWR Admin

在流水线中调用CodeArtsDeploy服务需要的SWR相关权限。

配置流水线委托

支持单个配置流水线委托、批量配置流水线委托以及一键配置流水线委托三种方式。

方法一:单个配置流水线委托

  1. 访问CodeArts Pipeline首页
  2. 找到需要配置委托的流水线,单击,选择“编辑”,进入“任务编排”页面。
  3. 单击“基本信息”,填写“委托URN”参数。“委托URN”参数的获取请参考获取委托URN

    • 获取委托URN。
    1. 单击右上角头像,选择“CodeArts控制台”,单击进入。
    2. 在上方搜索栏中搜索“统一身份认证服务 IAM”,进入“总览”页面。
    3. 单击左侧导航栏中的“委托”,单击进入“委托”页面。
    4. 在搜索栏中搜索委托名称,单击进入委托详情中查看。

  4. 参数填写完成后,单击“保存”,弹出“保存信息成功”提示,完成此条流水线委托的配置。

方法二:批量配置流水线委托

  1. 访问CodeArts Pipeline首页
  2. 在流水线列表页面中,勾选需要批量配置委托的流水线,单击“设置委托”。

    图1 批量设置委托

  3. 弹出“批量设置委托”弹窗,输入委托URN,单击“确定”,完成批量配置流水线委托。

    图2 批量设置委托

方法三:一键配置流水线委托

  1. 访问CodeArts Pipeline首页
  2. 在完成默认委托的创建后,进入流水线列表页,点击上方提示中的“一键添加委托”。

  3. 弹出“一键添加委托”弹窗,输入委托URN,单击“确定”,完成为所有未配置委托的流水线一键添加委托。