作者:安德鲁-佐拉 2022年1月7日

原文发表于Magalix的博客,作者是Andrew Zola

在企业向云计算迁移的推动下,GitOps的采用正在上升。我们可以把它的日益普及归功于它在简化基础设施管理方面的效率。因此,云安全是与之相伴的一个重要组成部分。

虽然GitOps帮助企业加快交付和上市时间,但它也有助于提高持续集成(CI)和持续交付(CD)管道的安全性。它可以作为一个基础,开发人员在整个软件开发生命周期(SDLC)中识别和解决潜在的漏洞。

基础设施即代码(IaC)和GitOps一起实现了CI、CD、版本控制和协作。在这种情况下,DevOps团队将只与Git界面互动。所有的集成和部署都将完全自动化。

为什么GitOps如此重要?

当你在集中式存储库中管理应用程序、IaC和状态时,你可以将大量的IT操作自动化。这种方法减轻了开发人员的负担,因为它通过代码管理安全和合规性。

利用CI/CD管道和IaC的企业在实施前使用一系列线性测试和门槛来部署更新。它还补充了敏捷和DevOps协议和最佳实践。

在云环境中,如果应用流量突然增加,你可能会有一些性能问题,(当然)用户体验不佳。为了解决这个问题,你可以快速增加云原生应用程序的资源分配。

你可以定义特定的资源增量,并将这些变化推送到资源库中。无论何时,这些变化都会被其他开发者快速审查和验证,并被批准用于生产和部署。

这些类型的事件会初始化 Git 操作员,并触发 GitOps CI/CD 管道。Git操作者必须比较状态,将新的配置识别为状态变化,并自动协调底层基础设施以匹配所需状态。

然而,你必须监测潜在的故障,这些故障会自动生成并通知。在没有潜在问题的情况下,它将自动修改你的资源分配,以满足新的用户需求。如果它失败了,或者你最终出现了配置错误,你可以简单地回滚到以前的状态并重新开始。

例如,你可以利用GitOps来控制变化,并将其作为一个单一的真相来源来验证

更改是可审计的

版本控制可以跟踪已发送的内容,并允许你按需回滚。从提交历史中对评论、审查以及对你的仓库所做的决定进行审计跟踪。

配置为代码(CaC)

在Git上管理你所有的YAML文件,快速检查你是否符合安全策略。由于访问策略是在配置文件中声明的,你可以快速了解谁有访问权限,访问什么。

在Git上将生产与期望状态相匹配

作为一个单一的真理源,代码和基础设施变化的标准工作流程与漂移的自动警报提高了可靠性,并减少了人为错误的风险。在这种情况下,权限、安全扫描和测试有助于使你的更改更加安全和高度可靠,避免基础设施漂移。

在先进的GitOps环境中,你还可以对Git存储库进行修改,并通过标签自动应用到实时基础设施,以进行质量保证(QA)测试。

GitOps如何影响云安全?

几年前,早期采用GitOps的用户为他们的基础设施代码和应用程序代码维护了两个或更多独立的Git存储库。两个不同的团队经常管理这些。这种方法旨在限制风险半径,但最近,情况开始发生变化。

GitOps把几乎所有东西都视为代码的能力对安全有巨大影响。当所有的安全策略都被编码时,你可以很容易地在版本控制中持有一切。在这种情况下,所有的变化都会被修改并推送到一个自动化的管道中,进而验证、部署并持续监控所有的变化。

一切都是代码 "实现了持续的云安全

GitOps是一个单一的真相来源,确保了不可更改性和开发人员的速度,从而有助于提高云安全。在这种情况下,你不必等到开发周期结束时才考虑安全测试,因为你提前将安全问题转移到了左边。

政策即代码 "可实现早期反馈

云原生应用程序的安全测试是每个迭代的一部分。例如,编写策略并在提交时执行这些策略可以提供早期测试,并对可能在管道末端产生安全问题的变化进行反馈。

这意味着你可以在代码进入生产阶段之前就发现并消除错误和漏洞。GitOps的安全方法是对持续集成和CI/CD协议的补充,确保每个人都能在管道中遵循安全的最佳实践。

什么是策略即代码?

政策即代码"本质上是一个编纂政策的概念。通过将安全策略提交给代码,你写了一个代码计划来自动化和管理安全策略。

当实施用高级语言创建的代码策略时,你必须利用一个策略执行引擎或平台。这种方法通过在特定集群内或在整个公司内执行某些规则,帮助维持组织内的安全标准。

这些基于代码的规则存在于文本文件中,确保开发团队始终遵循最佳实践。

通过将一切都视为代码,GitOps有助于提高开发管道中几个不同元素的安全性(包括策略和配置)。当所有这些结合在一起时,开发人员可以通过版本控制更快地迭代,启用持续集成、测试自动化和Git的其他功能。

当开发者利用自动化时,他们对基础设施模板有完全的可审计性和版本控制。这种方法有助于提高开发人员的速度,使他们的关注点干净分离。这意味着你不需要访问CI/CD平台或生产环境来推送代码到存储库。

这种分离有助于加强安全协议,并允许团队采用最小特权的做法。这转化为一个小得多的攻击面,只有少数经过验证的用户才能访问。

如果你使用Kubernetes的外部秘密,你也可以将它们安全地存储在你的云原生秘密存储中。这种方法可以自动按需快速轮换任何秘密,而且不受Git的影响。你还可以对每个秘密使用精细的基于角色的访问控制(RBAC)。

在安全方面,GitOps也让开发者负责。它通过在整个SDLC中嵌入安全扫描和护栏,使整个过程更容易。

当你用代码加固你的安全态势时,你会对以下威胁保持警惕。

  • Git用户互相冒充。
  • 黑客删除安全功能。
  • 不安全的Git旧版本。
  • 试图改写历史的恶意用户。

任何潜在的错误或与设定状态的分歧都会在开发周期的早期被发现。所以,你可以把GitOps作为你的策略,把安全问题进一步向左转移。

如果你面临对管道的改变导致数据泄露的情况,你可以回到GitOps并触发快速响应来解决这些问题。当你把IaC存储在存储库中时,你也可以快速确定其中受影响的代码行。

当有可能快速识别攻击的大小和规模时,你可以更快地做出反应和恢复。这种方法有助于降低风险,减少漏洞发生的可能性。

在Magalix,我们的业务是通过政策即代码(PaC)以编程方式执行安全标准。这种方法有助于通过CI/CD为云原生应用程序建立以开发人员为中心的经验。

查看Magalix平台

在您的组织内执行PaC有助于。

  • 一键在Kubernetes集群中应用治理标准
  • 在云环境中部署定制的政策检查
  • 在SDLC的早期验证基础设施的合规性
  • 通过在DevOps工作流程中实施PaC来强化你的基础设施

在你的云原生环境中使用正确的游戏手册和GitOps工作流程,你的DevOps团队可以在不影响安全或合规性的情况下更快地进行创新。你还可以为你的团队量身定做

【翻译】构建安全的云原生基础设施的GitOps顶级策略相关推荐

  1. 金山云发布全新Serverless产品 云原生基础设施再升级

    随着企业数字化转型的深入,云计算正全面步入2.0时代,即为云而生的阶段.以云原生为代表的理念,已经成为进一步释放云计算价值的核心推动力. 1月6日,金山云举行了云原生媒体沟通会,金山云副总裁.合伙人钱 ...

  2. 《云原生入门级开发者认证》学习笔记之云原生基础设施之容器技术

    写在前面 嗯,报了考试,整理课堂笔记记忆 学习的原因: 虽然考了CKA,了解了一些K8s相关的知识 但是对云原生整个体系一直都很模糊 希望对云原生有一个基本的认识 通过学习实现云原生相关入门 博文主要 ...

  3. 【华为云原生入门级认证】第 2 章 云原生基础设施之容器技术

    云原生 第2章 云原生基础设施之容器技术 2.1 容器发展背景 企业 IT 业务云化路径 - 传统业务云化 方式一:物理机部署,统一管理 特征: 业务无法云化部署,物理资源搬迁或纳管到云平台资源池. ...

  4. 蚂蚁金服启动分布式中间件开源计划,用于快速构建金融级云原生架构

    今天,蚂蚁金服正式宣布启动分布式中间件(Scalable Open Financial Architecture,以下简称 SOFA 中间件)的开源计划! SOFA 是蚂蚁金服自主研发的金融级分布式中 ...

  5. 《云原生入门级开发者认证》学习笔记之云原生基础设施之Kubernetes(三)

    写在前面 嗯,报了考试,整理课堂笔记记忆 学习的原因: 虽然考了CKA,了解了一些K8s相关的知识 但是对云原生整个体系一直都很模糊 希望对云原生有一个基本的认识 通过学习实现云原生相关入门 博文主要 ...

  6. 雷锋网独家解读:阿里云原生应用的布局与策略

    简介:阿里云一直希望可以做标准化的技术,跟社区的标准.行业的标准进行打通,这样对于阿里云的客户而言,简化了很多流程,其具备的能力也是未来的主流. 文章来源:雷锋网 作者:杨丽 原标题:<独家解读 ...

  7. 探索云原生之“翻译翻译,什么是云原生”

    (上图来自百度百科https://baike.baidu.com/item/%E4%BA%91%E5%8E%9F%E7%94%9F/53770166?fr=aladdin) 因为本人也是初次探索云原生 ...

  8. 从阿里云容器攻防矩阵API安全生命周期,看如何构建金融安全云原生平台

    [编者按]云原生技术正在助力银行通过差异化业务进行创新,却也带来了由于研发/运维人员对新架构不熟悉所导致的基础设施风险.业务风险及数据暴露风险.如何在飞速更迭的技术环境下保持业务持续发展,同时保证业务 ...

  9. 云原生安全联防联抗策略玩转微隔离

    前言 随着信息技术的发展.互联网的快速普及,越来越多的信息被存储在云端,企业面临的安全问题也日益突出.在<网络安全法>.<数据安全法>等多部法律法规要求下,各行业用户纷纷设立安 ...

最新文章

  1. ansible相关说明
  2. 26Java中的多态
  3. python验证码识别接口 服务器_python验证码识别模块
  4. 计算机桌面为什么总是换,你的电脑桌面是什么,
  5. google+stackoverflow_哪些开发问题最让程序员“头秃”?我们分析了Stack Overflow的11000个问题...
  6. import() 动态加载component组件失败
  7. javafx-TableView 行颜色设置
  8. ubuntu安装配置ssmtp
  9. 高斯核函数 python实现
  10. 基于udp的服务器消息转发(群发)
  11. UI库colorui的使用————小程序
  12. 迷你迅雷(官方版)不含广告,不用会员,多线程急速
  13. 程序员小妙招:只需一个代码!就能删除C盘垃圾,释放几十G
  14. 【ML】管理和跟踪机器学习实验
  15. [英文话剧][搞笑话剧短剧][中英文对照]7人话剧 新三顾茅庐
  16. 渗透测试技巧总结更新篇2
  17. 图像处理: 可见光波长(wavelength)与RGB之间的转换
  18. 好奇号火星车是我梦中的情人
  19. 如鹏网C语言也能干大事精华帖
  20. 弹性计算产品专家张新涛:阿里云视觉计算的思考与实践

热门文章

  1. java 写的星际争霸_用java写星际争霸的ai
  2. hdoj 1234 开门人和关门人
  3. IPGUARD加密图片无法使用windows图片查看器打开
  4. 预览pdf 印章不显示问题
  5. Plant Simulation使用技巧
  6. Modern Robotics串联机器人常见的奇异构型
  7. Flutter开发模式之Bloc学习
  8. networkx读取gml文件失败
  9. pythoneducoder苹果梨子煮水的功效_喝梨苹果熬的茶有什么功效与作用
  10. 三国志11武将资料整理版