配置流水线委托权限
操作背景
当CodeArts Pipeline服务需要与其他云服务协同工作时,建议您创建云服务委托,授权CodeArts Pipeline服务使用这些云服务,并在CodeArts Pipeline中为流水线配置委托,以实现与其他云服务的协同工作。
配置委托后,流水线将在运行权限上发生如下的变化:
- 手动运行/CodeArts Repo代码事件触发
- 未配置委托:使用流水线运行人的身份及权限。
- 配置委托后:您只需要有运行流水线的权限,不需要有流水线中调用的其他云服务的权限,后续任务会使用委托的身份及权限运行。
- 定时任务/通用webhook/三方代码仓事件触发
- 未配置委托:使用流水线最后更新人的身份及权限。
- 配置委托后:使用委托的身份及权限。
使用委托的优势
将CodeArts Pipeline的权限管理通过委托来配置,具有以下优点:
- 最小权限原则:委托配置允许您只授予流水线执行特定任务所需的最低权限,不需要将所有权限都授予运行人,降低了权限滥用的风险。
- 安全性:使用委托可以有效隔离用户权限,避免将个人凭证直接暴露在流水线中,降低安全风险。
- 可维护性:如果您需要更改权限,只需要在IAM更新委托的权限,无需逐个修改每个运行用户的权限,降低了权限管理的复杂性。
- 灵活性:委托可以应用在多个项目、多条流水线中,便于管理和重用,而使用个人身份时,权限管理会更加分散和繁琐。
- 审计和监控:委托的权限修改提供了完善的CTS审计跟踪,便于监控和验证操作的合规性。
- 团队协作:委托配置可以使团队内更轻松地进行权限管理,避免因为个人用户权限变动而造成影响。
- 自动化:委托的配置使得自动化流程更加一致和可靠,减少了人为因素的干扰。
- 支持多环境:通过不同的委托,可以轻松管理不同环境(如开发、测试、生产)的权限,而不需要为每个用户单独配置权限。
综合来看,使用委托配置的方式在安全性、灵活性、可维护性及团队协作等方面有明显的优势,相较于依赖运行用户的身份执行流水线,使用委托配置能够更好地支持复杂和动态的 DevOps 流水线流程。
前提条件
- 为单条流水线配置委托时,需要当前用户有流水线编辑权限。批量或一键配置流水线委托时,需要用户有租户管理员权限。权限管理请参考授权流水线服务。
- 配置委托前,请确保委托在CodeArts项目下拥有足够的角色权限。可前往流水线页面,在左侧导航栏 中查看委托的角色,并且在 中查看对应的角色权限。
默认委托
为方便创建和使用流水线,当华为云账号下无CodeArts Pipeline服务默认委托时,CodeArts Pipeline服务提供快速创建默认委托的功能。
- 使用租户管理员账号访问CodeArts任意页面,弹出“授权说明”弹窗。
- 勾选“我同意以上授权”,单击“确认”,即可自动创建CodeArts Pipeline服务的默认委托(默认委托名称: pipeline_admin_trust)。
CodeArts Pipeline服务默认委托包含了CodeArts Pipeline服务需要访问的大部分云资源权限,权限说明如表1 默认委托权限说明所示。
权限名称 |
描述 |
---|---|
CodeArtsBuildAgencyFullPolicy |
在流水线中调用CodeArtsBuild服务需要的权限,包含OBS、SWR等服务权限。 |
CCE Administrator |
在流水线中调用CCE服务需要的权限。 |
CODEARTSPIPELINEAgencyFullPolicy |
CodeArtsPipeline服务委托使用权限 。 |
CodeArtsDeployAgencyAccess |
在流水线中调用CodeArtsDeploy服务需要的权限,包含Service Stage、APM、Function Graph等服务权限。 |
CodeArtsDeployOBSAgencyAccess |
在流水线中调用CodeArtsDeploy服务需要的OBS文件相关权限。 |
SWR Admin |
在流水线中调用CodeArtsDeploy服务需要的SWR相关权限。 |
配置流水线委托
支持单个配置流水线委托、批量配置流水线委托以及一键配置流水线委托三种方式。
方法一:单个配置流水线委托
- 访问CodeArts Pipeline首页。
- 找到需要配置委托的流水线,单击
,选择“编辑”,进入“任务编排”页面。
- 单击“基本信息”,填写“委托URN”参数。“委托URN”参数的获取请参考获取委托URN。
- 参数填写完成后,单击“保存”,弹出“保存信息成功”提示,完成此条流水线委托的配置。
方法二:批量配置流水线委托
- 访问CodeArts Pipeline首页。
- 在流水线列表页面中,勾选需要批量配置委托的流水线,单击“设置委托”。
图1 批量设置委托
- 弹出“批量设置委托”弹窗,输入委托URN,单击“确定”,完成批量配置流水线委托。
图2 批量设置委托
方法三:一键配置流水线委托
- 访问CodeArts Pipeline首页。
- 在完成默认委托的创建后,进入流水线列表页,点击上方提示中的“一键添加委托”。
- 弹出“一键添加委托”弹窗,输入委托URN,单击“确定”,完成为所有未配置委托的流水线一键添加委托。