分享方式:


DevOps 平臺的安全性考慮

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

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

限制對 DevOps 工具的存取

透過 Microsoft Entra ID 使用角色型存取控制 (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 管理員istrator 角色。

使用 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 工作區的稽核串流 ,或建立 Microsoft Sentinel 之類的 安全性資訊和事件管理 (SIEM) 系統。