Azure DevOps 的 GitHub 進階安全性和受控識別和服務主體支援現已正式推出

我們很高興宣佈 Azure DevOps 的 GitHub 進階安全性 與受控識別和服務主體支援現已正式推出!

在 GitHub 進階安全性上,我們也改善了程式代碼掃描,以在 CodeQL 初始化工作中包含所有使用者提供的輸入。 此外,我們擴充 CodeQL 支援以包含 Swift。

在 Boards 中,我們會在私人預覽版中發行 Team Automation Rules。 現在,您可以設定每個待辦專案層級,根據其子系的狀態,將工作項目的開啟和關閉/解析自動化。 如果您想要註冊私人預覽版,請參閱版本資訊。

請前往下方的功能清單,以了解這些功能的移動。

一般

適用於 Azure DevOps 的 GitHub 進階安全性

Azure Boards

Azure Pipelines

一般

Azure DevOps 的受控識別和服務主體支援現已正式運作 (GA)

Azure DevOps 中 Microsoft Entra ID 受控識別和服務主體的支援現已達到正式運作(GA)。

現今,許多應用程式整合案例都依賴個人存取令牌 (PAT) 來與 Azure DevOps 整合。 雖然很容易使用,但 PAT 很容易洩漏,可能會讓惡意執行者以強大的使用者身分進行驗證。 為了防止不必要的存取,PAT 通常需要透過一般認證輪替進行耗時的維護。

您現在可以讓應用程式改用受控識別和服務主體,透過 REST API 和用戶端連結庫與 Azure DevOps 整合。 這項高度要求的功能為 Azure DevOps 客戶提供更安全的 PAT 替代方案。 受控識別可讓您讓在 Azure 資源上執行的應用程式取得 Azure AD 令牌,而不需要管理任何認證。

受控識別和服務主體可以在 Azure DevOps 中設定,並授與特定資產的許可權(專案、存放庫、管線),就像一般使用者一樣。 這可讓使用受控識別或服務主體的應用程式連線到 Azure DevOps,並代表自己執行動作,而不是代表使用者執行動作,就像 PAT 一樣。 Teams 現在可以更全面地管理其服務,而不是依賴任何個人來提供令牌來進行驗證。 在公開 部落格文章公告功能檔中深入瞭解 GA 版本。

適用於 Microsoft Identity OAuth 委派流程應用程式的新 Azure DevOps 範圍

我們已在 Microsoft 身分識別平臺上新增委派 OAuth 應用程式的新 Azure DevOps 範圍 ,也稱為 Microsoft Entra ID OAuth 應用程式。 這些新範圍可讓應用程式開發人員特別宣布他們希望向使用者要求哪些許可權,以執行應用程式職責。 這項高度要求的功能可讓應用程式開發人員僅向使用者要求其應用程式所需的許可權。

先前,user_impersonation是唯一可供應用程式開發人員選擇的範圍。 此範圍可讓應用程式完整存取所有 Azure DevOps API,這表示能夠對使用者所屬的所有組織執行任何動作。 現在,有了更細微的範圍可用,您可以輕鬆地讓應用程式只能要求和存取要求範圍已授與他們存取許可權的 API。

在我們的公開部落格文章公告功能檔中深入了解這些新範圍。

適用於 Azure DevOps 的 GitHub 進階安全性

程式代碼掃描 (CodeQL) 使用者輸入工作和變數的變更

所有使用者提供的輸入現在都會在 CodeQL 初始化工作中指定,負責設定 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 Boards

小組自動化規則 (私人預覽版)

重要

自 2023 年 11 月 9 日起,我們不會讓任何新組織進入私人預覽版。 我們只有幾個次要 Bug 有很好的意見反應,可加以解決。 我們正在處理這些 Bug,並將在未來幾個短期衝刺中將此功能發行給每個人。

您現在可以設定每個待辦專案層級,根據其子系的狀態自動開啟和關閉/解析工作專案。 我們正嘗試解決兩個主要案例。

  1. 當單一子項目啟動時,請啟動父代。

  2. 關閉所有子專案時,請關閉父專案(或加以解決)。

若要啟用這些設定,您可以按兩下小組的待辦專案層級設定。 然後移至 [ 自動化 > 規則] 索引標籤,以查看您可以套用至待辦專案兩個不同的規則。 每個待辦專案層級(需求、功能、Epics)都可以針對小組想要的運作方式進行設定。

Screenshots of Team Settings.

例如,當任何子工作設定為 [作用中] 時,請將父用戶劇本設為作用中。 然後,當所有工作完成時,請將 [用戶劇本] 設定為 [已關閉]。

Gif to demo Team automation rules.

如果您有興趣在私人預覽版中註冊,請 傳送電子郵件 給我們,其中包含您的組織名稱(dev.azure.com/{組織名稱})。 請了解我們將限制組織數目進入預覽狀態。 我們希望讓一些組織提供意見反應,然後在 2-3 短期衝刺內向所有人發佈。

這些功能會根據此 開發人員社群 建議票證來排定優先順序。

注意

這項功能僅適用於 New Boards Hubs 預覽版。

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 上的社群取得建議和您的問題。

感謝您!

拉傑什·拉馬穆爾西