

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 執行時期監控如何與 Amazon EKS 叢集搭配運作
<a name="how-runtime-monitoring-works-eks"></a>

執行期監控使用 [EKS 附加元件 `aws-guardduty-agent`](https://docs.aws.amazon.com/eks/latest/userguide/eks-add-ons.html#workloads-add-ons-available-eks)，也稱為 GuardDuty 安全代理程式。GuardDuty 安全代理程式部署在您的 EKS 叢集之後，GuardDuty 就能夠接收這些 EKS 叢集的執行期事件。

**備註**  
執行期監控**支援**在 Amazon EC2 執行個體和 Amazon EKS Auto 模式上執行的 Amazon EKS 叢集。  
執行期監控**不支援**具有 Amazon EKS 混合節點的 Amazon EKS 叢集，以及在其上執行的叢集 AWS Fargate。  
如需有關這些 Amazon EKS 功能的資訊，請參閱《[Amazon EKS 使用者指南》中的什麼是](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html) **Amazon EKS**？。

您可以在帳戶或叢集層級監控 Amazon EKS 叢集的執行期事件。您只能為要監控威脅偵測的 Amazon EKS 叢集管理 GuardDuty 安全代理程式。您可以使用自動代理程式組態，手動管理 GuardDuty 安全代理程式，或允許 GuardDuty 代表您管理它。

當您使用自動化代理程式組態方法來允許 GuardDuty 代表您管理安全代理程式的部署時，它會自動**建立 Amazon Virtual Private Cloud (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 預設管理屬於 AWS 帳戶之所有 EKS 叢集上的安全代理程式。現在 GuardDuty 提供精細的功能，有助於您選擇要讓 GuardDuty 管理安全代理程式的 EKS 叢集。

選擇 [手動管理 GuardDuty 安全代理程式](#eks-runtime-using-gdu-agent-manually) 時，您仍可選取要監控的 EKS 叢集。不過，若要手動管理代理程式，為您的 建立 Amazon VPC 端點 AWS 帳戶 是先決條件。

**注意**  
無論使用哪種方法來管理 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。透過 GuardDuty 管理安全代理程式時，無需額外付費即可建立 Amazon VPC 端點。
+ 您的工作節點必須具有作用中 `guardduty-data` VPC 端點的有效網路路徑。GuardDuty 會在您的 EKS 叢集上部署安全代理程式。Amazon Elastic Kubernetes Service (Amazon EKS) 將協調在 EKS 叢集中的節點上部署安全代理程式。
+ GuardDuty 會根據 IP 可用性選取子網路來建立 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 政策來管理修改 EKS 叢集的 `GuardDutyManaged` 標籤值的許可。如需詳細資訊，請參閱《AWS Organizations 使用者指南》**中的[服務控制政策 (SCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) 或《IAM 使用者指南》**中的[控制對 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 政策來管理修改 EKS 叢集的 `GuardDutyManaged` 標籤值的許可。如需詳細資訊，請參閱《AWS Organizations 使用者指南》**中的[服務控制政策 (SCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html) 或《IAM 使用者指南》**中的[控制對 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 叢集中所有帳戶以及此功能可用 AWS 區域 位置的 GuardDuty 安全代理程式部署。當 GuardDuty 發行代理程式版本時，您也需要更新代理程式版本。如需 EKS 代理程式版本的詳細資訊，請參閱 [Amazon EKS 資源的 GuardDuty 安全代理程式版本](runtime-monitoring-agent-release-history.md#eks-runtime-monitoring-agent-release-history)。

**考量**  
在持續部署新叢集和工作負載時，您必須支援安全的資料流程，同時監控和解決涵蓋範圍差距。