

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

# 运行时监控如何与 Amazon EKS 集群结合使用
<a name="how-runtime-monitoring-works-eks"></a>

运行时监控使用 E [KS 附加组件 `aws-guardduty-agent`](https://docs.aws.amazon.com/eks/latest/userguide/eks-add-ons.html#workloads-add-ons-available-eks)，也称为 GuardDuty 安全代理。在您的 EKS 集群上部署 GuardDuty安全代理后， GuardDuty 就可以接收这些 EKS 集群的运行时事件了。

**注意**  
运行时监控**支持**在 Amazon EC2 实例上运行的 Amazon EKS 集群和 Amazon EKS 自动模式。  
运行时监控**不支持**带有 Amazon EKS 混合节点功能的 Amazon EKS 集群以及在 AWS Fargate上运行的集群。  
有关这些 Amazon EKS 功能的更多信息，请参阅《Amazon EKS 用户指南》****中的[什么是 Amazon EKS？](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html)

您可以在账户或集群级别监控 Amazon EKS 集群的运行时事件。您只能管理要监控以进行威胁检测的 Amazon EKS 集群 GuardDuty 的安全代理。您可以手动管理 GuardDuty 安全客户端，也可以使用自动代理配置来代表您管理安全客户端。 GuardDuty 

当您使用自动代理配置方法 GuardDuty 来允许代表您管理安全代理的部署时，它将自动**创建亚马逊虚拟私有云 (Amazon VPC) 终端节点**。安全代理使用此 Amazon VPC 终端节点将 GuardDuty 运行时事件传送到。

除了 VPC 终端节点外， GuardDuty 还会创建一个新的安全组。入站（入口）规则控制允许访问与安全组关联的资源的流量。 GuardDuty 添加与您的资源的 VPC CIDR 范围相匹配的入站规则，并在 CIDR 范围发生变化时对其进行调整。有关更多信息，请参阅《Amazon VPC 用户指南》中的 [VPC CIDR 范围](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-cidr-blocks.html)**。

**注意**  
使用 VPC 端点不会产生额外的成本。
使用带有自动代理的集中式 VPC — 当您对资源类型使用 GuardDuty 自动代理配置时， GuardDuty 将代表您为所有资源类型创建 VPC 终端节点 VPCs。这包括集中式 VPC 和分支 VPCs。 GuardDuty 不支持仅为集中式 VPC 创建 VPC 终端节点。有关集中式 VPC 工作原理的更多信息，请参阅*AWS 白皮书《构建可扩展且安全的多 VPC AWS 网络基础设施》中的 “接口 VPC* [终端节点](https://docs.aws.amazon.com/whitepapers/latest/building-scalable-secure-multi-vpc-network-infrastructure/centralized-access-to-vpc-private-endpoints.html#interface-vpc-endpoints)”。

## 在 Amazon EKS 集群中管理 GuardDuty 安全代理的方法
<a name="eksrunmon-approach-to-monitor-eks-clusters"></a>

在 2023 年 9 月 13 日之前，您可以配置 GuardDuty 为在账户级别管理安全代理。此行为表明，默认情况下， GuardDuty 将在属于的所有 EKS 集群上管理安全代理 AWS 账户。现在， GuardDuty 提供了精细的功能来帮助您选择 GuardDuty 要管理安全代理的 EKS 集群。

选择 [手动管理 GuardDuty 安全代理](#eks-runtime-using-gdu-agent-manually) 后，您仍然可以选择要监控的 EKS 集群。但是，要手动管理代理，先决条件 AWS 账户 是为您创建 Amazon VPC 终端节点。

**注意**  
无论您使用哪种方法来管理 GuardDuty 安全代理，EKS 运行时监控始终在账户级别启用。

**Topics**
+ [通过以下方式管理安全代理 GuardDuty](#eks-runtime-using-gdu-agent-management-auto)
+ [手动管理 GuardDuty 安全代理](#eks-runtime-using-gdu-agent-manually)

### 通过以下方式管理安全代理 GuardDuty
<a name="eks-runtime-using-gdu-agent-management-auto"></a>

GuardDuty 代表您部署和管理安全客户端。在任何时候，您都可以使用以下方法之一监控账户中的 EKS 集群。

**Topics**
+ [监控所有 EKS 集群](#gdu-security-agent-all-eks-custers)
+ [排除选定的 EKS 集群](#eks-runtime-using-exclusion-tags)
+ [包含选定的 EKS 集群](#eks-runtime-using-inclusion-tags)

#### 监控所有 EKS 集群
<a name="gdu-security-agent-all-eks-custers"></a>

当您想要 GuardDuty 为账户中的所有 EKS 集群部署和管理安全代理时，请使用此方法。默认情况下，还 GuardDuty 会在您的账户中创建的潜在新 EKS 集群上部署安全代理。

**使用此方法的影响**  
+ GuardDuty 创建一个 Amazon Virtual Private Cloud (Amazon VPC) 终端节点， GuardDuty 安全代理通过该终端节点将运行时事件传送到 GuardDuty。当您通过管理安全代理时，创建 Amazon VPC 终端节点不会产生额外费用 GuardDuty。
+ 您的工作节点必须具有通往活动 `guardduty-data` VPC 终端节点的有效网络路径。 GuardDuty 在您的 EKS 集群上部署安全代理。Amazon Elastic Kubernetes Service（Amazon EKS）将协调 EKS 集群内节点上安全代理的部署。
+ 根据 IP 可用性， GuardDuty 选择要创建 VPC 终端节点的子网。如果您使用高级网络拓扑，则必须验证连接是否可行。

#### 排除选定的 EKS 集群
<a name="eks-runtime-using-exclusion-tags"></a>

如果您想要 GuardDuty 管理账户中所有 EKS 集群的安全代理，但不包括特定的 EKS 集群，请使用此方法。此方法使用基于标签 [1](#eks-runtime-inclusion-exclusion-tags) 的方法，在这种方法中，您可以标记不希望接收运行时事件的 EKS 集群。预定义标签必须以 `GuardDutyManaged`-`false` 作为键值对。

**使用此方法的影响**  
此方法要求只有在向要排除在监控范围之外的 EKS 集群添加标签后，才能启用 GuardDuty 代理自动管理。  
因此，当 [通过以下方式管理安全代理 GuardDuty](#eks-runtime-using-gdu-agent-management-auto) 适用于此方法时，也会产生影响。在启用 GuardDuty 代理自动管理之前添加标签时，既 GuardDuty 不会为不受监控的 EKS 集群部署也不管理安全代理。

**注意事项**  
+ 在启用自动代理配置之前，您必须将标签键值对添加为`GuardDutyManaged`：`false`对于选定的 EKS 集群，否则，在您使用标签之前， GuardDuty 安全代理将部署在所有 EKS 集群上。
+ 您必须防止标签被修改，除非由可信身份修改。
**重要**  
使用服务控制策略或 IAM policy 管理修改 EKS 集群 `GuardDutyManaged` 标签值的权限。有关更多信息，请参阅用户指南中的[服务控制策略 (SCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) 或 *IAM *AWS Organizations 用户指南**中的[控制 AWS 资源访问权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)。
+ 对于您不想监控的潜在新 EKS 集群，请确保在创建此 EKS 集群时添加 `GuardDutyManaged`-`false` 键值对。
+ 此方法的注意事项与 [监控所有 EKS 集群](#gdu-security-agent-all-eks-custers) 的注意事项相同。

#### 包含选定的 EKS 集群
<a name="eks-runtime-using-inclusion-tags"></a>

如果您只 GuardDuty 想为账户中的精选 EKS 集群部署和管理安全代理更新，请使用此方法。此方法使用基于标签 [1](#eks-runtime-inclusion-exclusion-tags) 的方法，在这种方法中，您可以标记要接收运行时事件的 EKS 集群。

**使用此方法的影响**  
+ 通过使用包含标签， GuardDuty 将仅为标有 `GuardDutyManaged`-`true` 作为键值对的精选 EKS 集群自动部署和管理安全代理。
+ 使用此方法的影响与 [监控所有 EKS 集群](#gdu-security-agent-all-eks-custers) 的影响相同。

**注意事项**  
+ 如果 `GuardDutyManaged` 标签的值未设置为 `true`，则包含标签将无法按预期工作，这可能会影响对您的 EKS 集群的监控。
+ 为确保监控您选择性 EKS 集群，您需要防止标签被修改，除非由可信身份进行修改。
**重要**  
使用服务控制策略或 IAM policy 管理修改 EKS 集群 `GuardDutyManaged` 标签值的权限。有关更多信息，请参阅用户指南中的[服务控制策略 (SCPs)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) 或 *IAM *AWS Organizations 用户指南**中的[控制 AWS 资源访问权限](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)。
+ 对于您不想监控的潜在新 EKS 集群，请确保在创建此 EKS 集群时添加 `GuardDutyManaged`-`false` 键值对。
+ 此方法的注意事项与 [监控所有 EKS 集群](#gdu-security-agent-all-eks-custers) 的注意事项相同。<a name="eks-runtime-inclusion-exclusion-tags"></a>

1 有关标记选择性 EKS 集群的更多信息，请参阅《Amazon EKS 用户指南》****中的[标记 Amazon EKS 资源](https://docs.aws.amazon.com/eks/latest/userguide/eks-using-tags.html)。

### 手动管理 GuardDuty 安全代理
<a name="eks-runtime-using-gdu-agent-manually"></a>

如果您想在所有 EKS 集群上手动部署和管理 GuardDuty 安全代理，请使用此方法。确保为您的账户启用 EKS 运行时监控。如果您不启用 EKS 运行时监控，则 GuardDuty安全代理可能无法按预期运行。

**使用此方法的影响**  
您需要在 EKS 集群中协调 GuardDuty 安全代理的部署，跨所有账户以及该功能可用 AWS 区域 的地方。发布代理 GuardDuty 版本时，您还需要对其进行更新。有关适用于 EKS 的代理版本的更多信息，请参阅[GuardDuty Amazon EKS 资源的安全代理版本](runtime-monitoring-agent-release-history.md#eks-runtime-monitoring-agent-release-history)。

**注意事项**  
随着新集群和工作负载的持续部署，您必须在监控和解决覆盖率缺口的同时，支持安全的数据流。