SEC11-BP05 集中管理服务,方便获取软件包和依赖项 - 安全支柱

SEC11-BP05 集中管理服务,方便获取软件包和依赖项

提供集中式服务,方便您的团队获取软件包和其它依赖项。通过采取这种做法,可以在将软件包纳入所编写的软件之前,对软件包进行验证;另外,还可以为分析贵组织所使用的软件提供数据来源。

期望结果:除了您编写的代码之外,还可以使用外部软件包来构建工作负载。这使您更容易实现重复使用的功能,例如 JSON 解析器或加密库。您将这些软件包和依赖项的来源集中在一起,以便安全团队可以在使用软件包和依赖项之前对其来源进行验证。您将此方法与手动和自动测试流程结合使用,来增强对所开发软件的质量的信心。

常见反模式:

  • 您从互联网上的任意存储库中提取软件包。

  • 您在将新软件包提供给构建者之前,未对其进行测试。

建立此最佳实践的好处:

  • 更好地了解正在构建的软件中使用了哪些软件包。

  • 了解谁使用了哪些软件包后,在需要更新软件包时,能够向工作负载团队发出通知。

  • 降低软件中存在问题软件包的风险。

在未建立这种最佳实践的情况下暴露的风险等级:

实施指导

以构建者易于使用的方式为软件包和依赖项提供集中管理服务。集中管理服务可以在逻辑上集中,而不用作为一个整体系统来实施。利用此方法,您可以通过满足构建者需求的方法来提供服务。您应该实施一种有效的方法:在发生更新或出现新需求时将软件包添加到存储库。AWS CodeArtifact 等 AWS 服务或类似的 AWS 合作伙伴解决方案提供了一种实现此功能的方法。

实施步骤

  • 实施可在用于开发软件的所有环境中使用的逻辑集中式存储库服务。

  • 在 AWS 账户 分配过程中包括对存储库的访问权限。

  • 构建自动化以在存储库中发布软件包之前对其进行测试。

  • 维护最常用软件包、语言和更改量最大的团队的指标。

  • 为构建者团队提供一种自动化机制来请求新软件包和提供反馈。

  • 定期扫描存储库中的软件包,以确定新发现的问题的潜在影响。

资源

相关最佳实践:

相关文档:

相关示例:

相关视频: