首页 > 解决方案 > 如何防止 PR 更改我的 CI 配置?

问题描述

我们在 GitHub 上有一个开源项目。我们为 CI 使用 Azure DevOps 管道。

在成功测试后,我们将我们的人工制品发布到 S3 和 Maven,因此所有凭证都存储为秘密变量。

这很好,export并且echo $top_secret可以方便地用 *** 混淆,但不幸的是,GitHub 上的任何用户都可以针对我们的 repo 创建一个拉取请求,作为更改的一部分,他们可以编辑我们的 azure-pipelines.yml 并调用 curl(或类似)从环境变量中读取凭据并将它们发送到自己的服务器。

在其他 CI 提供程序 (Travis CI) 中,无法从 PR 分支访问秘密变量。

如何防止 PR 接触我的 CI 配置文件并对其进行任何操作?

标签: securitycontinuous-integrationazure-pipelines

解决方案


如何防止 PR 接触我的 CI 配置文件并对其进行任何操作?

您的 CI 配置文件保存在 GitHub 开源中,您想限制用户更改此文件,对吗?由于我们无法在 GitHub 中设置文件权限。我们无法阻止 PR 接触您的 CI 配置文件。

作为一种解决方法,我们可以在 Azure DevOps 中创建经典编辑器管道并设置 CI 触发器,如下所示。如果用户无权更改构建定义,则他们无法更改您的 CI 构建定义。

在此处输入图像描述

更新1

在此处输入图像描述


推荐阅读