如何防止 PR 更改我的 CI 配置?

时间:2021-02-07 21:29:09

标签: security continuous-integration azure-pipelines

我们在 GitHub 中有一个开源项目。我们将 Azure DevOps 管道用于 CI。

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

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

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

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

1 个答案:

答案 0 :(得分:1)

<块引用>

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

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

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

enter image description here

更新 1

enter image description here