1.概述
什么是DevSecOps? DevSecOps是指开发,安全和运营团队在其项目中携手合作而不是孤立工作的策略。 DevSecOps的每个组件(开发,安全性和操作)都应集成到其其他组件的流程中。 例如,就安全性而言,DevOps应该成为安全性程序生命周期的一部分。
如果要将DevOps应用于安全性,则必须将安全性视为code 。 在本文中,我们将回顾如何通过将授权策略视为代码来将授权有效地纳入DevSecOps策略。
2.集中化和外部化访问控制
为了实践DevSecOps策略要求的敏捷性和响应能力,访问控制必须从应用程序集中和外部化,类似于可扩展访问控制标记语言(XACML)中所述 。 集中化和外部化授权也使组织更安全 ,因为安全策略位于一个地方,而不是嵌入到每个应用程序中。 这意味着我们必须审查一套政策,而不是几套!
微服务是现代趋势。 一个常见的问题是微服务实现授权并且不遵循单一责任的原则。 单片和微服务应用程序都需要外部化和集中化其授权。
3.策略的版本控制
为了将安全性视为代码,我们需要应用版本控制我们的授权策略。 对我们的政策使用版本控制的好处包括:
- 如果新版本遇到问题,可以回滚到先前的策略。
- 在开发,质量检查和生产中正确部署策略。
- 为了在安全策略团队内部进行有效的协作,您可以比较策略,识别差异并视需要合并更改。
如我们所见,使用版本控制的好处在于提高了敏捷性和响应性,这是DevSecOps的基石。
4.自动化
通过将我们的外部集中化授权软件与Jenkins等自动化服务器集成,我们可以实现以下自动化:
- 从我们的版本控制系统(例如Git)中部署策略。
- 验收测试可确保关键授权错误不属于新策略。
5.结论
通过遵循我们今天在这里讨论的DevSecOps原则,我们可以大大提高授权的效率和响应速度。 实施这些更改的好处导致组织更加安全。
要阅读有关现代授权的更多信息,请查看我的文章基于谁创建资源和基于表达式的访问控制来 授权资源 。
翻译自: https://www.javacodegeeks.com/2019/01/devsecops-authorization.html