企业python包管理的常见方法有哪些?在我的职业生涯中,我遇到过处于风险偏好较低级别的组织,这些组织经常为开发人员创造治理限制。
一些组织犹豫是否允许开发人员自由访问pypi python包并将其合并到他们的代码库或生产环境中;审查";在正确的位置在这种情况下,最好的策略是什么来确保没有恶意软件包被合并到代码库中?
大公司通常倾向于定义需要在开发团队中实施的策略。有时,策略定义了要实施的确切安全措施,因此在采取行动之前必须了解策略和要求。
话虽如此,我记得曾见过项目和客户使用以下内容:
- Excel文件中允许和不允许的库的列表。如果清单上有什么东西,那没关系。如果有些东西不是,要么不要使用,要么去找更高级别的架构师来包含库。如果您使用的库不在生产代码的列表中,那么您就不符合要求,需要进行修复。(我知道,这种软方法听起来像是一场灾难,但在实践中并非如此。通常开发人员倾向于使用库,因为它们节省了时间并提供了功能,而不是因为他们愿意让雇主被黑客入侵,所以处理小的不符合项往往比你下面看到的花费更少的时间(
- 创建一个仅包含允许的库的存储库。让开发团队只使用存储库。这是1的限制性更强的版本。缺点是它需要大量而快速地维护,因此它包含了所有最新的库版本。我不是python的专家,但对我来说,这看起来相当容易:https://packaging.python.org/guides/hosting-your-own-index/.你可以通过一个Apache实例和一点脚本来管理它
第2点的好处是,公司通常已经有了某种缓存代理。我记得其中一家公司是如何被Maven禁止的,因为开发人员一直在用未缓存的请求扼杀存储库。因此,应该已经有一些东西可以作为解决方案的基础。