Amazon Fargate (仅限 Amazon ECS)支持的先决条件 - Amazon GuardDuty
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon Fargate (仅限 Amazon ECS)支持的先决条件

本节包含监控 Fargate-Amazon ECS 资源的运行时行为的先决条件。满足这些先决条件后,请参阅启用 GuardDuty 运行时监控

验证架构要求

您使用的平台可能会影响 GuardDuty 安全代理支持 GuardDuty 从 Amazon ECS 集群接收运行时事件的方式。您必须验证自己使用的是其中一个经过验证的平台。

初步注意事项:

您的 Amazon ECS 集群的 Amazon Fargate 平台必须是 Linux。相应的平台版本必须至少为 1.4.0LATEST。有关平台版本的更多信息,请参阅《Amazon Elastic Container Service 开发人员指南》中的 Linux 平台版本

尚不支持 Windows 平台版本。

经过验证的平台

操作系统分布和 CPU 架构会影响 GuardDuty安全代理提供的支持。下表显示了用于部署 GuardDuty安全代理和配置运行时监控的经过验证的配置。

操作系统发行版1 内核支持 CPU 架构
x64 () AMD64 Graviton () ARM64
Linux eBPF、Tracepoints、Kprobe 支持 支持

1 Support 对各种操作系统的支持- GuardDuty 已验证支持在上表中列出的操作系统上使用运行时监控。如果您使用不同的操作系统并且能够成功安装安全代理,则可能会获得所列操作系统发行版中 GuardDuty 已通过验证提供的所有预期安全值。

提供 ECR 权限和子网详细信息

在启用运行时监控之前,您必须提供以下详细信息:

为任务执行角色提供权限

任务执行角色要求您拥有特定的 Amazon Elastic Container Registry(Amazon ECR)权限。您可以使用 Amazon ECSTask ExecutionRolePolicy 托管策略,也可以在TaskExecutionRole策略中添加以下权限:

... "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", ...

要进一步限制 Amazon ECR 权限,您可以添加托管其 GuardDuty 安全代理的 Amazon ECR 存储库 URI(仅限 Amazon Fargate Amazon ECS)。有关更多信息,请参阅 上的 GuardDuty 代理存储库 Amazon Fargate (仅限 Amazon ECS)

在任务定义中提供子网详细信息

您可以将公有子网作为任务定义中的输入提供,也可以创建一个 Amazon ECR VPC 端点。

  • 使用任务定义选项UpdateService APIs 在 Amazon 弹性容器服务 API 参考中运行CreateService和需要您传递子网信息。有关更多信息,请参阅《Amazon Elastic Container Service 开发人员指南》中的 Amazon ECS 任务定义

  • 使用 Amazon ECR VPC 终端节点选项 — 提供指向 Amazon ECR 的网络路径,以确保托管 GuardDuty 安全代理的 Amazon ECR 存储库 URI 可通过网络访问。如果您的 Fargate 任务将在私有子网中运行,那么 Fargate 将需要网络路径来下载容器。 GuardDuty 有关 VPC 终端节点设置说明,请参阅亚马逊弹性容器注册表用户指南中的为 Amazon ECR 创建 VPC 终端节点。

    有关启用 Fargate 下载容器的信息,请参阅亚马逊弹性 GuardDuty 容器注册表用户指南中的将 Amazon ECR 镜像与 Ama zon ECS 配合使用。

验证组织服务控制策略

此步骤是支持运行时监控和评估不同资源类型的覆盖范围所必需的。 GuardDuty

如果您设置了服务控制策略(SCP)来管理组织中的权限,请验证您的 TaskExecutionRole 及其策略中的权限边界未限制 guardduty:SendSecurityTelemetry

以下示例策略会允许 guardduty:SendSecurityTelemetry 策略:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ ..., ..., "guardduty:SendSecurityTelemetry" ], "Resource": "*" } ] }
  1. 使用以下步骤验证权限边界未限制 guardduty:SendSecurityTelemetry

    1. 登录 Amazon Web Services Management Console 并打开 IAM 控制台,网址为https://console.aws.amazon.com/iam/

    2. 在导航窗格中的访问权限管理下,选择角色

    3. 选择角色名称以打开详细信息页面。

    4. 展开权限边界部分。确保未拒绝或限制 guardduty:SendSecurityTelemetry

  2. 使用以下步骤验证 TaskExecutionRole 策略的权限边界未限制 guardduty:SendSecurityTelemetry

    1. 登录 Amazon Web Services Management Console 并打开 IAM 控制台,网址为https://console.aws.amazon.com/iam/

    2. 在导航窗格中的访问权限管理下,选择策略

    3. 选择策略名称以打开详细信息页面。

    4. 附加的实体选项卡下,查看附加为权限边界部分。确保未拒绝或限制 guardduty:SendSecurityTelemetry

有关策略和权限的信息,请参阅《IAM 用户指南》中的权限边界

如果您是成员账户,则连接到关联的委派管理员。有关为您的组织 SCPs 进行管理的信息,请参阅服务控制策略 (SCPs)

CPU 和内存限制

在 Fargate 任务定义中,您必须在任务级别指定 CPU 和内存值。下表显示了任务级 CPU 和内存值的有效组合,以及容器的相应 GuardDuty 安全代理最大内存限制。 GuardDuty

CPU 值 内存值 GuardDuty 代理最大内存限制

256 (.25 vCPU)

512 MiB、1 GB、2 GB

128MB

512 (.5 vCPU)

1GB、2GB、3GB、4GB

1024 (1 vCPU)

2 GB、3 GB、4 GB

5 GB、6 GB、7 GB、8 GB

2048 (2 vCPU)

4GB 到 16GB 之间 (以 1GB 为增量)

4096 (4 vCPU)

8 GB 至 20 GB(以 1 GB 为单位增加)

8192 (8 vCPU)

16 GB 至 28 GB(以 4 GB 为单位增加)

256 MB

32 GB 至 60 GB(以 4 GB 为单位增加)

512MB

16384(16 个 vCPU)

32 GB 到 120 GB 之间(以 8 GB 为增量)

1 GB

启用运行时监控并评估集群的覆盖率状态是否正常后,您可以设置和查看 Container Insights 指标。有关更多信息,请参阅 在 Amazon ECS 集群上设置监控

下一步是配置运行时监控和安全代理。