用于安全授权的DevSecOps


什么是DevSecOps?DevSecOps指的是开发,安全和运营团队与他们的项目携手合作的战略,而不是安全部分自己独立孤立地工作。DevSecOps的每个组件 - 开发,安全和操作 - 都要集成到其组件的流程中。例如,就安全性而言,DevOps应该是安全过程生命周期的一部分。 
如果我们要将DevOps应用于安全性,我们必须将安全性视为代码。在本文中,我们将回顾如何通过将授权策略视为代码,我们可以有效地将授权带入DevSecOps的策略。  

集中和外部访问控制
为了实现DevSecOps策略所要求的敏捷性和响应性,访问控制必须从应用程序开始集中和外部化,类似于可扩展访问控制标记语言(XACML)中描述的内容。集中和外部化授权也使组织更安全 ,因为安全策略位于一个地方而不是融入每个应用程序。这意味着我们必须审查一组政策而不是几套政策! 
现代趋势是微服务。一个常见的问题是微服务实施授权而不遵循单一责任原则。单片和微服务应用程序都需要外部化和集中授权。

政策的版本控制
为了将安全性视为代码,我们需要应用版本控制我们的授权策略。在我们的策略中使用版本控制的好处包括:

  • 如果新版本遇到问题,则可以回滚到先前的策略。
  • 在开发,QA和生产中正确部署策略。
  • 要在安全策略团队中进行有效协作,您可以比较策略,识别差异并根据需要合并更改。

我们可以看到,使用版本控制的好处相当于更灵活和响应,这是DevSecOps的基石。 

自动化
通过将授权软件外部化和集中式,可与Jenkins等自动化服务器集成,我们可以实现自动化:

  • 从我们的版本控制系统部署策略,例如Git。
  • 验收测试可确保关键授权错误不属于新策略的一部分。 

结论​​​​​​​
遵循我们今天在此讨论的DevSecOps原则,我们可以极大地提高授权的效率和响应能力。实施这些变更的好处可以带来更安全的组织。 

​​​​​​​