加强管道安全性的改进

通过此更新,我们将改进 Azure DevOps 中的安全性。 现在,在为 Azure 容器注册表 创建 Docker 注册表服务连接时,可以使用系统分配的托管标识。 此外,我们增强了代理池的访问管理,使你可以在 YAML 管道中指定资源的使用。 最后,我们将限制分叉公共 GitHub 存储库的 GitHub 访问令牌具有只读范围。

有关详细信息,请查看发行说明。

Azure Boards

Azure Pipelines

Azure Boards

现在可以使用“复制链接”操作将链接复制到特定工作项注释。 然后,可以将该链接粘贴到另一个工作项注释或说明中。 单击后,将打开工作项,并突出显示批注。

Gif to demo copy comments link.

此功能是根据 此社区建议票证确定优先级的。

注意

此功能仅适用于 新板中心 预览版。

Azure Pipelines

容器注册表服务连接现在可以使用 Azure 托管标识

创建用于Azure 容器注册表的 Docker 注册表服务连接时,可以使用系统分配的托管标识。 这样就可以使用与自承载 Azure Pipelines 代理关联的托管标识访问Azure 容器注册表,而无需管理凭据。

New Docker Registry Service Connection for Changes to Approvals

注意

用于访问Azure 容器注册表的托管标识需要适当的 Azure 基于角色的访问控制(RBAC)分配,例如 AcrPull 或 AcrPush 角色。

限制受保护资源的管道权限(例如服务连接)时,关联的审核事件日志现在正确地指出资源已成功对其项目未经授权

Pipeline Permissions for Changes to Approvals

Successfully Authorized for Changes to Approvals

确保组织仅使用 YAML 管道

Azure DevOps 现在允许你通过禁用经典生成管道、经典发布管道、任务组和部署组来确保组织仅使用 YAML 管道。 现有经典管道将继续运行,并且能够编辑它们,但无法创建新管道。

可以通过启用相应的切换来禁用在组织级别或项目级别创建经典管道。 可以在 Project/Organization 设置 - Pipelines ->> 设置中找到切换。

Disable Creation Of Classic Build and Classic Pipeline for Changes to Approvals

切换状态默认处于关闭状态,需要管理员权限才能更改状态。 如果切换在组织级别处于打开状态,则会对所有项目强制禁用。 否则,每个项目都可以自由选择是否强制禁用。

强制禁用经典管道的创建时,与创建经典管道、任务组和部署组相关的 REST API 将失败。 创建 YAML 管道的 REST API 将正常工作。

对于现有组织,禁用经典管道的创建是选择加入的。 对于新组织,它暂时选择加入。

更新管道常规设置所需的新 PAT 范围

调用常规设置 - 更新 REST API 现在需要具有范围项目和团队的 PAT -> 读取和写入

Project and Team

代理池的精细访问管理

使用代理池可以指定和管理管道运行的计算机。

以前,如果使用了自定义代理池,则管理哪些管道可以访问该池是粗粒度的。 可以允许所有管道使用它,也可以要求每个管道请求权限。 遗憾的是,向代理池授予管道访问权限后,无法使用管道 UI 撤消该权限。

Azure Pipelines 现在为代理池提供精细的访问管理。 体验类似于管理服务连接管道权限的体验。

FabrikamFiber Agent Pool for Changes to Approvals

阻止向所有管道授予对受保护资源的访问权限

创建受保护的资源(如服务连接或环境)时,可以选择“向所有管道授予访问权限”检查框。 到目前为止,此选项默认检查。

虽然这使得管道能够更轻松地使用新的受保护资源,但相反,它倾向于意外地向过多管道授予访问资源的权限。

若要提升默认选择,Azure DevOps 现在将保留未选中检查框。

New Generic Service Connection for Changes to Approvals

改进了从分支 GitHub 存储库生成拉取请求时的安全性

可以使用 Azure DevOps 生成和测试公共 GitHub 存储库。 使用公共 GitHub 存储库可以与世界各地的开发人员协作,但存在与从分叉存储库生成拉取请求(PR)相关的安全问题。

为了防止 PR 分叉 GitHub 存储库对存储库进行意外更改,Azure DevOps 现在将 GitHub 访问令牌限制为具有只读作用域。

Macos 最新标签将指向 macos-12 图像

macos-12 Monterey 映像已准备好成为 Azure Pipelines Microsoft 托管代理中“macos-latest”标签的默认版本。 到目前为止,这个标签指向 macos-11 Big Sur 代理。

有关 macos-12 和 macos-11 之间的差异的完整列表,请访问 GitHub 问题。 有关映像上安装的软件的完整列表,请在此处检查

Ubuntu 最新标签将指向 ubuntu-22.04 映像

ubuntu-22.04 映像已准备好成为 Azure Pipelines Microsoft 托管代理中 ubuntu 最新标签的默认版本。 到目前为止,此标签指向 ubuntu-20.04 代理。

有关 ubuntu-22.04 和 ubuntu-20.04 之间的差异的完整列表,请访问 GitHub 问题。 有关映像上安装的软件的完整列表,请在此处检查

后续步骤

注意

这些功能将在未来两到三周内推出。

前往 Azure DevOps 并了解一下。

如何提供反馈

我们很想听听你对这些功能的看法。 使用帮助菜单报告问题或提供建议。

Make a suggestion

你还可以在 Stack Overflow 上获得社区的建议和问题的答案。

此致

Vijay Machiraju