關閉進階安全性中的相依性掃描警示
進階安全性中的相依性掃描會偵測原始程式碼中使用的 開放原始碼元件,並識別是否有任何相關聯的弱點。 開放原始碼元件中發現的任何弱點會標示為警示。 透過此更新,您可以在進階安全性中關閉相依性掃描警示,認為這是誤判或可接受的風險。
在 Azure Repos 中,我們已變更預設行為,以在建立新分支時移除「編輯原則」許可權。
請參閱版本資訊,以深入了解這些功能。
適用於 Azure DevOps 的 GitHub Advanced Security
Azure Boards
Azure Pipelines
Azure Repos
一般
將進階安全性中相依性掃描警示的警示關閉
您現在可以關閉您認為為誤判或可接受的任何相依性掃描警示。 這些是您目前可以使用之進階安全性中秘密掃描和程式代碼掃描警示的相同關閉選項。
請注意,您可能需要使用相依性掃描工作重新執行偵測管線,並確保您有 Advanced Security: dismiss alerts
許可權才能關閉這些警示。
若要深入瞭解警示關閉,請參閱 關閉相依性掃描警示。
Azure Boards
將連結複製到工作專案
我們做了一些改進,從 Azure Boards 中的數個區域複製工作專案 URL。 更輕鬆地取得特定工作專案的直接連結。
複製連結 已新增至工作項目表單、待辦專案和工作待辦專案的內容功能表。
注意
這項功能僅適用於 New Boards Hubs 預覽版。
Azure Pipelines
Kubernetes 工作現在支援 kubelogin
我們已更新 KuberentesManifest@1、 HelmDeploy@0、 Kubernetes@1 和 AzureFunctionOnKubernetes@1 工作以支援 kubelogin。 這可讓您將目標 Azure Kubernetes Service (AKS) 設定 Azure Active Directory 整合。
Kubelogin 未預安裝在託管映像上。 若要確定上述工作使用 kubelogin,請在相依的工作之前插入 KubeloginInstaller@0 工作來安裝它:
- task: KubeloginInstaller@0
- task: HelmDeploy@0
# arguments do not need to be modified to use kubelogin
核准 REST API 的改善
核准可讓您 手動檢閱部署至生產環境,藉以增加 YAML 管線的安全性。 我們已更新 核准查詢 REST API ,使其更強大。 現在,您:
- 不需要指定的清單
approvalId
。 所有參數現在都是選擇性的。 - 可以指定 清單
userId
,以擷取這些使用者擱置的核准清單。 目前,REST API 會傳回用戶明確指派為核准者的核准清單。 - 可以指定要
state
傳回之核准的 ,例如pending
。
以下是範例: GET https://dev.azure.com/fabrikamfiber/fabrikam-chat/_apis/pipelines/approvals?api-version=7.1-preview.1&userId=00aa00aa-bb11-cc22-dd33-44ee44ee44ee&state=pending
傳回
{
"count": 2,
"value":
[
{
"id": "87436c03-69a3-42c7-b5c2-6abfe049ee4c",
"steps": [],
"status": "pending",
"createdOn": "2023-06-27T13:58:07.417Z",
"lastModifiedOn": "2023-06-27T13:58:07.4164237Z",
"executionOrder": "anyOrder",
"minRequiredApprovers": 1,
"blockedApprovers": [],
"_links":
{
"self":
{
"href": "https://dev.azure.com/fabrikamfiber/fabricam-chat/_apis/pipelines/approvals/87436c03-69a3-42c7-b5c2-6abfe049ee4c"
}
}
},
{
"id": "2549baca-104c-4a6f-b05f-bdc4065a53b7",
"steps": [],
"status": "pending",
"createdOn": "2023-06-27T13:58:07.417Z",
"lastModifiedOn": "2023-06-27T13:58:07.4164237Z",
"executionOrder": "anyOrder",
"minRequiredApprovers": 1,
"blockedApprovers": [],
"_links":
{
"self":
{
"href": "https://dev.azure.com/fabrikamfiber/fabricam-chat/_apis/pipelines/approvals/2549baca-104c-4a6f-b05f-bdc4065a53b7"
}
}
}
]
}
停用檢查
我們讓偵錯檢查不那麼乏味。 有時候,「叫用 Azure 函式」或「叫用 REST API」檢查無法正常運作,而且您需要修正它。 之前,您必須刪除這類檢查,以防止它們錯誤地封鎖部署。 修正檢查之後,您必須將它加回並正確設定,確定已設定所有必要的標頭,或查詢參數正確無誤。 這是乏味的。
現在,您可以只停用檢查。 停用的檢查將不會在後續的檢查套件評估中執行。
修正錯誤檢查之後,您可以只啟用它。
YAML cron 排程的更新
在 YAML 管線中,您可以使用 YAML 屬性來定義已排程的cron
觸發程式。
我們已更新 batch
屬性的運作方式。 簡單地說,如果將 batch
設定為 true
,則如果正在進行另一個排程的管線執行,cron 排程便不會執行。 這不論管線存放庫的版本為何。
下表描述和batch
互動方式always
。
永遠 | Batch | 行為 |
---|---|---|
false |
false |
只有在上次成功排程的管線執行有所變更時,才會執行管線 |
false |
true |
只有在上次成功的排程管線執行 有變更,且 沒有進行中的排程管線執行時,管線才會執行 |
true |
false |
根據cron排程執行的管線 |
true |
true |
根據cron排程執行的管線 |
例如,假設 always: false
和 batch: true
。 假設有cron排程,指定管線應該每隔5分鐘執行一次。 假設有新的認可。 在 5 分鐘內,管線會啟動其排程的執行。 假設管線執行需要 30 分鐘才能完成。 在這 30 分鐘內,不論認可數目為何,都不會執行任何排程的執行。 下一個排程的執行只會 在目前的排程執行完成之後 執行。
您的 YAML 管線可能包含多個 cron 排程,而且您可能希望管線根據 Cron 排程執行的不同階段/作業。 例如,您有一個夜間建置和每周建置,而且您希望在每周建置期間,您的管線會收集更多統計數據。
我們藉由引進名為 Build.CronSchedule.DisplayName
的新預先定義系統變數, displayName
其中包含cron排程的屬性,來達成此情況。
新切換以控制傳統管線的建立
去年,我們推出了 Pipelines 組態設定,以 停用建立傳統組建和發行管線。
為了回應您的意見反應,我們已將初始切換分成兩個:一個用於傳統 組建 管線,另一個用於傳統 發行 管線、部署群組和工作組。
如果您的組織已 Disable creation of classic build and release pipelines
開啟切換,則這兩個新切換都開啟。 如果原始切換關閉,則會關閉這兩個新的切換。
Azure Repos
拿掉分支建立者的「編輯原則」許可權
先前,當您建立新的分支時,我們獲授與編輯該分支上原則的許可權。 透過 此更新,我們會將預設行為變更為不授與此權限,即使存放庫的 [權限管理] 設定已開啟也一樣。
您必須透過安全性權限繼承或群組成員資格,手動或透過 REST API 明確授與「編輯原則」權限。
下一步
注意
這些功能將在未來兩到三周內推出。
前往 Azure DevOps 並查看。
如何提供意見反應
我們很樂意聽到您對於這些功能的看法。 使用說明功能表來回報問題或提供建議。
您也可以在 Stack Overflow 上的社群取得建議和您的問題。
感謝您!
Silviu Andrica