Azure DevOps 中的擴充功能可增強功能和簡化工作流程,但某些擴充功能可能會因為高許可權範圍或未發佈的狀態而造成安全性弱點。 本文說明如何識別並管理高權限、管道裝飾器以及未發佈的擴展,以保護您的 Azure DevOps 組織免受潛在的安全漏洞或意外行為影響。
什麼是高權限範圍和高權限擴充功能?
高權限範圍
範圍一般會決定擴充功能可以存取哪些資源,以及允許在這些資源上執行的作業。 延伸模組可能會使用多個範圍。
至於定義為高許可權範圍的內容,這是過於寬鬆的範圍。
例如,高許可權範圍可以:
- 讀取、更新和刪除您的原始程式碼
- 讀取、寫入及管理您的身分識別和群組
- 建立、讀取、更新和刪除專案
如需範圍的完整清單,包括高許可權範圍,請參見 清單文件參考。
高許可權擴展
高許可權延伸模組會使用一或多個高許可權範圍。 由於高許可權延伸模組可以存取敏感性資源並執行重要作業,因此請務必仔細評估它們,以確保它們符合貴組織的安全性和作業標準。
牽涉到任何擴充功能,尤其是具有高許可權的擴充功能時,請考慮下列元素:
- 受信任的發行者:只有在信任其程式代碼和發行者時,才安裝及使用延伸模組
- 檢閱要求的範圍:確保這些要求的範圍是延伸模組功能所必需的
- 限制使用方式:只有在對工作流程至關重要時,才安裝高許可權擴充功能
評估在 Azure DevOps 擴充功能中使用高特權範疇
您的某些已安裝擴充功能可能因使用高權限範疇而被標記。 您可以在 [組織設定] 的 [延伸模組] 區段中檢查其狀態。
如果您信任其程式代碼及其發行者,建議您只安裝、更新或使用擴充功能。
Microsoft在每個新的和更新版本的擴充功能上執行病毒掃描;然而,這項功能只會在使用者介面中強調特定延伸模組是否使用高許可權範圍。 如需病毒掃描的詳細資訊,請參閱 發佈擴充套件。
管理具高特權範圍的擴充功能
如果您識別具有高許可權範圍的延伸模組,請評估延伸模組中呼叫的範圍是否對您的使用案例而言很重要。 如果擴充功能無法證明範圍合理,建議您不要安裝或使用擴充功能來保護 Azure DevOps 組織。
適用於 Azure DevOps 延伸模組的 Visual Studio Marketplace 提供與管理頁面上高許可權範圍中顯示的延伸模組類似的指示。 因此,您也可以在組織安裝擴充功能之前,先識別 Azure DevOps Visual Studio Marketplace 中標幟的高許可權範圍。
當您選取任何延伸模組,特別是具有高許可權範圍的擴充功能時,請批判性地思考延伸模組的功能是否合理地使用這些範圍。 只有在您信任出版商和擴充功能的程式碼時才進行安裝。
安全地使用管線裝飾器
管線裝飾專案 是私人延伸模組,可修改並增強組織內的所有管線,它們也會分類為高許可權延伸模組。 請謹慎使用管線裝飾擴充功能,且僅在信任其發布者及程式碼時才使用。
新增範圍的授權畫面截圖,包含管線裝飾器。
停止使用未發佈的擴充功能
除了高許可權延伸模組之外,延伸模組的系統管理頁面會以可視化方式指出延伸模組是否已由其發行者解除發佈。
當擴充功能由其發行者從 Visual Studio Marketplace 解除發佈時,通常會表示不再維護延伸模組。
停止使用未發布的擴充功能,請從您的 Azure DevOps 組織中卸載它們。
此外,透過 Azure DevOps Services REST API 7.2 版,字串字段 unpublished
現已可供使用。 此欄位可讓您以程式設計方式識別從 Visual Studio Marketplace 取消發佈的延伸模組。 例如,您可以建置自己的程式,以偵測和管理 Azure DevOps 組織內未發佈的延伸模組。