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

确保仅将(自)签名制品部署到Azure的最优实现方案咨询

方案可行性与更优方案分析

一、你提出的流水线检查方案完全可行

Azure DevOps的流水线检查(通过调用自定义Azure Function/REST API)是满足你需求的有效方案。这类检查配置在**服务连接(Service Connections)**层级,而非单个流水线的YAML文件中,流水线创建者无法修改或跳过校验逻辑,完全符合“校验流程不受管控者控制”的核心要求。

具体落地可参考以下逻辑:

  • 在目标服务连接中添加「调用Azure Function」类型的检查
  • 自定义Azure Function实现签名校验逻辑:接收部署制品的哈希值、签名文件路径等信息,与预存的可信签名比对后返回校验结果
  • 配置检查规则:仅校验通过的流水线才能进入后续部署环节

二、Azure生态下的更优替代方案

1. Azure Policy 强制校验

针对App Service、Azure Functions等Azure资源,可通过自定义Azure Policy实现部署环节的签名强制校验:

  • 编写政策规则,检查部署到目标资源的代码包是否携带合法的自签名证书签名
  • 将政策效果设置为「拒绝」,不符合规则的部署请求会被直接阻断,从资源层面实现管控

2. 组织级流水线模板固化校验逻辑

若倾向于在Azure DevOps流水线内实现,可将签名校验逻辑封装为组织级只读流水线模板:

  • 把签名校验任务(如官方SignTool校验任务或自定义脚本)写入模板,设置模板为组织内只读
  • 强制所有部署流水线引用该模板,流水线创建者无法修改模板内的校验逻辑,确保校验流程的不可篡改

3. Azure Artifacts 源头管控

如果部署制品存储在Azure Artifacts中,可开启制品库的签名验证功能:

  • 配置制品库要求所有上传的制品必须使用指定的自签名证书签名
  • 流水线拉取制品时会自动触发验证,未通过签名的制品无法被下载使用,从源头保障制品合法性

内容的提问来源于stack exchange,提问作者LeonZandman

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 00:12:43