

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 关于达到基本八大成熟度的指示性案例研究 AWS
案例研究

本章提供了政府机构达到 AWS上的八大要点成熟度的典型案例研究。

**Topics**
+ [

# 场景和架构概述
](scenario.md)
+ [

# 工作负载示例：无服务器数据湖
](serverless-data-lake.md)
+ [

# 工作负载示例：容器化 Web 服务
](containerised-web-service.md)
+ [

# 工作负载示例：Amazon EC2 上的 COTS 软件
](cots-software.md)

# 场景和架构概述
概述

该政府机构在 AWS Cloud中有三项工作负载：
+ 使用亚马逊简单存储服务 (Amazon S3) 进行存储以及提取、转换 AWS Lambda 和加载 (ETL) 操作的[无服务器数据湖](serverless-data-lake.md)
+ 一种[容器化 Web 服务](containerised-web-service.md)，在 Amazon Elastic Container Service（Amazon ECS）上运行并使用 Amazon Relational Database Service（Amazon RDS）中的数据库
+ 在亚马逊 EC2 上运行的[商用 off-the-shelf (COTS) 软件](cots-software.md)

*云团队*为组织提供集中式平台，为 AWS 环境运行核心服务。云团队为 AWS 环境提供核心服务。每个工作负载都由不同的*应用程序团队*拥有，也称为*开发者团队*或*交付团队*。

## 核心架构


云团队已经在 AWS Cloud中建立了以下功能：
+ 身份联合链接 AWS IAM Identity Center 到他们的 E Microsoft ntra ID（以前是 *Azure 活动目录*）实例。联合会强制执行 MFA、用户账户自动到期以及 AWS Identity and Access Management 通过 (IAM) 角色使用短期证书。
+ 使用集中式 AMI 管线，通过 EC2 Image Builder 修补操作系统和核心应用程序。
+ Amazon Inspector 可以识别漏洞，所有安全发现都将发送到亚马逊 GuardDuty 进行集中管理。
+ 使用既定机制来更新应用程序控制规则、响应网络安全事件，及审查合规差距。
+ AWS CloudTrail 用于记录和监控。
+ 安全事件（例如根用户登录）会触发提醒。
+ SCPs 而且 VPC 终端节点策略会为您的 AWS 环境建立数据边界。
+ SCPs 防止应用程序团队禁用安全和日志服务，例如 CloudTrail 和 AWS Config。
+ AWS Config AWS 账户 为了安全起见，将整个 AWS 组织的调查结果汇总到一个单一的调查结果中。
+  AWS Config [ACSC Essential 8 一致性包](https://docs.aws.amazon.com/config/latest/developerguide/operational-best-practices-for-acsc_essential_8.html)已 AWS 账户 在您的组织中启用。

# 工作负载示例：无服务器数据湖
无服务器数据湖

此工作负载是[主题 1：使用托管服务](theme-1.md)的一个示例。

数据湖使用 Amazon S3 进行存储和 AWS Lambda ETL。这些资源是在 AWS Cloud Development Kit (AWS CDK) 应用程序中定义的。对系统的更改是通过部署的 AWS CodePipeline。此管线仅限应用程序团队使用。当应用程序团队对代码存储库提出拉取请求时，将使用[双人规则](https://docs.aws.amazon.com/wellarchitected/latest/analytics-lens/best-practice-5.2---implement-least-privilege-policies-for-source-and-downstream-systems..html)。

对于此工作负载，应用程序团队采取以下措施来解决八大要点策略。

*应用程序控制*
+ 应用程序团队在 A [mazon Inspector 中启用 [Lambda 保护](https://docs.aws.amazon.com/guardduty/latest/ug/lambda-protection.html)和在 GuardDuty Lambda 扫描中启用 Lambda 扫描](https://docs.aws.amazon.com/inspector/latest/user/scanning-lambda.html)。
+ 应用程序团队实施用于检查和[管理 Amazon Inspector 调查发现](https://docs.aws.amazon.com/inspector/latest/user/findings-managing-automating-responses.html#findings-managing-eventbridge-tutorial)的机制。

*修补应用程序*
+ 应用程序团队在 Amazon Inspector 中启用 Lambda 扫描，并为已弃用或易受攻击的库配置提醒。
+ 应用程序团队可以跟踪 AWS 资源 AWS Config 以进行资产发现。

*限制管理权限*
+ 如[核心架构](scenario.md#core-architecture)部分所述，应用程序团队已通过部署管线上的批准规则限制了对生产部署的访问权限。
+ 应用程序团队依赖[核心架构](scenario.md#core-architecture)部分所述的集中式身份联合验证和集中式日志记录解决方案。
+ 应用程序团队创建 AWS CloudTrail 跟踪和 Amazon CloudWatch 筛选器。
+ 应用程序团队为部署 AWS CloudFormation 和堆栈删除设置亚马逊简单通知服务 (Amazon SNS) Simple Notification Service 警报 CodePipeline 。

*修补操作系统*
+ 应用程序团队在 Amazon Inspector 中启用 Lambda 扫描，并为已弃用或易受攻击的库配置提醒。

*多重身份验证*
+ 应用程序团队依赖[核心架构](scenario.md#core-architecture)部分所述的集中式身份联合验证解决方案。此解决方案可强制执行 MFA，记录身份验证，并在出现可疑的 MFA 事件时发出提醒或自动做出响应。

*定期备份*
+ 应用程序团队将代码（例如 AWS CDK 应用程序和 Lambda 函数和配置）存储在[代码](https://aws.amazon.com/blogs/devops/how-to-migrate-your-aws-codecommit-repository-to-another-git-provider/)存储库中。
+ 应用程序团队启用版本控制和 Amazon S3 对象锁定，来帮助防止对象被删除或修改。
+ 应用程序团队依赖内置的 Amazon S3 持久性，而不是将其整个数据集复制到另一个 AWS 区域。
+ 应用程序团队在满足其数据主权要求的另一个 AWS 区域 工作负载中运行工作负载的副本。他们使用 Amazon DynamoDB 全局表和 Amazon S3 [跨区域复制](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html#crr-scenario)将数据从主区域自动复制到辅助区域。

# 工作负载示例：容器化 Web 服务
容器化 Web 服务

此工作负载是[主题 2：通过安全管线管理不可变基础设施](theme-2.md)的一个示例。

Web 服务在 Amazon ECS 上运行，并使用 Amazon RDS 中的数据库。应用团队在 CloudFormation 模板中定义这些资源。容器使用 EC2 Image Builder 创建并存储在 Amazon ECR 中。应用程序团队通过 AWS CodePipeline将更改部署到系统。此管线仅限应用程序团队使用。当应用程序团队对代码存储库提出拉取请求时，将使用[双人规则](https://docs.aws.amazon.com/wellarchitected/latest/analytics-lens/best-practice-5.2---implement-least-privilege-policies-for-source-and-downstream-systems..html)。

对于此工作负载，应用程序团队采取以下措施来解决八大要点策略。

*应用程序控制*
+ 应用程序团队支持[在 Amazon Inspector 中扫描 Amazon ECR 容器镜像](https://docs.aws.amazon.com/inspector/latest/user/scanning-ecr.html)。
+ 应用程序团队在 EC2 Image Builder 管线中构建[文件访问策略进程守护程序（fapolicyd）](https://github.com/linux-application-whitelisting/fapolicyd/blob/main/README.md)安全工具。有关更多信息，请参阅 ACSC 网站上的[实现应用程序控制](https://www.cyber.gov.au/resources-business-and-government/maintaining-devices-and-systems/system-hardening-and-administration/system-hardening/implementing-application-control)。
+ 应用程序团队将 Amazon ECS 任务定义配置为将输出记录到 Amazon CloudWatch 日志。
+ 应用程序团队实施用于检查和管理 Amazon Inspector 调查发现的机制。

*修补应用程序*
+ 应用程序团队在 Amazon Inspector 中启用扫描 Amazon ECR 容器映像，并为已弃用或易受攻击的库配置提醒。
+ 应用程序团队自动对 Amazon Inspector 调查发现做出响应。新发现通过Amazon EventBridge 触发器启动其部署渠道，并且 CodePipeline 是目标。
+ 应用程序团队可以跟踪 AWS 资源 AWS Config 以进行资产发现。

*限制管理权限*
+ 应用程序团队已通过部署管线上的批准规则限制对生产部署的访问权限。
+ 应用程序团队依赖集中式云团队的身份联合验证来轮换凭证和集中式日志记录。
+ 应用团队创建 CloudTrail 跟踪和 CloudWatch 过滤器。
+ 应用程序团队为 CodePipeline 部署和 CloudFormation堆栈删除设置 Amazon SNS 警报。

*修补操作系统*
+ 应用程序团队在 Amazon Inspector 中启用扫描 Amazon ECR 容器映像，并为操作系统补丁更新配置提醒。
+ 应用程序团队自动对 Amazon Inspector 调查发现做出响应。新发现通过 EventBridge 触发器启动其部署管道，并且 CodePipeline 是目标。
+ 应用程序团队订阅 Amazon RDS 事件通知，以便及时了解更新。他们与企业主一起做出基于风险的决定，决定是手动应用这些更新，还是让 Amazon RDS 自动应用这些更新。
+ 应用程序团队将 Amazon RDS 实例配置为多可用区集群，以减少维护事件的影响。

*多重身份验证*
+ 应用程序团队依赖[核心架构](scenario.md#core-architecture)部分所述的集中式身份联合验证解决方案。此解决方案可强制执行 MFA，记录身份验证，并在出现可疑的 MFA 事件时发出提醒或自动做出响应。

*定期备份*
+ 应用程序团队配置 AWS Backup 为自动备份其 Amazon RDS 集群的数据。
+ 应用团队将 CloudFormation 模板存储在代码存储库中。
+ 应用程序团队开发了一个自动化管道，用于[在另一个区域创建其工作负载的副本并运行自动测试](https://aws.amazon.com/blogs/architecture/disaster-recovery-dr-architecture-on-aws-part-iii-pilot-light-and-warm-standby/)（AWS 博客文章）。自动测试运行后，管线会销毁堆栈。此管线每月自动运行一次，并验证恢复过程的有效性。

# 工作负载示例：Amazon EC2 上的 COTS 软件
COTS 软件

此工作负载是[主题 3：通过自动化管理可变基础设施](theme-3.md)的一个示例。

在 Amazon EC2 上运行的工作负载是使用 AWS 管理控制台手动创建的。开发者通过登录 EC2 实例并更新软件来手动更新系统。

对于此工作负载，云和应用程序团队采取以下措施来解决八大要点策略。

*应用程序控制*
+ 云团队配置其集中式 AMI 管道，以安装和配置 AWS Systems Manager 代理（SSM 代理）、 CloudWatch 代理和。 SELinux他们跨组织中的所有账户共享生成的 AMI。
+ 云团队使用 AWS Config 规则来确认所有正在运行[的 EC2 实例均由 Systems Manager 管理](https://docs.aws.amazon.com/config/latest/developerguide/ec2-instance-managed-by-systems-manager.html)，并且已安装 [SSM 代理、 CloudWatch 代理并 SELinux 已安装](https://docs.aws.amazon.com/config/latest/developerguide/ec2-managedinstance-applications-required.html)。
+ 云团队将 Amazon CloudWatch Logs 输出发送到在亚马逊 OpenSearch 服务上运行的集中式安全信息和事件管理 (SIEM) 解决方案。
+ 应用程序团队实施机制来检查和管理来自 AWS Config、 GuardDuty和 Amazon Inspector 的调查结果。云团队实施自己的机制来捕获应用程序团队错过的任何调查发现。有关创建漏洞管理程序以处理调查发现的更多指引，请参阅[在 AWS上构建可扩展的漏洞管理程序](https://docs.aws.amazon.com/prescriptive-guidance/latest/vulnerability-management/introduction.html)。

*修补应用程序*
+ 应用程序团队根据 Amazon Inspector 调查发现修补实例。
+ 云团队修补基本 AMI，当该 AMI 发生更改时，应用程序团队会收到提醒。
+ 应用程序团队通过配置[安全组规则](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules.html)来限制对其 EC2 实例的直接访问，仅允许工作负载所需的端口上的流量。
+ 应用程序团队使用[补丁管理器](https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager.html)来修补实例，而不是登录单个实例。
+ 要对 EC2 实例组运行任意命令，应用程序团队可以使用 [Run Command](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html)。
+ 在极少数情况下，当应用程序团队需要直接访问实例时，他们会使用[会话管理器](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html)。此访问方法使用联合身份并记录任何会话活动以供审计。

*限制管理权限*
+ 应用程序团队配置[安全组规则](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules.html)，仅允许工作负载所需的端口上的流量。这限制了对 Amazon EC2 实例的直接访问，并要求用户通过会话管理器访问 EC2 实例。
+ 应用程序团队依赖集中式云团队的身份联合验证来轮换凭证和集中式日志记录。
+ 应用团队创建 CloudTrail 跟踪和 CloudWatch 过滤器。
+ 应用程序团队为 CodePipeline 部署和 CloudFormation堆栈删除设置 Amazon SNS 警报。

*修补操作系统*
+ 云团队修补基本 AMI，当该 AMI 发生更改时，应用程序团队会收到提醒。应用程序团队使用此 AMI 部署新实例，然后使用[状态管理器](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-state.html)（Systems Manager 的功能）来安装所需的软件。
+ 应用程序团队使用补丁管理器来修补实例，而不是登录单个实例。
+ 要对 EC2 实例组运行任意命令，应用程序团队可以使用 Run Command。
+ 在极少数情况下，当应用程序团队需要直接访问时，他们会使用会话管理器。

*多重身份验证*
+ 应用程序团队依赖[核心架构](scenario.md#core-architecture)部分所述的集中式身份联合验证解决方案。此解决方案可强制执行 MFA，记录身份验证，并在出现可疑的 MFA 事件时发出提醒或自动做出响应。

*定期备份*
+ 应用程序团队为其 EC2 实例和亚马逊弹性区块存储 (Amazon EBS) 卷 AWS Backup 制定计划。
+ 应用程序团队实施了一种机制，每月手动执行一次备份恢复。