You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure DevOps 如何配置自定义构建代理仅允许运行指定限定任务

自定义构建代理特权操作安全管控配置方案

要实现仅允许运行自定义特权任务、禁止通用脚本任务执行的需求,可按以下步骤完成配置:

1. 隔离专属代理池

  • 新建独立的特权操作专用代理池,不与通用构建代理池混用
  • 调整代理池权限,移除普通贡献者、默认构建服务账号的代理池使用权限,仅授权给受信任的管道或自定义特权任务的服务主体调用

2. 固化自定义特权任务

  • 将所有需要管控的特权操作封装为专属自定义扩展任务,所有执行逻辑内置固化,不开放可注入自定义脚本的参数入口
  • 自定义任务发布到组织任务库后,设置仅管理员可编辑更新,普通用户仅拥有使用权限

3. 代理侧任务禁用配置(核心管控逻辑)

在自定义构建代理的主机上配置环境变量禁用指定任务,具体操作如下:

  • 首先收集所有需要禁止的通用任务ID,常用需禁用的任务ID包括:
    • Az CLI任务:6c731c3c-3c28-465e-94a2-5256d7d6a941
    • PowerShell任务:e213ff0f-5d5c-4791-802d-325c81994862
    • Bash任务:3689a2a2-c37f-45a6-9013-5e97e2c1b229
    • Cmd命令行任务:d9bafed4-0b18-4f50-9560-c444d500c629
    • Azure PowerShell任务:72a19319-ec23-4473-a067-86b4e29b7952
  • Windows代理:新增系统环境变量,变量名为DISABLE_PIPELINE_TASKS,变量值为逗号分隔的所有需禁用的任务ID,配置完成后重启代理服务生效
  • Linux/macOS代理:在代理启动脚本中添加export DISABLE_PIPELINE_TASKS=任务ID1,任务ID2,...,保存后重启代理进程生效

4. 本地执行兜底拦截

  • 限制代理运行账号的权限,仅授予执行特权操作所需的最小权限,禁止该账号启动PowerShell、Az CLI、Bash等通用命令行工具
  • 开启代理运行诊断日志,留存所有任务执行记录,定期审计排查绕过尝试

5. 管道权限加固

  • 所有使用该特权代理池的管道设置为仅受信任的管理员可编辑,普通用户仅可触发运行,无权修改管道定义

提示:可根据实际业务需求调整禁用的任务范围,查询对应任务ID后补充到禁用列表即可,注意不要误添加自定义特权任务的ID。

内容的提问来源于stack exchange,提问作者Carl in 't Veld

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 21:39:04