在云原生应用程序体系结构中需要重塑策略和授权的三种趋势

2019-12-19 14:32:23 浏览数 (1)

应用程序开发市场正在转向容器化的“云原生”应用程序架构,而不是单片应用程序。现在也是制定政策和授权的时候了,以提供所有现代安全策略的基础。

当许多组织制定2020年及以后的计划时,看到的世界将比以往任何时候都更加复杂。对于软件开发人员而言,向微服务的转变意味着一天要发布多个版本,并且不断添加新代码。对于企业而言,这意味着可以极大地加快产品上市时间,而应用程序和更新的发布只需数小时,而不是数月。对于消费者而言,这意味着可能暴露其个人数据面临的风险日益增加。在这个快速发展的新世界,企业必须继续提高效率,同时还要降低风险,并减少错误。那么其唯一的答案是什么?自动化授权或策略即代码。

应用程序开发市场正在转向容器化的“云原生”应用程序架构,而不是单片应用程序。现在也是制定政策和授权的时候了,以提供所有现代安全策略的基础,无论是企业更喜欢将其称为零信任、Gartner公司的CARTA还是谷歌的BeyondCorp,为了管理新应用程序开发世界的运营、安全和合规风险,需要对授权进行重新设计。

事实上,随着当今自动化、GitOps和容器化趋势所产生的“一切即代码”的心态,在基础设施本身中构建策略势在必行。“策略即代码”解决方案对于Kubernetes、持续集成和持续交付(CICD)、数据库、API、servicemesh、应用程序、云平台等至关重要。当基础设施本身(应用程序组件)由策略控制和管理时,它们只能做正确的事情。企业的最佳实践无法再适应这些新环境的速度和广度。只有在环境本身中执行的自动化策略才能真正降低操作、安全和法规遵从性风险。

例如,使用将策略定义为代码的授权规则,DevOps团队可以确保只有已批准的工作负载才能在生产中运行;只有特定的服务才能基于当前场景访问其他服务;只有特定的数据才能在给定的数据库和给定的服务之间移动;每次部署新工作负载时,都会有特定的安全配置。这样的策略不能应用于应用程序的外部;也不应该硬编码为不同的应用程序组件本身。与其相反,它们必须在应用程序基础结构中应用,使用公共框架和语言,与服务分离,但必须集成且足够接近才能有效并满足性能要求。即代码的声明性策略可以提供这些必要的保护。

以下是导致出现这一拐点的三个宏观趋势:

(1)开源和微服务改变了应用程序开发

正如计算、网络、存储和监控必须发展以适应现代应用程序的需求一样,策略和授权服务也必须发展。在刚刚过去的两年里,云原生应用程序堆栈和微服务架构已经正式进入企业。部署已从简单的探索转向全面的生产。开源项目是这一转变的关键,由同行评审的社区的创新、迭代和强化推动。这一全球群体所创造的技术,包括Docker、Mission、Istio和Prometheus,对当今的企业至关重要。当然,Kubernetes是现代应用程序部署的必备组件。

根据设计,这种新的微服务堆栈是高度动态的、短暂的和分离的。原有的策略和授权方法不足以应对新的规模、速度和复杂性挑战。一种新的声明性系统是唯一的方法,在该系统中,可以在应用程序代码之外定义策略,但可以将其与整个堆栈中的API集成在一起以执行。如果做得好,那么轻量级的但无处不在的策略层可以确保正确的访问级别、正确的工作负载类型以及正确的配置,以便只允许可能发生的事情,而不担心其他事情。

(2)安全性以预防为主

如今,绝大多数企业实际上已经成为软件企业。无论产品是什么,基于云计算的订购、营销和社区应用程序越来越成为基本的构建基块。同时,软件开发过程也正在发生重大变化。企业正在尽可能地使流程自动化,从而导致从每年仅几个版本过渡到每天多个版本。其驱动因素是提高开发人员的效率和专注力。其结果是获得竞争优势,并加快上市时间。

当今的云原生架构世界要求将安全性转换为按策略编码,并加入当今的GitOps工作流程。这使DevOps团队可以与开发管道中的所有其他代码和配置更改一起创建、查看和声明满足所有合规性要求的策略。无论是满足内部合规性需求还是更广泛的行业合规性,例如用于信用卡处理的PCI法规或医疗领域的HIPAA法规,围绕单片应用程序堆栈的“黑盒”安全解决方案时代已经结束。安全必须遵循新的云原生模型,才能进行部署、测试和审核。

DevOps团队还希望确保高水平的自动化、测试和可靠性,以确保交付速度不会带来额外的风险。为了减轻这种风险,安全性是“向左移动”的,在这个周期的早些时候得到了解决。其目标是着重于预防问题,而不是发现问题。应用程序开发人员对安全和运营负有更多责任,应对IT安全和运营团队先前处理的任务负责。当务之急是在周期的早期编纂和实施安全与运营政策。将安全性转换为按策略编码可以使DevOps团队确保策略符合合规性要求,并且可以实时执行。

(3)数据政策标准越来越严格

数据泄露一直在发生。企业和消费者都越来越意识到对其隐私的威胁以及对其保护的需求。美国方面,将于2020年1月生效的《加利福尼亚消费者隐私法案》(CCPA)正在启动,以帮助个人控制其个人信息。同样,于2018年实施的欧洲通用数据保护条例(GCPR)用于保护个人数据。这些可能是目前公认的最广泛的保护措施,但还有几十项正在进行中。

发生数据泄露时,通常是因为策略执行失败。DevOps团队需要能够证明安全性,显示策略的实施方式,向审核和安全团队明确表示已经实施了数据保护,并且在需要的地方阻止了访问。谁有权访问私人数据?策略定义了这种访问权限,但是无法执行该策略通常是人为错误的直接结果。有了自动护栏,现代应用程序就更有可能既安全又合规,通过消除无法预料的结果的可能性,并限制对非常有限和可控制的可能性的访问。

简而言之,人类无法跟上这种发展。静态策略无法解决问题。事情可能以各种方式出错,但主要只有几种方式。云原生的范围只会使这些问题复杂化,而唯一的解决方法就是将策略作为代码。但是,审核员和IT安全/合规团队并不是编程人员,与审核员一起研究代码如何解决策略是浪费时间,并且与Kubernetes的速度和自动化直接冲突。当人们过渡到新的即代码解决方案以实现新堆栈中的安全性时,简单的监视、验证以及证明策略能够达到预期效果的能力将至关重要。

结语

随着创新的速度和自动化带来的日益复杂性,现在到了网络安全的关键时刻。为了帮助开发人员更快地发展新世界并改善他们的安全状况,Adobe、Atlassian、CapitalOne、Chef、Google、Microsoft、Goldman Sachs、Cisco和Styra等公司目前正在为整个策略和授权支持事实上的标准新的应用程序开发堆栈,即开源项目Open Policy Agent(OPA)。OPA为云原生环境提供基于策略的控制,从而为管理员提供了整个堆栈的灵活、细粒度的控制。OPA之类的工具为云原生,高度自动化的世界提供了必要的框架。开源社区正在响应云原生应用程序体系结构中策略和授权的趋势,并采取措施使企业和消费者的部署更加安全。

版权声明:本文为企业网D1Net编译,转载需注明出处为:企业网D1Net,如果不注明出处,企业网D1Net将保留追究其法律责任的权利。

0 人点赞