Recap Series
- 第 02 场:使用 Terraform 实现 AWS 合规
- 第 03 场:从新手到构建者:一段精彩的云上之旅
- 第 04 场:团队优先的无服务器工程:Laravel 与 Bref
- 第 05 场:活动开场:AWS Community Day Hong Kong 2025
- 第 06 场:Agent-to-Agent:在 AWS 上构建可互操作的 AI
- 第 07 场:利用另一类遥测数据,借助 AI Agent 更快改进
- 第 08 场:告别氛围编程:使用 Kiro 进行规范驱动开发
- 第 09 场:使用 MCP 与 AI 智能体进行自动化测试
- 第 10 场:电信安全现代化:机器学习驱动的方法
- 第 11 场:重新思考生成式 AI 智能体:RAG 与 MCP
- 第 12 场:使用 TAK 与 AWS 开展灾难与应急响应
- 第 13 场:从测试视角重新思考无服务器应用程序工作流
- 第 14 场:实用 AWS FinOps,助力云上成功
录像
开源项目与简化工作的热情
- 创建了 https://www.terraform-best-practices.com/,帮助人们学习 Terraform 最佳实践。
当前项目:compliance.tf
- 旨在简化使用 Terraform 落实合规要求的过程。
- 合规是一个很有意思的领域,但目前使用 Terraform 实施起来并不容易。
- 创建该项目是为了避免人们重复实现常见服务和模式。
- 支持配置 50 多项 AWS 服务。
对工作与乐趣的思考
- 将过去几代人对构建未来的兴奋心态,与当下对合规框架和自动化的关注进行了比较。
- 相比更需要亲自动手的户外活动,合规工作可能会被认为枯燥乏味。
- 强调需要明确区分有趣和枯燥的任务。
合规并非魔法
- 供应商和服务提供商经常把合规描述成必不可少、成本高昂且如同魔法一般的事物。
- 实际上,合规通常只是企业需要满足的另一项业务要求。
- 做到合规意味着认真对待安全和客户信任。
共同责任原则
- AWS 负责底层基础设施。
- 客户负责自己放到云上的一切内容。
合规框架
- 合规框架种类繁多,其中一些与 ISO 27001 相契合。
- 香港和中国大陆等地区有特定的限制和规则。
- 大多数框架涵盖相似的方面,例如加密、访问控制和登录机制。
- 实施一个框架后,往往也相当于完成了其他任一框架 50% 以上的实施工作。
典型合规流程
- 确定需要满足哪些合规要求。
- 使用 AWS 服务或第三方服务评估当前的合规状况。
- 了解所需工作量、已经完成的工作以及剩余工作。
合规工具与服务
- AWS Control Tower:合规管理必不可少的工具。
- AWS Organizations 和服务控制策略(SCP):用于控制边界和权限。
- CloudFormation Guard:AWS 推出的开源项目,可与 Terraform 代码配合使用。
- AWS CloudTrail 和 AWS Config:适合用于检测配置变更和 API 调用。
- AWS Audit Manager:用于收集基础设施变更证据,并将其存入采用 KMS 加密的 S3 存储桶。
基础设施即代码工具
- 目前,用于实施所需控制措施的主要工具包括 Checkov、Trivy 和 Terrascan。
关于工具使用情况的现场互动
- 大多数人使用 Checkov 和 Trivy。
- Checkov 是一款开源的基础设施即代码(IaC)静态代码分析工具,可在部署前扫描安全错误配置和合规问题。
- Trivy 是最受欢迎的开源安全扫描器,可用于漏洞扫描、IaC 扫描、SBOM 发现、云扫描和 Kubernetes 安全。
- 出人意料的是,很少有用户提到 Terrascan。
- Terrascan 是一款由 Tenable 支持的开源基础设施即代码(IaC)安全扫描器。
修复步骤
- 运行合规工具后,需要执行修复步骤来更正配置文件。
- 理解失败信息,找出相关模块或参数,然后加以修复。
- 也可以使用 compliance.tf 提供的合规就绪型 Terraform 模块。
DevSecOps 流水线
- 该流水线会在开发计算机或 CI/CD 流水线中运行合规检查。
- 手动修复不合规问题,重新推送代码,并在云资源中确认修复结果。
- 使用 Checkov、Prowler 和 Steampipe 等工具进行全面的合规检查。
推荐工具
- Checkov:适用于大多数场景,可用作第一道检查。
- Prowler:用于检查环境中实际资源是否存在错误配置的开源工具。
- Steampipe:支持使用 SQL 查询云 API,并提供预定义查询和自定义查询。
防止配置漂移
- 强调了通过限制对 AWS 环境的控制台访问来防止配置漂移的重要性。
配置漂移与 ClickOps
- ClickOps 是指通过 AWS 管理控制台等用户界面手动管理云资源。
- 人们经常希望直接访问 AWS 账户,这会导致 ClickOps,进而造成配置漂移。
- AWS Config Rules 等服务可用于持续验证和修复,但修复机制的实施可能比较棘手。
自动修复
- 可通过连接 AWS CloudTrail、Amazon EventBridge 和 AWS Systems Manager(SSM)Automation 文档实现自动修复。
- 有关 Terraform 模块和修复措施,请参阅 docs.compliance.tf;相关文档会自动更新。
Terraform Active Directory(AD)模块与合规要求
- 演示了如何从 Terraform Registry 调用 Terraform Active Directory(AD)模块。
- 展示了如何根据合规要求创建 S3 存储桶并启用登录。
- 介绍了将合规信息转换为 Terraform 代码的过程;由于使用了模块,该过程可能较为复杂。
文档与 Terraform 代码片段
- 建议访问 docs.compliance.tf,查看具体检查项和有效的 Terraform 代码片段。
- 示例展示了如何通过指定登录部分来应用 SOC 2 或 PCI DSS 等不同框架。
补充信息:Checkov、Prowler、Steampipe
- Checkov 是一款基础设施即代码(IaC)静态分析工具。它在开发生命周期中采用“左移”方式扫描 Terraform、CloudFormation、Kubernetes 清单和 Dockerfile 等配置文件,以便在部署前发现错误配置和合规违规问题。
- Prowler 是一款命令行工具,可对实际运行的云环境(AWS、Azure、Google Cloud 和 Kubernetes)执行安全、合规和最佳实践检查。它主要是一款云安全态势管理(CSPM)工具,可生成映射至 CIS Benchmarks、PCI-DSS 和 ISO 27001 等行业标准的详细报告。
- Steampipe 是一款独特的工具,它使用 Postgres 外部数据包装器,将云提供商、API 和基础设施等外部系统的数据呈现为关系型数据库,让用户能够使用 SQL 查询云资源。这种方式支持复杂的临时安全与合规检查,也可通过 SQL 查询创建自定义控制面板;与 Prowler 的顺序检查相比,它提供了另一种评估方式。
补充信息 2:CloudTrail、EventBridge 与 SSM Automation 文档
简介
- AWS CloudTrail、Amazon EventBridge 和 SSM Automation 文档是 AWS 生态系统中各自独立但经常集成使用的服务,用于管理和自动化云运维。
AWS CloudTrail
- 用途:CloudTrail 是一项 AWS 服务,用于记录用户、角色或 AWS 服务在 AWS 账户中执行的操作。它会记录通过 AWS 管理控制台、AWS SDK、命令行工具和其他 AWS 服务发起的 API 调用。
- 功能:它提供事件历史记录以及调用者、调用时间、来源 IP 地址和受影响资源等详细信息,从而支持安全分析、资源变更跟踪和问题排查。
- 使用场景:安全审计、合规、运维问题排查以及识别未经授权的活动。
Amazon EventBridge
- 用途:EventBridge 是一项无服务器事件总线服务,可通过事件轻松连接应用程序。它将来自不同来源的事件路由到目标,帮助构建可扩展的事件驱动型应用程序。
- 功能:它可以接收来自 AWS 服务(如 CloudTrail)、自定义应用程序和 SaaS 合作伙伴的事件。随后可以定义规则来筛选事件,并将其路由到 AWS Lambda 函数、Amazon SNS 主题、Amazon SQS 队列和 AWS Systems Manager Automation 等目标。
- 使用场景:实时事件处理、构建松耦合微服务、与第三方应用程序集成,以及基于事件触发自动化工作流。
AWS Systems Manager(SSM)Automation 文档
- 用途:SSM Automation 文档是预定义或自定义创建的脚本或运行手册,其中定义了一系列步骤,用于自动执行 AWS 资源的常见运维任务。
- 功能:它们可用于启动或停止实例、应用补丁、创建 AMI 和运行自定义脚本等操作。这些文档可手动执行、按计划执行,也可由事件触发。
- 使用场景:补丁管理、实例生命周期管理、合规强制实施和自动化事件响应。
集成示例
这些服务可以组合起来创建强大的自动化工作流。例如,当 CloudTrail 事件表明安全组发生了未经授权的更改时,可以触发一条 EventBridge 规则。该规则随后可调用 SSM Automation 文档,自动撤销更改、通知管理员或隔离受影响的资源,从而提升安全性和运维效率。
