加强管道安全性的改进
通过此更新,我们将改进 Azure DevOps 中的安全性。 现在,可以在为 Azure 容器注册表创建 Docker 注册表服务连接时使用系统分配的托管标识。 此外,我们增强了代理池的访问管理,使你可以在 YAML 管道中指定资源的使用。 最后,我们将限制被分叉的公共 GitHub 存储库的 GitHub 访问令牌仅具有只读权限。
有关详细信息,请查看发行说明。
Azure Boards
Azure Pipelines
- 容器注册表服务连接现在可以使用 Azure 托管标识
- 与管道权限相关的审核日志事件
- 确保您的组织仅使用 YAML 管道
- 需要新的 PAT 范围来更新管道常规设置
- 代理池的精细访问权限管理
- 防止授予所有管道对受保护资源的访问权限
- 改进了从分支 GitHub 存储库生成拉取请求时的安全性
- Macos-latest 标签将指向 macos-12 映像
- Ubuntu-latest 标签将指向 ubuntu-22.04 映像
Azure Boards
复制注释链接
现在可以使用“复制链接”操作将链接复制到特定工作项注释。 然后,可以将该链接粘贴到另一个工作项注释或说明中。 单击后,将打开工作项,并突出显示批注。
此功能的优先级基于此社区建议票证。
注意
此功能仅适用于 新版板中心 预览版。
Azure Pipelines
容器注册表服务连接现在可以使用 Azure 托管标识
为 Azure 容器注册表创建 Docker 注册表服务连接时,可以使用系统分配的托管标识。 这样,就可以使用与自承载 Azure Pipelines 代理关联的托管标识访问 Azure 容器注册表,而无需管理凭据。
注意
用于访问 Azure 容器注册表的托管标识需要适当的 Azure 基于角色的访问控制 (RBAC) 分配,例如 AcrPull 或 AcrPush 角色。
与管道权限相关的审核日志事件
当你限制受保护资源(例如服务连接)的管道权限时,关联的审核事件日志现在正确地指出,资源对于该项目成功未经授权。
确保您的组织仅使用 YAML 管道
Azure DevOps 现在允许你通过禁用经典生成管道、经典发布管道、任务组和部署组来确保组织仅使用 YAML 管道。 现有经典管道将继续运行,并且能够编辑它们,但无法创建新管道。
通过启用相应的切换,可以在组织级别或项目级别禁用经典管道的创建。 可以在 项目/组织设置-> 管道-> 设置中找到切换。
切换状态默认处于关闭状态,需要管理员权限才能更改状态。 如果切换在组织级别处于打开状态,则所有项目都强制禁用该功能。 否则,每个项目都可以自由选择是否强制禁用。
强制禁用经典管道的创建时,与创建经典管道、任务组和部署组相关的 REST API 将失败。 创建 YAML 管道的 REST API 将正常工作。
现有组织可以选择禁用经典管道的创建。 对于新组织来说,目前采用选择加入的方式。
需要新的 PAT 范围来更新管道常规设置
调用常规设置 - 更新 REST API 现在需要范围为项目和团队 -> 读取和写入的 PAT。
代理池的精细访问权限管理
您可以使用代理池来指定和管理管道运行的计算机。
以前,如果使用了自定义代理池,则管理哪些管道可以访问该池是粗粒度的。 可以允许所有管道使用它,也可以要求每个管道请求权限。 遗憾的是,向代理池授予管道访问权限后,无法使用管道 UI 撤消该权限。
Azure Pipelines 现在为代理池提供精细的访问管理。 这种体验类似于管理服务连接的管道权限。
阻止向所有管道授予对受保护资源的访问权限
创建受保护的资源(如服务连接或环境)时,可以选择“向所有管道授予访问权限 复选框。 到目前为止,此选项默认已选中。
虽然这使得管道能够更轻松地使用新的受保护资源,但相反,它倾向于意外地向过多管道授予访问资源的权限。
为了促进安全为本的默认选择,Azure DevOps 现在不勾选复选框。
改进了从分支 GitHub 存储库生成拉取请求时的安全性
可以使用 Azure DevOps 生成和测试公共 GitHub 存储库。 借助公共 GitHub 存储库,你可以与世界各地的开发人员协作,但附带了与从分叉存储库生成拉取请求(PR)相关的
为了防止来自分支 GitHub 存储库的 PR 对你的存储库进行不必要的更改,Azure DevOps 现在将 GitHub 访问令牌限制为只读范围。
Macos-latest 标签将指向 macos-12 映像
macos-12 Monterey 映像已准备好成为 Azure Pipelines Microsoft 托管代理中“macos-latest”标签的默认版本。 到目前为止,该标签指向 macos-11 Big Sur 代理。
有关 macos-12 和 macos-11 之间差异的完整列表,请访问 GitHub 问题。 有关映像上安装的软件的完整列表,请查看此处。
Ubuntu-latest 标签将指向 ubuntu-22.04 映像
ubuntu-22.04 映像已准备好成为 Azure Pipelines Microsoft 托管代理中 ubuntu-latest 标签的默认版本。 到目前为止,此标签指向 ubuntu-20.04 代理。
有关 ubuntu-22.04 和 ubuntu-20.04 之间的差异的完整列表,请访问 GitHub 问题。 有关映像上安装的软件的完整列表,请查看此处。
后续步骤
注意
这些功能将在未来两到三周内推出。
去 Azure DevOps 看一看。
如何提供反馈
我们很乐意听到你对这些功能的看法。 使用帮助菜单报告问题或提供建议。
还可以在 Stack Overflow上得到社区的建议和解答您的问题。
谢谢
Vijay Machiraju