共用方式為


DevOps 平臺的安全性考慮

安全性應一律是雲端式開發平臺的優先順序,例如 Azure DevOpsGitHub。 Microsoft更新並維護基礎雲端基礎結構的安全性,但您必須檢閱及設定您自己的 Azure DevOps 組織和 GitHub 實例的安全性最佳做法。

無論您透過基礎結構部署環境作為持續整合和持續部署 (CI/CD) 管線中的程式碼,或將程式代碼部署至裝載於 Azure 中的應用程式,請考慮下列重要安全性領域。

限制對 DevOps 工具的存取

透過 Microsoft Entra 識別符,使用角色型訪問控制 (RBAC) 遵循最低許可權原則。 為使用者和服務提供他們執行其商務功能所需的最低 DevOps 平臺存取量。 如需詳細資訊,請參閱下列文章:

建立Microsoft Entra標識符作為身分識別管理平面之後,請遵循最佳做法,以 使用 Microsoft Entra 群組成員資格來管理 Azure DevOps 角色指派。 您可以將 Azure DevOps 角色指派給 Microsoft Entra 群組,並調整使用者的 Microsoft Entra 成員資格來變更或移除其 Azure DevOps 存取權。

  • 使用Microsoft Entra ID 權利管理 來建立存取套件,以允許Microsoft Entra 使用者對必要資源進行時間限制存取,以完成其工作。

  • 您也可以使用Microsoft Entra Privileged Identity Management 進行 Just-In-Time 存取,將個人提升至 Azure DevOps Administrator 角色一段時間。

使用 Azure DevOps 組織、專案或物件層級的安全組、原則和設定來管理 Azure DevOps 中的安全性。 請考慮盡可能在 Azure DevOps 中停用許可權繼承。

限制存放庫和分支存取

限制存放庫存取、許可權和分支建立,以保護您的程式代碼和環境免於遭受不想要或惡意的變更。 在 Azure DevOps 中使用安全組來限制對存放庫 的存取。 藉由設定 分支許可權來限制誰可以讀取和更新分支中的程序代碼。

限制管線存取和許可權

惡意代碼可能會竊取企業數據和秘密,以及損毀的生產環境。 實作防護措施,以防止管線中的惡意代碼部署。 藉由限制存取和實作護欄,您也可以防止從任何遭入侵的管線橫向暴露至其他專案、管線和存放庫。

請考慮遵循累加方法來保護您的 YAML 管線。 如需詳細資訊,請參閱 規劃如何保護您的 YAML 管線

根據安全性需求選取 DevOps 代理程式

您可以使用Microsoft裝載或自我裝載的代理程式來提供 Azure DevOps 和 GitHub 管線。 每種代理程式類型都有取捨。

使用Microsoft裝載的代理程式,您不需要擔心升級或維護。 透過自我裝載的代理程式,您可以有更大的彈性來實作安全性防護。 您可以控制代理程式硬體、作業系統和已安裝的工具。

請參閱 Azure Pipelines 代理程式,以檢閱代理程式 類型之間的差異,並找出潛在的安全性考慮。

使用安全且有範圍的服務連線

盡可能使用 服務連線 在 Azure 環境中部署基礎結構或應用程式程式代碼。 服務連線應具有特定 Azure 資源或資源群組的有限部署存取權,以減少任何潛在的受攻擊面。 此外,請考慮為開發、測試、QA 和生產環境建立個別的服務連線。

使用秘密存放區

永遠不要在存放庫中的程式碼或輔助檔中硬式程式代碼秘密。 敵人會掃描存放庫,搜尋公開的機密數據以惡意探索。 設定 Azure 金鑰保存庫 之類的秘密存放區,並參考 Azure Pipelines 中的存放區,以安全地擷取密鑰、秘密或憑證。 如需詳細資訊,請參閱 保護管線和 CI/CD 工作流程。 您也可以在 GitHub Actions 工作流程中使用 金鑰保存庫 秘密。

使用強化的DevOps工作站來建置和部署程式代碼

平台和開發小組通常會在 Azure 平臺上或 Azure DevOps 和 GitHub 等其他服務上提高許可權。 此存取可大幅增加潛在的受攻擊面。 實作護欄來保護您用來開發和部署程式代碼的任何端點和工作站。

使用強化 的安全系統管理工作站 (SAWs) 將任何變更部署至高風險和生產環境。 如需詳細資訊,請參閱使用 零信任 保護端點。

進行安全性掃描和測試

無論您是將應用程式程式代碼或基礎結構部署為程式代碼,請在管線中實 作DevSecOps最佳做法和控制件 。 在 CI/CD 旅程中早期整合安全性,以避免稍後發生成本高昂的安全性缺口。 建立策略,以在管線中實作靜態程序代碼分析、單元測試、秘密掃描和套件/相依性掃描。

適用於雲端的 Microsoft Defender 等企業安全性工具可以與 DevOps 工具整合。 例如,適用於雲端的 Defender 可以在 CI/CD 工作流程中識別易受攻擊的容器映像。 針對 GitHub Actions 和存放庫,使用 GitHub 進階安全性 進行程式代碼和秘密掃描和相依性檢閱。

定期檢閱稽核事件,以監視和響應系統管理員和其他使用者的非預期使用模式。 您可以 存取、篩選和匯出 Azure DevOps 組織的稽核記錄 。 針對長期記憶體和詳細的記錄查詢,請建立 Azure 監視器 Log Analytics 工作區的稽核串流,或建立安全性資訊和事件管理 (SIEM) 系統,例如 Microsoft Sentinel