了解 Google Cloud Platform 中的 DevSecOps

翻译自:Understanding DevSecOps in Google Cloud Platform

 DevOps 的流程和工具可有效加快开发周期和提高可靠性,以及其他技术、业务和组织优势。这些相同的品质同样可以提高应用程序的安全性。

DevOps 通过以下方式提高效率:

  • 建立统一的组织文化
  • 实现更紧密的反馈循环和更快的审查周期
  • 鼓励合作,以及
  • 实施可重复、自动化、可审计的配置

GCP 为开发人员提供了构建复杂 DevOps 管道的工具。GCP 还有助于使安全成为该过程的自然组成部分,从而创建有效的 DevSecOps 环境。

规划

将安全性集成到任何 DevOps 管道中都需要准备和规划。这可能需要数月甚至数年才能完善。然而,即使是对安全性的一个小小的承诺也可以导致整个过程的重大改进。

让安全团队参与 DevOps 流程,使他们能够为开发人员和运营团队提供专业知识、框架和工具,以发挥他们的作用。关键是让安全成为管道的自然组成部分,而不是引入可能会减慢部署速度的额外瓶颈(这完全与 DevOps 背道而驰。)

保护资源访问是信息安全尤其是云安全的基础。这从身份验证和授权开始:通过凭据验证用户并确定他们可以访问哪些资源。

访问控制的核心是 Google Cloud Identity and Access Management (IAM) 服务。这允许您管理用户帐户和他们可以操作的资源。IAM 提供了一种精细的、最低权限的方法来保护资源,主要为每个云服务使用特定的角色。

在 IAM 中,访问资源的实体称为成员。成员可以是:

  • Google Workspace 或 Cloud Identity,一个集中管理的帐户,附加到域并通过 Google 的管理控制台进行管理
  • 常规 Google 帐户,使用 Gmail、Chrome 浏览器或其他 Google 服务创建的非托管帐户
  • 服务帐户,应用程序用于访问云资源的一种特殊类型的帐户

资源层次结构

资源是指您在 GCP 上使用的服务和数据。资源可以是云用户可能与之交互的任何内容,例如容器映像、构建工件或计算引擎实例。GCP 使用层次结构来组织资源——最广泛的组在顶部,范围随着向下移动而缩小。同样,您分配的策略也应遵循相同的模式。所有资源都从其父资源继承策略,因此在父文件夹上设置的任何策略应该只允许最低限度的权限,因为这些将流向子资源。这允许通过适当的控制进行更大的特定于作业的访问。

权限 - 示例

尽管每种情况都是独一无二的,但以下是如何设置权限的一个示例:

假设您的资源层次结构有一个管理 Intranet 和外部 Web 应用程序的开发团队。使用 IAM 组和角色,您可以为该团队的顶级文件夹创建一组通用权限,其中包括每个 Web 应用程序项目的文件夹。由于资源从父文件夹继承角色,因此所有子文件夹、项目和资源现在都将具有该通用访问权限集。

接下来,您可能希望向 Intranet 项目中的某些 DevOps 成员授予对其负责的资源的特殊权限。您可以通过为这些资源设置标签并为这些团队的成员设置相应的标签来做到这一点。和角色一样,标签也是继承的。

最后,您可以为单个文件夹、项目或资源设置条件角色。条件角色对于设置更精确或更精细的权限以及处理特殊情况很有用。

持续集成/持续交付 (CI/CD)

CI/CD 管道在 DevOps 中发挥着重要作用,是将安全性注入流程的主要载体。CI/CD 管道指导并自动化流程,从提交代码到生产中的部署和操作开始。

Google Cloud Build 提供构建和发布服务来支持应用程序的持续集成和交付。使用触发器,GCBuild 可以在不同阶段实现安全自动化。该过程从提交到源存储库开始(或通过使用带有外部存储库(如 GitHub)的 webhook。)这将触发管道处理,它将经历构建和部署阶段的每个步骤。

要将安全性注入管道,请关注三个关键策略:

  • 确定测试点:在每个阶段,都应该执行自动和手动安全测试
  • 确定需要保护的机密,例如加密密钥或服务凭证
  • 加密所有传输中和静止的数据

确定在哪里执行安全测试在很大程度上取决于产品的类型及其构建方式。例如,Web 应用程序可能需要静态应用程序安全测试 (SAST)、动态应用程序安全测试 (DAST)、交互式应用程序安全测试 (IAST) 和/或模糊测试。您可以通过 shell 脚本或外部应用程序将其中的每一个集成到不同的管道步骤中。根据返回的结果,您将失败或批准构建并将必要的资产保存在工件注册表或源存储库中。

日志记录

可靠的 DevSecOps 管道必须向每个团队提供反馈。反馈、指标和可观察性需要数据,您可以使用 Google Cloud Logging 服务记录这些数据。

Google Cloud Logging 适用于所有 Google Cloud 服务,并与 Cloud Monitoring、Error Reporting 和 Cloud Trace 服务集成。您可以使用 Cloud Logging 安全地存储、分析、报告记录的事件并为记录的事件创建警报。日志仪表板允许您查看图表和聚合指标。还有日志资源管理器,它允许您使用您指定的条件流式传输或查询日志。Cloud Logging 提供对 Cloud Audit Logs 的访问,其中包括 Admin Activity、Data Access、System Event 和 Policy Denied 审核日志。这些对于确保 DevOps 活动的完整性最有用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值