保护 Azure Pipeline Yaml 文件不被编辑

998*_*823 5 git azure azure-devops azure-pipelines

目前,我们将管道 YAML 文件存储在 Azure Devops 的 git 存储库中 - 试图找到一种方法来限制某些用户编辑/访问 YAML 文件,甚至可能是包含 YAML 文件的文件夹。

我们希望实施额外的安全措施,以防止我们的开发人员修改我们的 YAML 文件以潜在地利用敏感信息或进行我们不批准的更改(我们制定了 PR 政策,但希望采取额外的安全措施)。

理想情况下 - 我们可以在 azure 中设置一个组 - 添加成员,并且只有这些成员才能修改包含我们的 YAML 文件的特定存储库文件夹内的文件 - 不确定这是否可能。

Sha*_*zyk 5

您可以创建一个存储库策略来阻止推送到 YAML 文件夹/文件。

转到项目设置 => 存储库 => 存储库 => 策略:

在此输入图像描述

并向有权编辑 YAML 的特定组授予绕过策略权限:

在此输入图像描述


Yan*_*SFT 4

据我所知,没有这样的现有安全设置可以阻止特定成员修改特定文件或文件夹。

但是,您可以锁定master分支,然后为特定文件(例如 yml 文件或特定文件夹)设置分支策略。

请检查此线程我们可以在 Azure DevOps 中锁定文件吗?并按照步骤操作。

要点是在“分支策略”的“自动包含审阅者”中设置“对于影响这些文件夹的拉取请求”值。

在此输入图像描述 在此输入图像描述

在这种情况下,对 master 分支的所有更改都需要拉取请求,对 yml 文件的更改将需要审阅者来证明。

  • 接受的答案具有误导性且危险。最初的问题非常有效,据我所知 Devops 没有为该问题提供任何解决方案。想象一下 - 恶意用户有权对管道进行排队(不需要编辑权限),并且恶意用户有权推送新分支。恶意用户重写管道的 YAML 以在自己的私有分支中提取机密,将管道在自己的私有分支上排队,然后完成,提取所有机密。不需要 PR,因此 PR 政策没有任何帮助。缺少的功能是 PUSH 过滤器。 (5认同)