SEC11-BP05 集中化套件和相依性的服務 - AWS Well-Architected 架構

SEC11-BP05 集中化套件和相依性的服務

提供可讓建置人員團隊取得軟體套件和其他相依性的集中化服務。這樣套件就能先接受驗證,再納入編寫的軟體,並提供在您的組織中被使用的軟體分析的資料來源。

預期成果: 軟體由一組其他軟體套件,加上原先所寫程式碼共同組成。因此取用重複使用的實作功能變得很簡單,例如 JSON 剖析器或加密程式庫。依照邏輯方式集中這些套件與相依性的來源,可以為安全團隊提供先驗證過套件再提供使用的機制。這個方法也能減少由於現有套件變更或直接由建置人員團隊從網際網路納入任意套件,而引發未預期的風險問題。使用這個方法再加上手動與自動測試流程,就能提高對於開發中軟體品質的信心。

常見的反模式:

  • 從網際網路的任意儲存庫中取出套件。

  • 新套件未經測試就提供給建置人員。

建立此最佳實務的優勢:

  • 更清楚了解哪些套件將用於建置中的軟體。

  • 可以在了解過實際使用情況而需要更新套件時通知工作負載團隊。

  • 降低在軟體中納入有問題套件的風險。

未建立此最佳實務時的風險暴露等級:

實作指引

提供可讓建置人員輕鬆取得的套件和其他相依性集中化服務。集中化服務可依照邏輯方式進行集中,而非實作成單一龐大的系統。這個方法可讓您用符合建置人員需求的方式提供服務。您應該實作一種能在發生更新或新需求萌生時,快速在儲存庫新增套件的方法。AWS 服務,例如 AWS CodeArtifact 或類似的 AWS 合作夥伴解決方案就能提供發揮這種能力的方法。

實作步驟:

  • 實作依照邏輯方式集中,而且各種軟體開發所在環境均可使用的儲存庫服務。

  • 將儲存庫的存取作業納入 AWS 帳戶 銷售程序。

  • 建置自動化測試流程,在將套件發行至儲存庫之前先進行測試。

  • 維護最常使用的套件、語言,以及變更程度最高團隊的規格表。

  • 提供可讓建置人員團隊自動要求新套件與提供意見回饋的機制。

  • 定期掃描儲存庫中的套件,識別最近所找到問題的潛在影響。

資源

相關的最佳實務:

相關文件:

相關影片:

相關範例: