GitHub 高级安全性和托管标识和服务主体对 Azure DevOps 的支持现已正式发布

我们很高兴地 宣布,GitHub 高级安全性和 托管标识和服务主体对 Azure DevOps 的支持现已正式发布!

在 GitHub 高级安全性上,我们还改进了代码扫描,以在 CodeQL Initialize 任务中包含所有用户提供的输入。 此外,我们扩展了 CodeQL 支持以包括 Swift。

在 Boards 中,我们将以个人预览版发布团队自动化规则。 现在,可以配置每个积压工作级别,以基于其子项的状态自动打开和关闭/解析工作项。 如果你有兴趣注册个人预览版,请查看发行说明。

转到下面的功能列表,了解这些功能的移动。

常规

适用于 Azure DevOps 的 GitHub Advanced Security

Azure Boards

Azure Pipelines

常规

Azure DevOps 的托管标识和服务主体支持现已正式发布(正式版)

对 Azure DevOps 中 Microsoft Entra ID 托管标识和服务主体的支持现已正式发布(正式版)。

如今,许多应用程序集成方案依赖于个人访问令牌(PAT)来与 Azure DevOps 集成。 虽然易于使用,但 PAT 很容易泄露,这可能会导致恶意参与者以强大的用户身份进行身份验证。 为了防止不需要的访问,PAT 通常还需要通过定期凭据轮换进行耗时的维护。

现在可以让应用程序改用托管标识和服务主体通过 REST API 和客户端库与 Azure DevOps 集成。 此高度请求的功能为 Azure DevOps 客户提供更安全的 PAT 替代方法。 托管标识为在 Azure 资源上运行的应用程序提供获取 Azure AD 令牌的功能,而无需管理任何凭据。

可以在 Azure DevOps 中设置托管标识和服务主体,并为特定资产(项目、存储库、管道)授予权限,就像普通用户一样。 这样,使用托管标识或服务主体的应用程序就可以连接到 Azure DevOps,并像 PAT 那样代表自己执行操作,而不是代表用户执行操作。 现在,Teams 可以更好地统一管理其服务,而不是依赖任何个人来提供身份验证令牌。 在公开 博客文章公告功能文档中详细了解 GA 版本。

适用于 Microsoft 标识 OAuth 委派流应用的新的 Azure DevOps 范围

我们已在 Microsoft 标识平台上为委派的 OAuth 应用添加了新的 Azure DevOps 范围 ,也称为 Microsoft Entra ID OAuth 应用。 这些新范围将使应用开发人员能够明确宣布他们希望从用户请求哪些权限,以便执行应用职责。 此高度请求的功能允许应用开发人员仅从其用户请求其应用所需的权限。

以前,user_impersonation是唯一可供应用开发人员选择的范围。 此范围使应用能够完全访问所有 Azure DevOps API,这意味着它可以执行用户能够跨用户所属的所有组织执行的任何操作。 现在,有了更精细的范围可用,你可以轻松让应用仅请求和访问请求的范围授予他们访问权限的 API。

在我们的公共博客文章公告功能文档中详细了解这些新范围。

适用于 Azure DevOps 的 GitHub Advanced Security

对代码扫描(CodeQL)用户输入任务和变量的更改

现在,在 CodeQL Initialize 任务中指定了所有用户提供的输入,该任务负责配置 CodeQL 分析环境,该环境用于使用 CodeQL“AdvancedSecurity-Codeql-Init@1”进行代码分析。 有关为 Azure DevOps 配置 GitHub 高级安全性的详细信息,请参阅配置 Azure DevOps 的 GitHub 高级安全性文档

此外,用户输入优先于变量设置的任何值。 例如,如果在 CodeQL 初始化阶段将语言变量advancedsecurity.codeql.language: Java指定为输入,则会在 CodeQL 初始化阶段将语言指定为输入Language: cpp,cpp将替代语言的变量Java。 请确保正确配置输入。

设置代码扫描不再需要发布任务

以前,在配置代码扫描时,需要在 YAML 管道或经典管道中包含发布任务(AdvancedSecurity-Publish@1)。 通过此更新,我们消除了发布任务的需求,结果现在直接发布到分析任务中的高级安全服务(AdvancedSecurity-Codeql-Analyze@1)。

下面是代码扫描所需的任务。

Screenshot of required code scanning tasks.

有关详细信息,请参阅设置代码扫描 文档

CodeQL 代码扫描现在支持 Swift

我们正在扩展对 CodeQL 代码扫描的支持,以包括 Swift! 这意味着,面向 Apple 平台的 Swift 库和应用程序的开发人员现在可以利用我们的顶级代码安全分析。 我们的当前功能包括检测问题,例如路径注入、有风险的 Web 视图提取、各种加密滥用,以及其他形式的不安全处理或处理未筛选的用户数据。

Swift 现在是我们支持的编程语言名单的一部分,其中包括 C/C++、Java/Kotlin、JavaScript/TypeScript、Python、Ruby、C# 和 Go。 总共,这些语言使我们能够对代码执行近 400 个全面的检查,同时保持低误报率并确保高精度。

有关为存储库配置 GitHub 高级安全性的详细信息,请参阅为 Azure DevOps 配置 GitHub 高级安全性的 Azure DevOps 功能文档

Azure Boards

团队自动化规则 (个人预览版)

重要

自 2023 年 11 月 9 日起,我们不会将任何新组织纳入私人预览版。 我们得到了很好的反馈,只有几个小 bug 才能解决。 我们正在处理这些 bug,并将在接下来的几个短跑中向所有人发布该功能。

现在可以配置每个积压工作级别,以基于其子项的状态自动打开和关闭/解析工作项。 我们正尝试解决两个主要方案。

  1. 激活单个子项后,激活父项。

  2. 关闭所有子项后,关闭父项(或解析)。

若要启用这些设置,请单击团队的积压工作级别配置。 然后转到 “自动化 > 规则 ”选项卡,查看可应用于积压工作的两个不同的规则。 可以为每个积压工作级别(要求、功能、史诗)配置团队希望的工作方式。

Screenshots of Team Settings.

例如,当任何子任务设置为“活动”时,使父用户情景处于活动状态。 然后,完成所有任务后,将“用户情景”设置为“已关闭”。

Gif to demo Team automation rules.

如果你有兴趣注册个人预览版,请 向我们发送电子邮件 ,其中包含你的组织名称(dev.azure.com/{组织名称})。 请注意,我们将将组织数量限制为预览版。 我们希望让一些组织提供反馈,然后向 2-3 冲刺中的每个人发布反馈。

这些功能是根据此开发者社区建议票证确定优先级的。

注意

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

Azure Pipelines

管道日志现在包含资源利用率

Azure 管道日志现在可以捕获资源利用率指标,例如内存、CPU 使用率和可用磁盘空间。 这些日志还包括管道代理使用的资源和子进程(包括作业中运行的任务)。

Screenshot of logs including resources used by the pipeline.

如果怀疑管道作业可能遇到资源约束,请启用 详细日志 以将资源利用率信息注入管道日志。 这适用于独立于托管模型的任何代理。

Azure Pipelines 代理现在支持 Alpine Linux

Pipeline 代理 v3.227 现在支持 Alpine Linux 3.13 及更高版本。 Alpine Linux 是容器(基础)映像的热门产品。 可以在发布页上找到代理。 Alpine Linux 版本的代理具有前缀 vsts-agent-linux-musl ,例如 vsts-agent-linux-musl-x64-3.227.1.tar.gz

后续步骤

注意

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

前往 Azure DevOps 并了解一下。

如何提供反馈

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

Screenshot Make a suggestion.

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

此致

拉杰什·拉马穆尔蒂