本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS Fargate (ECS仅限 Amazon)支持的先决条件
本节包括监控 Fargate-ECS Amazon 资源运行时行为的先决条件。满足这些先决条件后,请参阅启用 GuardDuty 运行时监控。
验证架构要求
您使用的平台可能会影响 GuardDuty 安全代理支持 GuardDuty 从您的 Amazon ECS 集群接收运行时事件的方式。您必须验证自己使用的是其中一个经过验证的平台。
- 初步注意事项:
-
您的亚马逊ECS集群的 AWS Fargate 平台必须是 Linux。相应的平台版本必须至少为
1.4.0
或LATEST
。有关平台版本的更多信息,请参阅《Amazon Elastic Container Service 开发人员指南》中的 Linux 平台版本。尚不支持 Windows 平台版本。
经过验证的平台
操作系统的分布和CPU架构会影响 GuardDuty安全代理提供的支持。下表显示了用于部署 GuardDuty安全代理和配置运行时监控的经过验证的配置。
操作系统发行版1 | 内核支持 | CPU 架构 | |
---|---|---|---|
x64 () AMD64 | Graviton () ARM64 | ||
Linux | e BPF、Tracepoints、Kpro | 支持 | 支持 |
1 Support 对各种操作系统的支持- GuardDuty 已验证支持在上表中列出的操作系统上使用运行时监控。如果您使用不同的操作系统并且能够成功安装安全代理,则可能会获得所列操作系统发行版中 GuardDuty 已通过验证提供的所有预期安全值。
提供ECR权限和子网详细信息
在启用运行时监控之前,您必须提供以下详细信息:
- 为任务执行角色提供权限
-
任务执行角色要求您拥有某些亚马逊弹性容器注册表 (AmazonECR) 权限。您可以使用 A mazonECSTask ExecutionRolePolicy 托管策略,也可以在
TaskExecutionRole
策略中添加以下权限:... "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", ...
要进一步限制亚马逊ECR权限,您可以添加托管其 GuardDuty 安全代理URI的亚马逊ECR存储库 AWS Fargate (ECS仅限亚马逊)。有关更多信息,请参阅 GuardDuty 代理存储库 AWS Fargate (ECS仅限 Amazon)。
- 在任务定义中提供子网详细信息
-
您可以在任务定义中提供公有子网作为输入,也可以创建 Amazon ECR VPC 终端节点。
-
使用任务定义选项 — UpdateServiceAPIs在 Amazon 弹性容器服务API参考中运行CreateService和需要您传递子网信息。有关更多信息,请参阅《亚马逊弹性容器服务开发者指南》中的亚马逊ECS任务定义。
-
使用亚马逊ECRVPC终端节点选项-提供通往亚马逊的网络路径 ECR-URI 确保托管 GuardDuty 安全代理的亚马逊ECR存储库可通过网络访问。如果您的 Fargate 任务将在私有子网中运行,那么 Fargate 将需要网络路径来下载容器。 GuardDuty
有关启用 Fargate 下载容器的信息,请参阅亚马逊弹性 GuardDuty 容器注册表用户指南ECS中的在亚马逊上使用亚马逊ECR镜像。
-
验证组织服务控制策略
此步骤是支持运行时监控和评估不同资源类型的覆盖范围所必需的。 GuardDuty
如果您已设置服务控制策略 (SCP) 来管理组织中的权限,请验证您TaskExecutionRole
及其策略guardduty:SendSecurityTelemetry
中的权限边界是否没有限制。
以下示例策略会允许 guardduty:SendSecurityTelemetry
策略:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ ..., ..., "guardduty:SendSecurityTelemetry" ], "Resource": "*" } ] }
-
使用以下步骤验证权限边界未限制
guardduty:SendSecurityTelemetry
:登录 AWS Management Console 并打开IAM控制台,网址为https://console.aws.amazon.com/iam/
。 -
在导航窗格中的访问权限管理下,选择角色。
-
选择角色名称以打开详细信息页面。
-
展开权限边界部分。确保未拒绝或限制
guardduty:SendSecurityTelemetry
。
-
使用以下步骤验证
TaskExecutionRole
策略的权限边界未限制guardduty:SendSecurityTelemetry
:登录 AWS Management Console 并打开IAM控制台,网址为https://console.aws.amazon.com/iam/
。 -
在导航窗格中的访问权限管理下,选择策略。
-
选择策略名称以打开详细信息页面。
-
在附加的实体选项卡下,查看附加为权限边界部分。确保未拒绝或限制
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 v) CPU |
32 GB 到 120 GB 之间(以 8 GB 为增量) |
1 GB |
启用运行时监控并评估集群的覆盖率状态是否正常后,您可以设置和查看 Container Insights 指标。有关更多信息,请参阅 在 Amazon ECS 集群上设置监控。
下一步是配置运行时监控和安全代理。