Git 保护Azure管道Yaml文件不被编辑

Git 保护Azure管道Yaml文件不被编辑,git,azure,azure-devops,azure-pipelines,Git,Azure,Azure Devops,Azure Pipelines,目前正在Azure Devops的git repo中存储管道YAML文件-试图找到一种方法来限制某些用户编辑/访问YAML文件,甚至可能是包含YAML文件的文件夹 我们希望实现额外的安全性,以防止开发人员修改YAML文件,从而可能利用敏感信息或进行我们不批准的更改(我们有一个PR政策,但希望采取额外的安全措施) 理想情况下-我们可以在azure中设置一个组-添加成员,并且只有这些成员才能修改包含我们YAML文件的特定repo文件夹中的文件-不确定这是否可行。据我所知,目前还没有这样的安全设置阻止

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

我们希望实现额外的安全性,以防止开发人员修改YAML文件,从而可能利用敏感信息或进行我们不批准的更改(我们有一个PR政策,但希望采取额外的安全措施)


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

据我所知,目前还没有这样的安全设置阻止特定成员修改特定文件或文件夹

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

请检查此线程并按照步骤操作

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


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

您可以创建一个回购策略,以防止推送到YAML文件夹/文件

转到项目设置=>Repos=>Repositories=>Policies:

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


这非常接近我们的需要-但是它似乎只在创建yml文件时阻止推送-这很好,但是,我们也需要在编辑yml并尝试推送时阻止推送-知道我的意思吗?@99823我不知道它只适用于创建,可能是个bug,尝试指定yaml文件名并进行检查。@shyki我们开始相信这是预期的行为,因为上面的屏幕截图中描述了“block push form importing file path that”-我认为关键字是“importing”与仅仅更新或其他什么不同-知道我的意思吗?@99823你找到解决方案了吗?我的建议有用吗?它可能会阻止特定成员编辑目标文件或文件夹。接受的答案具有误导性和危险性。最初的问题非常有效,AFAIK Devops没有提供任何解决方案。图片如下-恶意用户有权对管道排队(无需编辑权限),恶意用户有权推送新分支。恶意用户重写管道的YAML以提取其私有分支中的机密,在其私有分支上对管道排队,然后完成所有机密提取。不需要PRs,因此,PR政策没有任何帮助。缺少的功能是推送过滤器。接受的答案具有误导性和危险性。最初的问题非常有效,AFAIK Devops没有提供任何解决方案。图片如下-恶意用户有权对管道排队(无需编辑权限),恶意用户有权推送新分支。恶意用户重写管道的YAML以提取其私有分支中的机密,在其私有分支上对管道排队,然后完成所有机密提取。不需要PRs,因此,PR政策没有任何帮助。缺少的功能是推送过滤器。