

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

# 手動管理 Amazon EKS 叢集的安全代理程式
<a name="managing-gdu-agent-eks-manually"></a>

本節說明如何在啟用執行期監控 （或 EKS 執行期監控） 之後管理 Amazon EKS 附加元件代理程式 (GuardDuty 代理程式）。若要使用執行期監控，您必須啟用執行期監控並設定 Amazon EKS 附加元件 `aws-guardduty-agent`。您需要執行 GuardDuty 的兩個步驟，以偵測潛在威脅並產生 [GuardDuty 執行期監控調查結果類型](findings-runtime-monitoring.md)。

若要手動管理代理程式，您需要建立 VPC 端點做為先決條件。這有助於 GuardDuty 接收執行期事件。之後，您可以安裝安全代理程式，讓 GuardDuty 開始從 Amazon EKS 資源接收執行期事件。當 GuardDuty 為此資源發行新的代理程式版本時，您可以在帳戶中更新代理程式版本。

**Topics**
+ [先決條件 – 建立 Amazon VPC 端點](eksrunmon-prereq-deploy-security-agent.md)
+ [在 Amazon EKS 資源上手動安裝 GuardDuty 安全代理程式](eksrunmon-deploy-security-agent.md)
+ [手動更新 Amazon EKS 資源的安全代理程式](eksrunmon-update-security-agent.md)

# 先決條件 – 建立 Amazon VPC 端點
<a name="eksrunmon-prereq-deploy-security-agent"></a>

您必須先建立 Amazon Virtual Private Cloud (Amazon VPC) 端點，才能安裝 GuardDuty 安全代理程式。這將有助於 GuardDuty 接收 Amazon EKS 資源的執行期事件。

**注意**  
VPC 端點的使用無需額外費用。

選擇偏好的存取方法來建立 Amazon VPC 端點。

------
#### [ Console ]

**建立 VPC 端點**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽窗格中的**虛擬私有雲端**下，選擇**端點**。

1. 選擇**建立端點**。

1. 在**建立端點**頁面上，為**服務類別**選擇**其他端點服務**。

1. 對於**服務名稱**，輸入 **com.amazonaws.*us-east-1*.guardduty-data**。

   請務必使用正確的區域取代 *us-east-1*。這必須與屬於您 AWS 帳戶 ID 的 EKS 叢集的區域相同。

1. 選擇**驗證服務**。

1. 成功驗證服務名稱後，選擇叢集所在的 **VPC**。新增下列策略，以將 VPC 端點用量限制為僅限指定帳戶。您可以透過本政策下方提供的組織 `Condition`，更新下列政策以限制對端點的存取權限。若要為組織中的特定帳戶 ID 提供 VPC 端點支援，請參閱[Organization condition to restrict access to your endpoint](#gdu-shared-vpc-endpoint-org)。

------
#### [ JSON ]

****  

   ```
   {
   	"Version":"2012-10-17",		 	 	 
   	"Statement": [
   		{
   			"Action": "*",
   			"Resource": "*",
   			"Effect": "Allow",
   			"Principal": "*"
   		},
   		{
   			"Condition": {
   				"StringNotEquals": {
   					"aws:PrincipalAccount": "111122223333" 
   				}
   			},
   			"Action": "*",
   			"Resource": "*",
   			"Effect": "Deny",
   			"Principal": "*"
   		}
   	]
   }
   ```

------

   `aws:PrincipalAccount` 帳戶 ID 必須符合包含 VPC 和 VPC 端點的帳戶。下列清單顯示如何與其他 AWS 帳戶 ID 共用 VPC 端點：

**限制端點存取的組織條件**
   + 若要指定可存取 VPC 端點的多個帳戶，請使用下列項目取代 `"aws:PrincipalAccount": "111122223333"`：

     ```
     "aws:PrincipalAccount": [
               "666666666666",
               "555555555555"
         ]
     ```
   + 若要允許組織中的所有成員存取 VPC 端點，請使用下列項目取代 `"aws:PrincipalAccount": "111122223333"`：

     ```
     "aws:PrincipalOrgID": "o-abcdef0123"
     ```
   + 若要限制存取組織 ID 的資源，請將您的 `ResourceOrgID` 新增至該政策。

     如需詳細資訊，請參閱 [ResourceOrgID](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourceorgid)。

     ```
     "aws:ResourceOrgID": "o-abcdef0123"
     ```

1. 在**其他設定**下方，選擇**啟用 DNS 名稱**。

1. 在**子網路**下方，選擇叢集所在的子網路。

1. 在**安全群組**下方，選擇擁有從您的 VPC (或 EKS 叢集) 啟用之輸入連接埠 443 的安全群組。如果您尚未擁有已啟用輸入連接埠 443 的安全群組，則[建立安全群組](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-security-groups.html#creating-security-group)。

   如果在限制 VPC （或執行個體） 的傳入許可時發生問題，您可以從任何 IP 地址 傳入 443 連接埠`(0.0.0.0/0)`。不過，GuardDuty 建議使用符合 VPC CIDR 區塊的 IP 地址。如需詳細資訊，請參閱《Amazon [VPC 使用者指南》中的 VPC CIDR 區塊](https://docs.aws.amazon.com//vpc/latest/userguide/vpc-cidr-blocks.html)。 **

------
#### [ API/CLI ]

**建立 VPC 端點**
+ 調用 [CreateVpcEndpoint](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateVpcEndpoint.html)。
+ 使用下列值做為參數︰
  + 對於**服務名稱**，輸入 **com.amazonaws.*us-east-1*.guardduty-data**。

    請務必使用正確的區域取代 *us-east-1*。這必須與屬於您 AWS 帳戶 ID 的 EKS 叢集的區域相同。
  + 對於 [DNSOptions](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DnsOptions.html)，請將它設定為 `true`，以啟用私有 DNS 選項。
+ 如需 AWS Command Line Interface，請參閱 [create-vpc-endpoint](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/create-vpc-endpoint.html)。

------

遵循步驟後，請參閱 [驗證 VPC 端點組態](validate-vpc-endpoint-config-runtime-monitoring.md)以確保 VPC 端點已正確設定。

# 在 Amazon EKS 資源上手動安裝 GuardDuty 安全代理程式
<a name="eksrunmon-deploy-security-agent"></a>

本節說明如何為特定 EKS 叢集首次部署 GuardDuty 安全代理程式。在繼續本節之前，請確定您已為帳戶設定先決條件並啟用執行期監控。如果您未啟用執行期監控，GuardDuty 安全代理程式 (EKS 附加元件） 將無法運作。

選擇首次部署 GuardDuty 安全代理程式的偏好存取方法。

------
#### [ Console ]

1. 在以下網址開啟 Amazon EKS 主控台：[https://console.aws.amazon.com/eks/home\$1/clusters](https://console.aws.amazon.com/eks/home#/clusters)。

1. 選擇您的**叢集名稱**。

1. 選擇**附加元件**索引標籤。

1. 選擇**取得更多附加元件**。

1. 在**選擇附加元件**頁面上，選擇 **Amazon GuardDuty EKS 執行期監控**。

1. GuardDuty 建議選擇最新和預設的代理程式**版本**。

1. 在**設定選取的附加元件設定**頁面上，使用預設設定。如果 EKS 附加元件的**狀態**為**需要啟用**，請選擇**啟用 GuardDuty**。此動作將開啟 GuardDuty 主控台，為您的帳戶設定執行期監控。

1. 為您的帳戶設定執行期監控之後，請切換回 Amazon EKS 主控台。EKS 附加元件的**狀態**應已變更為**可立即安裝**。

1. 

**（選用） 提供 EKS 附加元件組態結構描述**

   對於附加元件**版本**，如果您選擇 **v1.5.0** 或更新版本，執行期監控支援設定 GuardDuty 代理程式的特定參數。如需參數範圍的資訊，請參閱 [設定 EKS 附加元件參數](guardduty-configure-security-agent-eks-addon.md)。

   1. 展開**選用組態設定**，以檢視可設定的參數及其預期值和格式。

   1. 設定參數。這些值必須在 中提供的範圍內[設定 EKS 附加元件參數](guardduty-configure-security-agent-eks-addon.md)。

   1. 選擇**儲存變更**，根據進階組態建立附加元件。

   1. 對於**衝突解決方法**，當您將參數的值更新為非預設值時，您選擇的選項將用於解決衝突。如需所列選項的詳細資訊，請參閱《*Amazon EKS API 參考*》中的 [resolveConflicts](https://docs.aws.amazon.com/eks/latest/APIReference/API_UpdateAddon.html#AmazonEKS-UpdateAddon-request-resolveConflicts)。

1. 選擇**下一步**。

1. 在**檢閱和建立**頁面上，確認所有詳細資訊，然後選擇**建立**。

1. 導覽回叢集詳細資訊，然後選擇**資源**索引標籤。

1. 您可以檢視字首為 **aws-guardduty-agent** 的新 Pod。

------
#### [ API/CLI ]

您可以使用下列任一選項來設定 Amazon EKS 附加元件代理程式 (`aws-guardduty-agent`)：
+ 為您的帳戶執行 [CreateAddon](https://docs.aws.amazon.com/eks/latest/APIReference/API_CreateAddon.html)。
+ 
**注意**  
對於附加元件 `version`，如果您選擇 **v1.5.0 或更新版本**，執行期監控支援設定 GuardDuty 代理程式的特定參數。如需詳細資訊，請參閱[設定 EKS 附加元件參數](guardduty-configure-security-agent-eks-addon.md)。

  使用下列值作為請求參數︰
  + 針對 `addonName`，請輸入 `aws-guardduty-agent`。

    使用附加元件版本 `v1.5.0` 或更新版本支援的可設定值時，您可以使用下列 AWS CLI 範例。請務必取代以紅色反白顯示的預留位置值，以及`Example.json`與設定值相關聯的 。

    ```
    aws eks create-addon --region us-east-1 --cluster-name myClusterName --addon-name aws-guardduty-agent --addon-version v1.12.1-eksbuild.2 --configuration-values 'file://example.json'
    ```  
**Example.json**  

    ```
    {
    	"priorityClassName": "aws-guardduty-agent.priorityclass-high",
    	"dnsPolicy": "Default",
    	"resources": {
    		"requests": {
    			"cpu": "237m",
    			"memory": "512Mi"
    		},
    		"limits": {
    			"cpu": "2000m",
    			"memory": "2048Mi"
    		}
    	}	
    }
    ```
  + 如需有關支援的 `addonVersion` 的資訊，請參閱[GuardDuty 安全代理程式支援的 Kubernetes 版本](prereq-runtime-monitoring-eks-support.md#gdu-agent-supported-k8-version)。
+ 或者，您可以使用 AWS CLI。如需詳細資訊，請參閱 [create-addon](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/eks/create-addon.html)。

------

**VPC 端點的私有 DNS 名稱**  
根據預設，安全代理程式會解析並連線至 VPC 端點的私有 DNS 名稱。對於非 FIPS 端點，您的私有 DNS 會以下列格式顯示：  
非 FIPS 端點 – `guardduty-data.us-east-1.amazonaws.com`  
us AWS 區域*-east-1* 會根據您的區域而變更。

# 手動更新 Amazon EKS 資源的安全代理程式
<a name="eksrunmon-update-security-agent"></a>

當您手動管理 GuardDuty 安全代理程式時，您需負責更新帳戶的 GuardDuty 安全代理程式。如需新代理程式版本的通知，您可以訂閱 RSS 摘要至 [GuardDuty 安全代理程式發行版本](runtime-monitoring-agent-release-history.md)。

您可以將安全代理程式更新到最新版本，以受益於新增的支援和改進。如果您目前的代理程式版本即將結束標準支援，則若要繼續使用執行期監控 （或 EKS 執行期監控），您必須更新至下一個可用或最新的代理程式版本。

**必要條件**  
更新安全代理程式版本之前，請確定您現在計劃使用的代理程式版本與您的 Kubernetes 版本相容。如需詳細資訊，請參閱[GuardDuty 安全代理程式支援的 Kubernetes 版本](prereq-runtime-monitoring-eks-support.md#gdu-agent-supported-k8-version)。

------
#### [ Console ]

1. 在以下網址開啟 Amazon EKS 主控台：[https://console.aws.amazon.com/eks/home\$1/clusters](https://console.aws.amazon.com/eks/home#/clusters)。

1. 選擇您的**叢集名稱**。

1. 在**叢集資訊**下，選擇**附加元件**標籤。

1. 在**附加元件**索引標籤下，選取 **GuardDuty EKS 執行期監控**。

1. 選擇**編輯**以更新客服人員詳細資訊。

1. 在**設定 GuardDuty EKS 執行期監控**頁面上，更新詳細資訊。

1. 

**（選用） 更新選用組態設定**

   如果您的 EKS 附加元件**版本**為 *1.5.0* 或更新版本，您也可以更新附加元件組態結構描述。

   1. 展開**選用組態設定**以檢視組態結構描述。

   1. 根據 中提供的範圍更新參數值[設定 EKS 附加元件參數](guardduty-configure-security-agent-eks-addon.md)。

   1. 選擇**儲存變更**以開始更新。

   1. 對於**衝突解決方法**，當您將參數的值更新為非預設值時，您選擇的選項將用於解決衝突。如需所列選項的詳細資訊，請參閱《*Amazon EKS API 參考*》中的 [resolveConflicts](https://docs.aws.amazon.com/eks/latest/APIReference/API_UpdateAddon.html#AmazonEKS-UpdateAddon-request-resolveConflicts)。

------
#### [ API/CLI ]

若要更新 Amazon EKS 叢集的 GuardDuty 安全代理程式，請參閱[更新附加元件](https://docs.aws.amazon.com/eks/latest/userguide/managing-add-ons.html#updating-an-add-on)。

**注意**  
對於附加元件 `version`，如果您選擇 **1.5.0 或更新版本**，執行期監控支援設定 GuardDuty 代理程式的特定參數。如需參數範圍的資訊，請參閱 [設定 EKS 附加元件參數](guardduty-configure-security-agent-eks-addon.md)。

使用附加元件版本 *1.5.0 及更高*版本支援的可設定值時，您可以使用下列 AWS CLI 範例。請務必取代以紅色反白顯示的預留位置值，以及`Example.json`與設定值相關聯的 。

```
aws eks update-addon --region us-east-1 --cluster-name myClusterName --addon-name aws-guardduty-agent --addon-version v1.12.1-eksbuild.2 --configuration-values 'file://example.json'
```

**Example.json**  

```
{
	"priorityClassName": "aws-guardduty-agent.priorityclass-high",
	"dnsPolicy": "Default",
	"resources": {
		"requests": {
			"cpu": "237m",
			"memory": "512Mi"
		},
		"limits": {
			"cpu": "2000m",
			"memory": "2048Mi"
		}
	}	
}
```

------

如果您的 Amazon EKS 附加元件版本為 1.5.0 或更新版本，且您已設定附加元件結構描述，您可以驗證叢集的值是否正確顯示。如需詳細資訊，請參閱[驗證組態結構描述更新](guardduty-configure-security-agent-eks-addon.md#gdu-verify-eks-add-on-configuration-param)。