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 CPU 架构 Graviton () ARM64
Linux eBPF、Tracepoints、Kprobe 支持 支持

1 支持多种操作系统: GuardDuty 已验证运行时监控,支持上表所列操作发行版。虽然 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)。有关更多信息,请参阅 Amazon ECR 存储库托管代理 GuardDuty

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

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

验证组织服务控制策略

本节介绍如何验证您的服务控制策略 (SCP) 设置,以确保运行时监控在整个组织中按预期运行。

如果您设置了一个或多个服务控制策略来管理组织中的权限,则必须验证该策略未拒绝guardduty:SendSecurityTelemetry操作。有关 SCPs 工作原理的信息,请参阅《Amazon Organizations 用户指南》中的 SCP 评估

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

对您在多账户环境中设置的所有内容执行以下步骤: SCPs

在 SCP 中未拒绝验证 guardduty:SendSecurityTelemetry
  1. 登录 Organizations 控制台,网址为https://console.aws.amazon.com/organizations/。您必须以 IAM 角色身份登录,或在组织的管理账户中以根用户的身份登录(不推荐)

  2. 在左侧导航窗格中,选择策略。然后,在支持的策略类型下,选择服务控制策略

  3. 在 S ervice control policies (服务控制策略) 页面上,选择要验证的策略的名称。

  4. 在政策的详情页面上,查看该政策的内容。确保它不会拒绝该guardduty:SendSecurityTelemetry操作。

    以下 SCP 策略是不拒绝guardduty:SendSecurityTelemetry操作的示例:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ ..., ..., "guardduty:SendSecurityTelemetry" ], "Resource": "*" } ] }

    如果您的政策拒绝此操作,则必须更新该政策。有关更多信息,请参阅《Amazon Organizations 用户指南》中的更新服务控制策略(SCP)

验证角色权限和策略权限边界

使用以下步骤验证与角色及其策略关联的权限边界是否不是限制guardduty:SendSecurityTelemetry操作。

查看角色及其策略的权限边界
  1. 登录到 Amazon Web Services Management Console 并打开 IAM 控制台https://console.aws.amazon.com/iam/

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

  3. 在 “角色” 页面上,选择您TaskExecutionRole可能已创建的角色。

  4. 在所选角色页面的权限选项卡下,展开与此角色关联的策略名称。然后,确认此政策没有限制guardduty:SendSecurityTelemetry

  5. 如果设置了权限边界,则展开此部分。然后,展开每项策略以查看其不限制guardduty:SendSecurityTelemetry操作。策略应显示以下内容Example SCP policy

    根据需要,执行以下操作之一:

    • 要修改策略,请选择编辑。在此策略的修改权限页面上,在策略编辑器中更新策略。确保 JSON 架构保持有效。然后选择下一步。然后,您可以查看并保存更改。

    • 要更改此权限边界并选择其他边界,请选择更改边界

    • 要移除此权限边界,请选择移除边界

    有关管理策略的信息,请参阅 IAM 用户指南 Amazon Identity and Access Management中的策略和权限

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 集群上设置监控

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