DevSecOps 能力模型協助工程組織評估其建置、安全、出貨及操作軟體的方式。 它幫助他們規劃出通往更成熟、安全且具韌性的道路。 該模型描述了跨越六個能力領域的旅程,每個領域經歷五個成熟階段。
利用這個模型了解你的團隊目前狀況,達成共識,並規劃逐步改變,幫助你達成目標。 這個模型是描述性的,而非規範性的。 其目的是建立產品、開發、安全與營運之間的共識,而非產生單一分數。
此模式與 Microsoft 安全未來倡議的目標一致。 大多數組織在不同能力領域處於不同階段。
六大能力領域
該模型將 DevSecOps 實務組織成六個能力領域。 它們涵蓋整個生命週期,從組織的領導與治理,到軟體的設計、建置、發布與運作。
- 組織與文化:領導力、資安思維、協作與團隊間持續改進。
- 標準與治理:安全計畫、政策與標準,以及工程系統的保護。
- 規劃與設計:安全設計實務、數據與洞見,以及技術架構與設計。
- 開發與測試:程式碼安全、開發加速器,以及整合與測試。
- 發布與部署:安全相依、安全發布及部署工作流程。
- 營運與監控:保護租戶與生產系統、監控與偵測威脅,以及事件回應與修復。
五個階段
每個技能領域都會經歷相同的五大成熟階段。 每個能力領域也會使用自己的階段名稱來描述該特定情境下的成熟度。
| 整體階段 | 外觀 |
|---|---|
| 特設 | 這些做法分散、手動且大多缺乏文件記錄。 結果因人而異。 |
| 起始 | 各個團隊開始在各自的範圍內推動一致性,並在發現缺口時加以解決。 |
| 指揮 | 診所集中且共享,團隊圍繞共同的方法與資源進行協調。 |
| 簡化 | 世界級的工具與實務減少了人工作業,讓安全路徑成為輕鬆的道路。 |
| 開創性 | 實務具有產業定義性、前瞻性,且持續領先需求。 |
策略性方法
組織可依其業務情境以不同方式運用能力模型。 有些團隊需要彈性,有些優化速度,另一些則優先考量合規與風險控管。
- 敏捷 DevSecOps:強調組織在建立、更新或統一 DevSecOps 實務時的彈性,同時在速度與實用標準間取得平衡。
- 加速 DevSecOps:強調速度,適合已建立實務且希望自動化、簡化及提升交付效率的組織。
- 安全優先的DevSecOps:強調合規與風險降低,適用於高度受管制或關鍵任務環境中的組織。
評估您目前的做法並設定未來的目標
利用這個模型,與實際執行工作的人員進行輕量自我評估。 目標是對當前現況有共同且坦誠的認知,並就未來方向達成共識。
從空白圖表開始
使用空白能力模型圖表來捕捉你目前的狀態和目標狀態。
使用詳細的參考圖表
討論各階段能力範圍時,請以詳細圖表作為參考。
標記你目前的狀態
針對每個能力領域,討論階段描述,並標示最能反映你目前實務的階段。
連接標記
將標記連結於六個區域,以視覺化你目前的個人檔案。
標示你的目標階段
標示你在規劃視野中每個能力領域想要達到的目標階段。
規劃漸進式變更
規劃循序漸進的變更。 一步一步推進,通常比試圖在各方面同時躍進更穩妥。
定期重新評估,以追蹤進度並調整目標,隨著組織與威脅環境的演變。
用引導性問題來設定優先順序
當你選擇下一步投資地點時,請用引導性問題聚焦於每個能力領域的對話。
- 組織與文化:我們要如何讓安全成為共同的責任與自豪感的來源,而不是流程後期由少數人把關的關卡?
- 標準與治理:我們如何建立明確且易於理解的標準,以保護工程系統而不拖慢團隊進度?
- 規劃與設計:我們如何讓安全設計成為規劃與架構的預設,並以數據與洞察為依據?
- 開發與測試:我們該如何將安全性移至左邊,讓問題在程式碼撰寫時就能被發現並修正,而不是在程式碼發佈後才解決?
- 發布與部署:我們如何讓發布從依賴到部署都安全、可重複且值得信賴?
- 營運與監控:我們如何偵測、抵抗並恢復對生產系統與租戶的威脅?
客戶檔案範例
以下範例展示了真實客戶檔案如何揭示能力領域間成熟度不均,並協助判斷下一步投資優先順序。