

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

# S3 的 GuardDuty 惡意軟體防護
<a name="gdu-malware-protection-s3"></a>

惡意軟體防護 S3 透過將新上傳的物件掃描到您選取的 Amazon Simple Storage Service (Amazon S3) 儲存貯體，協助您偵測潛在的惡意軟體存在。當 S3 物件或現有 S3 物件的新版本上傳到您選取的儲存貯體時，GuardDuty 會自動啟動惡意軟體掃描。

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/uweeumMAif4/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/uweeumMAif4)


**為 S3 啟用惡意軟體防護的兩種方法**  
當您啟用 S3GuardDuty AWS 帳戶 服務，並使用惡意軟體防護 S3 作為整體 GuardDuty 體驗的一部分，或當您想要單獨使用惡意軟體防護 S3 功能而不啟用 GuardDuty 服務時，您可以啟用惡意軟體防護 S3。當您自行啟用 S3 的惡意軟體防護時，GuardDuty 文件會將其稱為使用 S3 的惡意軟體防護做為獨立功能。  

**獨立使用 S3 惡意軟體防護的考量事項**
+ GuardDuty 安全性調查結果 – 偵測器 ID 是與區域中您的帳戶相關聯的唯一識別符。當您在帳戶中的一或多個區域中啟用 GuardDuty 時，會在您啟用 GuardDuty 的每個區域中自動為此帳戶建立偵測器 ID。如需詳細資訊，請參閱 [Amazon GuardDuty 中的概念和關鍵術語](guardduty_concepts.md) 文件中的*偵測器*。

  當您在帳戶中獨立啟用 S3 的惡意軟體防護時，該帳戶**將不會**有相關聯的偵測器 ID。這會影響您可用的 GuardDuty 功能。例如，當 S3 惡意軟體掃描偵測到存在惡意軟體時，不會在 中產生 GuardDuty 調查結果， AWS 帳戶 因為所有 GuardDuty 調查結果都與偵測器 ID 相關聯。
+ 檢查掃描的物件是否為惡意物件 – 根據預設，GuardDuty 會將惡意軟體掃描結果發佈至您的預設 Amazon EventBridge 事件匯流排和 Amazon CloudWatch 命名空間。當您為儲存貯體啟用適用於 S3 的惡意軟體防護時，掃描的 S3 物件會收到提及掃描結果的標籤。如需標記的相關資訊，請參閱[根據掃描結果選擇性標記物件](how-malware-protection-for-s3-gdu-works.md#enable-optional-tagging-malware-protection-s3)。

**啟用 S3 惡意軟體防護的一般考量事項**  
無論您是獨立使用惡意軟體防護 S3，還是作為 GuardDuty 體驗的一部分，都適用下列一般考量：  
+ 您可以為屬於您自己的 帳戶的 Amazon S3S3 儲存貯體啟用惡意軟體防護。身為委派的 GuardDuty 管理員帳戶，您無法在屬於成員帳戶的 Amazon S3 儲存貯體中啟用此功能。
+ 您可以在屬於目前在 GuardDuty 主控台中選取之相同區域的 S3 儲存貯體中啟用此功能。GuardDuty 不支援在跨區域 S3 儲存貯體中啟用此功能。
+ 作為委派的 GuardDuty 管理員帳戶，每次組織其中一個成員帳戶針對此功能設定的 [檢視和了解受保護的儲存貯體狀態](malware-protection-s3-bucket-status-gdu.md) S3 儲存貯體的 發生變更時，您都會收到 Amazon EventBridge 通知。

**Topics**
+ [S3 惡意軟體防護的定價和使用成本](pricing-malware-protection-for-s3-guardduty.md)
+ [S3 的惡意軟體防護如何運作？](how-malware-protection-for-s3-gdu-works.md)
+ [S3 的惡意軟體防護功能](s3-malware-protection-capability.md)
+ [（選用） 獨立開始使用 S3 的 GuardDuty 惡意軟體防護 （僅限主控台）](malware-protection-s3-get-started-independent.md)
+ [為您的儲存貯體設定 S3 的惡意軟體防護](configuring-malware-protection-for-s3-guardduty.md)
+ [啟用 S3 的惡意軟體防護之後的步驟](malware-protection-s3-steps-after-enabling.md)
+ [GuardDuty 中的隨需 S3 惡意軟體掃描](malware-protection-s3-on-demand.md)
+ [使用標籤型存取控制 (TBAC) 搭配適用於 S3 的惡意軟體防護](tag-based-access-s3-malware-protection.md)
+ [檢視和了解受保護的儲存貯體狀態](malware-protection-s3-bucket-status-gdu.md)
+ [在 S3 的惡意軟體防護中監控 S3 物件掃描](monitoring-malware-protection-s3-scans-gdu.md)
+ [疑難排解](troubleshoot-s3-malware-protection.md)
+ [編輯受保護儲存貯體的惡意軟體防護計劃](edit-malware-protection-protected-s3-bucket.md)
+ [停用受保護儲存貯體的 S3 惡意軟體防護](disable-malware-s3-protected-bucket.md)
+ [Amazon S3 功能的支援能力](supported-s3-features-malware-protection-s3.md)
+ [S3 惡意軟體防護的配額](malware-protection-s3-quotas-guardduty.md)

# S3 惡意軟體防護的定價和使用成本
<a name="pricing-malware-protection-for-s3-guardduty"></a>

S3 的惡意軟體防護定價的運作方式與 GuardDuty 中的其他保護計畫不同。雖然大多數 GuardDuty 保護計劃遵循 30 天的短期免費試用，但適用於 S3 的惡意軟體防護遵循 12 個月的 免費方案計劃 AWS。如需 GuardDuty 定價的資訊，請參閱 [GuardDuty 中的定價](guardduty-pricing.md)。

以下清單提供與使用惡意軟體防護 S3 相關的定價成本。

**免費方案計劃 （掃描成本）**  
每個 AWS 帳戶 都會取得 12 個月的免費方案，其中包含每個區域每月最多特定限制的用量。每個 都會 AWS 帳戶 取得每月免費方案用量，最多掃描 1，000 個請求和 1 GB 資料。如果您的用量超過指定的限制，您將開始產生超出限制的用量成本。如需完整的定價詳細資訊，請參閱 [GuardDuty 保護計畫定價](https://aws.amazon.com/guardduty/pricing/#GuardDuty_protection_plans)。  
 免費方案不包含隨需掃描。
如需啟用 S3 惡意軟體防護後使用成本的相關資訊，請參閱 [檢閱 S3 惡意軟體防護的使用成本檢閱用量成本](usage-cost-malware-protection-s3-gdu.md)。

**S3 物件標記用量成本**  
當您啟用 S3 的惡意軟體防護時，您可以選擇是否為掃描的 S3 物件啟用標記。當您選擇啟用 S3 物件標記時，會有相關聯的使用成本。如需成本的詳細資訊，請參閱 *Amazon S3 定價頁面上*的[管理與洞察索引標籤](https://aws.amazon.com/s3/pricing/)。  
免費方案**不包含** S3 物件標記用量成本。

**Amazon S3 APIs - GET和PUT用量成本**  
當 GuardDuty 根據 IAM 角色執行 Amazon S3 APIs 時，您將產生使用成本。例如，在擔任 IAM 角色之後，GuardDuty 會執行 `PutObject` API，將測試物件新增至您選取的儲存貯體。這有助於 GuardDuty 評估功能的啟用狀態。  
如需有關 中 S3 API 呼叫定價的資訊 AWS 區域，請參閱 [Amazon S3 定價頁面上儲存和請求索引標籤下的請求和資料擷取](https://aws.amazon.com/s3/pricing/#aws-element-86cbc19a-da4c-4c04-bb4f-5c4d1a2de09e)。 *Amazon S3 *

# 檢閱 S3 惡意軟體防護的使用成本
<a name="usage-cost-malware-protection-s3-gdu"></a>

當您使用超過 免費方案計劃特定限制的 S3 惡意軟體防護，或您的帳戶的 12 個月 免費方案計劃結束時，您的帳戶會開始產生使用成本。如需 免費方案計劃的詳細資訊，請參閱 [S3 惡意軟體防護的定價和使用成本](pricing-malware-protection-for-s3-guardduty.md)。請注意，免費方案不適用於惡意軟體防護 S3 隨需物件掃描。

GuardDuty 主控台不支援檢閱惡意軟體防護的 S3 使用成本。若要檢視用量成本，請導覽至 [https://console.aws.amazon.com/costmanagement/](https://console.aws.amazon.com/costmanagement/) 主控台中的 **Cost Explorer**。如需 AWS 帳戶 帳單的相關資訊，請參閱[AWS Billing 《 使用者指南》](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-what-is.html)。

如需 GuardDuty 中估計用量成本的資訊，請參閱 [監控用量和估計成本](monitoring_costs.md)。

# S3 的惡意軟體防護如何運作？
<a name="how-malware-protection-for-s3-gdu-works"></a>

本節說明適用於 S3 的惡意軟體防護元件、啟用 S3 儲存貯體之後的運作方式，以及如何檢閱惡意軟體掃描狀態和結果。

## 概觀
<a name="overview-how-malware-protection-s3-works"></a>

您可以為屬於您自己的 Amazon S3 儲存貯體啟用適用於 S3 的惡意軟體防護 AWS 帳戶。 Amazon S3 GuardDuty 可讓您靈活地為整個儲存貯體啟用此功能，或將惡意軟體掃描的範圍限制為特定[物件字首](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-prefixes.html)，其中 GuardDuty 會掃描以其中一個所選字首開頭的每個上傳物件。您最多可以新增 5 個字首。當您為 S3 儲存貯體啟用 功能時，該儲存貯體稱為**受保護的儲存貯**體。

## IAM 角色許可
<a name="passrole-iam-permissions-malware-protection-s3"></a>

S3 的惡意軟體防護使用 IAM 角色，允許 GuardDuty 代表您執行惡意軟體掃描動作。這些動作包括收到所選儲存貯體中新上傳物件的通知、掃描這些物件，以及選擇性地將標籤新增至掃描的物件。這是使用此功能設定 S3 儲存貯體的先決條件。

您可以選擇更新現有的 IAM 角色，或為此建立新的角色。當您為多個儲存貯體啟用 S3 的惡意軟體防護時，您可以視需要更新現有的 IAM 角色以包含其他儲存貯體名稱。如需詳細資訊，請參閱[建立或更新 IAM 角色政策](malware-protection-s3-iam-policy-prerequisite.md)。

## 根據掃描結果選擇性標記物件
<a name="enable-optional-tagging-malware-protection-s3"></a>

在為您的儲存貯體啟用 S3 的惡意軟體防護時，有一個選用步驟可啟用掃描 S3 物件的標記。IAM 角色已包含在掃描後將標籤新增至物件的許可。不過，只有當您在設定時啟用此選項時，GuardDuty 才會新增標籤。

您必須先啟用此選項，才能上傳物件。掃描結束後，GuardDuty 會使用下列索引鍵：值對，將預先定義的標籤新增至掃描的 S3 物件：

`GuardDutyMalwareScanStatus`:`Potential scan result`

潛在的掃描結果標籤值包括 `NO_THREATS_FOUND`、`THREATS_FOUND`、`ACCESS_DENIED`、 `UNSUPPORTED`和 `FAILED`。如需這些值的詳細資訊，請參閱 [S3 物件潛在掃描狀態和結果狀態](monitoring-malware-protection-s3-scans-gdu.md#s3-object-scan-result-value-malware-protection)。

啟用標記是了解 S3 物件掃描結果的方法之一。您可以進一步使用這些標籤來新增標籤型存取控制 (TBAC) S3 資源政策，以便對潛在惡意物件採取動作。如需詳細資訊，請參閱[在 S3 儲存貯體資源上新增 TBAC](tag-based-access-s3-malware-protection.md#apply-tbac-s3-malware-protection)。

建議您在為儲存貯體設定 S3 惡意軟體防護時啟用標記。如果您在物件上傳後啟用標記，且可能啟動掃描，GuardDuty 將無法將標籤新增至掃描的物件。如需相關 S3 物件標記成本的資訊，請參閱 [S3 惡意軟體防護的定價和使用成本](pricing-malware-protection-for-s3-guardduty.md)。

## 為儲存貯體啟用 S3 的惡意軟體防護之後的程序
<a name="after-enabling-malware-protection-s3"></a>

啟用適用於 S3 的惡意軟體防護之後，**惡意軟體防護計劃資源**會專門為選取的 S3 儲存貯體建立。此資源與惡意軟體防護計劃 ID 相關聯，這是受保護資源的唯一識別符。透過使用其中一個 IAM 許可，GuardDuty 接著會以 的名稱建立和管理 EventBridge 受管規則`DO-NOT-DELETE-AmazonGuardDutyMalwareProtectionS3*`。

### GuardDuty 如何處理您的資料 - 資料保護的護欄
<a name="guardduty-data-protection-guardrails-malware-protection-s3"></a>

S3 的惡意軟體防護會接聽 Amazon EventBridge 通知。當物件上傳到選取的儲存貯體或其中一個字首時，GuardDuty 會使用 從 S3 儲存貯體下載該物件，[AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-share-your-services.html)然後在相同區域中的隔離環境中讀取、解密和掃描該物件。掃描環境會在鎖定的虛擬私有雲端 (VPC) 中執行，且無法存取網際網路。VPC 會連接到 DNS 防火牆規則群組，僅允許與 AWS 擁有的允許清單網域進行通訊。在掃描期間，GuardDuty 會將下載的 S3 物件暫時存放在使用 [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) 金鑰加密的掃描環境中。

**注意**  
根據預設，Amazon S3 使用者指南中[「物件建立事件」類型](https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventBridge.html)下列出的所有 Amazon S3 APIs 都會啟動適用於 S3 掃描的惡意軟體防護。 *Amazon S3 *  
這些*事件類型*包括 [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)、[POST 物件](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html)、[CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) 和 [CompleteMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)。

如需 GuardDuty 惡意軟體偵測方法及其使用的掃描引擎的相關資訊，請參閱 [GuardDuty 惡意軟體偵測掃描引擎](guardduty-malware-detection-scan-engine.md)。

惡意軟體掃描完成後，GuardDuty 會以掃描狀態處理掃描中繼資料，然後刪除下載的物件副本。

每次開始新的掃描之前，GuardDuty 都會清理掃描環境。GuardDuty 使用臨時授權來讓操作員存取掃描環境，並且會檢閱、核准和稽核每個存取請求。

### 檢閱 S3 物件掃描狀態和結果
<a name="guardduty-publishing-s3-object-malware-scan-status"></a>

GuardDuty 會將 S3 物件掃描結果事件發佈至 Amazon EventBridge 預設事件匯流排。GuardDuty 也會傳送掃描指標，例如掃描的物件數和掃描到 Amazon CloudWatch 的位元組數。如果您啟用標記，GuardDuty 會將預先定義的標籤`GuardDutyMalwareScanStatus`和潛在的掃描結果新增為標籤值。

**重要**  
GuardDuty at-least-once交付，這表示您可能會收到相同物件的多個掃描結果。我們建議您設計應用程式來處理重複的結果。每個掃描的物件只會向您收取一次費用。

如需詳細資訊，請參閱[在 S3 的惡意軟體防護中監控 S3 物件掃描](monitoring-malware-protection-s3-scans-gdu.md)。

### 檢閱產生的調查結果
<a name="guardduty-malware-protection-s3-finding-detection"></a>

檢閱問題清單取決於您是否搭配 GuardDuty 使用 S3 的惡意軟體防護。請考量下列情況：

**當您啟用 GuardDuty 服務時，使用 S3 的惡意軟體防護 （偵測器 ID)**  
如果惡意軟體掃描偵測到 S3 物件中的潛在惡意檔案，GuardDuty 將產生相關聯的調查結果。您可以檢視問題清單詳細資訊，並使用建議的步驟來修復問題清單。根據您的[匯出調查結果頻率](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_exportfindings.html#guardduty_exportfindings-frequency)，產生的調查結果會匯出至 S3 儲存貯體和 EventBridge 事件匯流排。  
如需有關將產生的問題清單類型的資訊，請參閱 [S3 調查結果類型的惡意軟體防護](gdu-malware-protection-s3-finding-types.md)。

**使用 S3 的惡意軟體防護做為獨立功能 （無偵測器 ID)**  
GuardDuty 將無法產生調查結果，因為沒有相關聯的偵測器 ID。若要了解 S3 物件惡意軟體掃描狀態，您可以檢視 GuardDuty 自動發佈到預設事件匯流排的掃描結果。您也可以檢視 CloudWatch 指標，以評估 GuardDuty 嘗試掃描的物件和位元組數。您可以設定 CloudWatch 警示，以取得掃描結果的通知。如果您已啟用 S3 物件標記，您也可以檢查`GuardDutyMalwareScanStatus`標籤索引鍵的 S3 物件和掃描結果標籤值，以檢視惡意軟體掃描狀態。  
如需 S3 物件掃描狀態和結果的資訊，請參閱 [在 S3 的惡意軟體防護中監控 S3 物件掃描](monitoring-malware-protection-s3-scans-gdu.md)。

# S3 的惡意軟體防護功能
<a name="s3-malware-protection-capability"></a>

以下清單概述了在為儲存貯體啟用 S3 的惡意軟體防護之後，您可以預期或執行的動作：
+ **選擇要掃描的內容** – 在檔案上傳到與所選 S3 儲存貯體相關聯的所有或特定字首 （最多 5 個） 時掃描檔案。
+ **自動掃描上傳的物件** – 為儲存貯體啟用 S3 的惡意軟體防護後，GuardDuty 會自動開始掃描，以偵測新上傳物件中的潛在惡意軟體。
+ **隨需掃描** – 您可以啟動現有物件的掃描，或重新掃描先前掃描的物件。如需詳細資訊，請參閱[GuardDuty 中的隨需 S3 惡意軟體掃描](malware-protection-s3-on-demand.md)。
+ **透過主控台、使用 API/AWS CLI或 CloudFormation** – 選擇偏好的方法來啟用 S3 的惡意軟體防護。

  您可以使用基礎設施做為程式碼 (IaC) 平台，例如 *Terraform*，來啟用 S3 的惡意軟體防護。如需詳細資訊，請參閱[資源：`aws_guardduty_malware_protection_plan`](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/guardduty_malware_protection_plan)。
+ **支援的檔案格式、S3 配額的惡意軟體防護和 Amazon S3 功能** – S3 的惡意軟體防護支援您可以上傳至 S3 儲存貯體的所有檔案格式。如果上傳的檔案受到密碼保護，且 GuardDuty 能夠偵測上傳檔案類型是否存在密碼保護，則 GuardDuty 將嘗試使用通用密碼掃描原始內容。如果密碼失敗，則會略過掃描。GuardDuty 無法偵測所有檔案格式上是否存在密碼保護。如果 GuardDuty 無法偵測是否存在密碼保護，GuardDuty 仍會掃描加密的內容。

  如需有關物件大小、封存深度上限和其他詳細資訊的配額資訊，請參閱 [S3 惡意軟體防護的配額](malware-protection-s3-quotas-guardduty.md)。

  如需有關是否支援 Amazon S3 功能的資訊，請參閱 [Amazon S3 功能的支援能力](supported-s3-features-malware-protection-s3.md)。
+ **支援標記掃描的 S3 物件** – 當您啟用 [根據掃描結果選擇性標記物件](how-malware-protection-for-s3-gdu-works.md#enable-optional-tagging-malware-protection-s3)時，然後在每次惡意軟體掃描後，GuardDuty 會新增標籤，指出掃描狀態。您可以使用此標籤來設定 S3 物件的標籤型存取控制 (TBAC)。例如，您可以限制對標示為惡意且標籤值為 的 S3 物件的存取`THREATS_FOUND`。
+ **Amazon EventBridge 通知** – 當惡意軟體防護計劃資源狀態變更或 S3 物件的惡意軟體掃描完成時，GuardDuty 會將事件傳送至 Amazon EventBridge。這些事件會傳送至預設事件匯流排。您可以使用 EventBridge 和這些事件來撰寫採取動作的規則，例如監控這些事件發生的時間。如需詳細資訊，請參閱[使用 Amazon EventBridge 監控 S3 物件掃描](monitor-with-eventbridge-s3-malware-protection.md)。
+ **CloudWatch 指標** – 檢視 CloudWatch 指標，以啟用特定惡意軟體掃描狀態的警示。如需詳細資訊，請參閱[CloudWatch 中的 S3 物件掃描狀態指標](monitor-cloudwatch-metrics-s3-malware-protection.md)。

# （選用） 獨立開始使用 S3 的 GuardDuty 惡意軟體防護 （僅限主控台）
<a name="malware-protection-s3-get-started-independent"></a>

如果您想要開始使用與 GuardDuty 狀態無關的惡意軟體防護 S3 威脅偵測選項，請使用此選用步驟 AWS 帳戶。

如果您也想要在 GuardDuty 中使用其他專用保護計畫，您必須開始使用 Amazon GuardDuty 服務。如需 GuardDuty 保護計劃的資訊，請參閱 [GuardDuty 的功能](what-is-guardduty.md#features-of-guardduty)。當您已在帳戶中啟用 GuardDuty 時，您可以略過此步驟並繼續 [為您的儲存貯體設定 S3 的惡意軟體防護](configuring-malware-protection-for-s3-guardduty.md)。

**僅針對 S3 的惡意軟體防護威脅偵測入門步驟**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/)：// 開啟 GuardDuty 主控台。

1. **僅選取 S3 的 GuardDuty 惡意軟體防護**。這可協助您偵測 Amazon Simple Storage Service (Amazon S3) 儲存貯體中新上傳的檔案是否可能包含惡意軟體。  
![\[選取僅限 S3 的 GuardDuty 惡意軟體防護選項，然後選擇開始使用。\]](http://docs.aws.amazon.com/zh_tw/guardduty/latest/ug/images/select-malware-protection-for-s3-console.png)

1. 選擇**開始使用**。您現在可以繼續執行 下的步驟[為您的儲存貯體設定 S3 的惡意軟體防護](configuring-malware-protection-for-s3-guardduty.md)。

# 為您的儲存貯體設定 S3 的惡意軟體防護
<a name="configuring-malware-protection-for-s3-guardduty"></a>

若要讓惡意軟體防護 S3 掃描和 （選擇性） 將標籤新增至 S3 物件，您可以使用具有必要許可的服務角色，代表您執行惡意軟體掃描動作。如需使用服務角色為 S3 啟用惡意軟體保護的詳細資訊，請參閱[服務存取](https://docs.aws.amazon.com//guardduty/latest/ug/enable-malware-protection-s3-bucket.html#service-access-s3-malware-protection)。此角色與 [GuardDuty 惡意軟體防護服務連結角色](https://docs.aws.amazon.com//guardduty/latest/ug/using-service-linked-roles.html)不同。

如果您偏好使用 IAM 角色，您可以連接 IAM 角色，其中包含掃描和 （選擇性） 將標籤新增至 S3 物件所需的許可。GuardDuty 接著會擔任此 IAM 角色來代表您執行這些動作。在為 Amazon S3 儲存貯體啟用此保護計畫時，您將需要此 IAM 角色名稱。

如果您使用 IAM 角色，則每次您想要保護 Amazon S3 儲存貯體時，都必須執行本節列出的兩個步驟。

若要啟用 S3 的惡意軟體防護，您需要詳細資訊，例如 S3 儲存貯體名稱、如果您想要針對特定字首集中保護，以及具有必要許可的 IAM 角色名稱。

無論您單獨開始使用適用於 S3 的惡意軟體防護，或將其做為 GuardDuty 服務的一部分啟用，這些步驟都保持不變。

**主題**

1. [建立或更新 IAM 角色政策](malware-protection-s3-iam-policy-prerequisite.md)

1. [為您的儲存貯體啟用 S3 的惡意軟體防護](enable-malware-protection-s3-bucket.md) 

1. [IAM 角色許可錯誤的故障診斷](troubleshoot-malware-protection-s3-iam-role-permissions-error.md)

# 為您的儲存貯體啟用 S3 的惡意軟體防護
<a name="enable-malware-protection-s3-bucket"></a>

本節提供如何為您自己帳戶中的儲存貯體啟用 S3 惡意軟體防護的詳細步驟。在繼續之前，請檢閱下列考量事項：
+ 當您使用 GuardDuty 主控台啟用此保護計畫時，其中包含建立新角色或使用**服務存取**區段下現有角色的步驟。
+ 當您使用 GuardDuty API 或 CLI 啟用此保護計畫時，您必須先[建立或更新 IAM 角色政策](malware-protection-s3-iam-policy-prerequisite.md)繼續進行。
+ 無論您如何啟用此保護計畫，您都必須擁有必要的 [建立惡意軟體防護計劃資源的許可](#malware-protection-s3-permissions-prerequisite)。

**考慮 Amazon S3 儲存貯體調節**  
S3 調節可能會限制資料可以傳入或傳出 Amazon S3 儲存貯體的速率。這可能會延遲新上傳物件的惡意軟體掃描。  
如果您預期 S3 儲存貯體有大量 `GET`和 `PUT`請求，請考慮實作 措施來防止限流。如需如何執行此操作的資訊，請參閱[《Amazon Athena 使用者指南》中的防止 Amazon S3 限流](https://docs.aws.amazon.com/athena/latest/ug/performance-tuning-s3-throttling.html)。 *Amazon Athena *

**Topics**

## 建立惡意軟體防護計劃資源的許可
<a name="malware-protection-s3-permissions-prerequisite"></a>

當您為 Amazon S3 儲存貯體啟用惡意軟體防護 S3 時，GuardDuty 會建立惡意軟體防護計劃資源，做為儲存貯體保護計劃的識別符。 Amazon S3 如果您尚未使用 [AWS 受管政策： AmazonGuardDutyFullAccess\$1v2（建議）](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonGuardDutyFullAccess-v2)，則必須新增下列許可才能建立此資源：
+ `guardDuty:CreateMalwareProtectionPlan`
+  `iam:PassRole` 

您可以使用下列自訂政策範例，並將*預留位置值*取代為您的 帳戶適用的值：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "arn:aws:iam::111122223333:role/role-name",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "malware-protection-plan.guardduty.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "guardduty:CreateMalwareProtectionPlan"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## 使用 GuardDuty 主控台啟用 S3 的惡意軟體防護
<a name="enabling-malware-protection-s3-guardduty-console"></a>

以下各節提供step-by-step演練，您將在 GuardDuty 主控台中體驗。

**使用 GuardDuty 主控台啟用 S3 的惡意軟體防護**

### 輸入 S3 儲存貯體詳細資訊
<a name="enter-s3-bucket-details-malware-protection"></a>

使用下列步驟提供 Amazon S3 儲存貯體詳細資訊：

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/)：// 開啟 GuardDuty 主控台。

1. 使用頁面右上角的 AWS 區域 選取器，選取您要啟用 S3 惡意軟體防護的區域。

1. 在導覽窗格中，選擇 ** S3 的惡意軟體防護**。

1. 在**受保護的儲存貯**體區段中，選擇**啟用**，為屬於您自己的 S3 儲存貯體啟用 S3 的惡意軟體防護 AWS 帳戶。

1. 在**輸入 S3 儲存貯體詳細資訊**下，輸入 **Amazon S3 儲存貯**體名稱。或者，選擇**瀏覽 S3** 以選取 S3 儲存貯體。

   S3 儲存貯 AWS 帳戶 體 AWS 區域 的 和您為 S3 啟用惡意軟體防護的 必須是相同的。例如，如果您的帳戶屬於 `us-east-1`區域，則您的 Amazon S3 儲存貯體區域也必須是 `us-east-1`。

1. 在**字首**下，您可以選取 ** S3 儲存貯體中的所有物件**或以**特定字首開頭的物件**。
   + 當您希望 GuardDuty 可以掃描所選**儲存貯體中所有新上傳的物件時，請選取 S3 ** 儲存貯體中的所有物件。
   + 當您想要掃描屬於**特定字首的新上傳物件**時，請選取以特定字首開頭的物件。此選項可協助您僅將惡意軟體掃描的範圍集中在選取的物件字首上。如需使用字首的詳細資訊，請參閱《[Amazon S3 使用者指南》中的使用資料夾在 Amazon S3 主控台中組織物件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-folders.html)。 *Amazon S3 *

     選擇**新增字首**，然後輸入字首。您最多可以新增五個字首。

### 啟用掃描物件的標記
<a name="tag-scanned-objects-s3-malware-protection"></a>

這是**選用**步驟。當您在物件上傳到儲存貯體之前啟用標記選項時，GuardDuty 會在完成掃描後新增預先定義的標籤，金鑰為 `GuardDutyMalwareScanStatus`，值為 作為掃描結果。若要以最佳方式使用 S3 的惡意軟體防護，建議您啟用 選項，以在掃描結束後將標籤新增至 S3 物件。標準 S3 物件標記成本適用。如需詳細資訊，請參閱[S3 惡意軟體防護的定價和使用成本](pricing-malware-protection-for-s3-guardduty.md)。

**為什麼應該啟用標記？**  
+ 啟用標記是了解惡意軟體掃描結果的方法之一。如需 S3 惡意軟體掃描結果的資訊，請參閱 [在 S3 的惡意軟體防護中監控 S3 物件掃描](monitoring-malware-protection-s3-scans-gdu.md)。
+ 在包含潛在惡意物件的 S3 儲存貯體上設定標籤型存取控制 (TBAC) 政策。如需考量事項以及如何實作標籤型存取控制 (TBAC) 的資訊，請參閱 [使用標籤型存取控制 (TBAC) 搭配適用於 S3 的惡意軟體防護](tag-based-access-s3-malware-protection.md)。

**GuardDuty 將標籤新增至 S3 物件的考量事項：**
+ 根據預設，您最多可以將 10 個標籤與 物件建立關聯。如需詳細資訊，請參閱《*Amazon S3 使用者指南*》中的[使用標籤將儲存體分類](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html)。

  如果所有 10 個標籤都已在使用中，GuardDuty 無法將預先定義的標籤新增至掃描的物件。GuardDuty 也會將掃描結果發佈至您的預設 EventBridge 事件匯流排。如需詳細資訊，請參閱[使用 Amazon EventBridge 監控 S3 物件掃描](monitor-with-eventbridge-s3-malware-protection.md)。
+ 當選取的 IAM 角色不包含 GuardDuty 標記 S3 物件的許可，即使已啟用受保護儲存貯體的標記，GuardDuty 將無法將標籤新增至此掃描的 S3 物件。如需標記所需 IAM 角色許可的詳細資訊，請參閱 [建立或更新 IAM 角色政策](malware-protection-s3-iam-policy-prerequisite.md)。

  GuardDuty 也會將掃描結果發佈至您的預設 EventBridge 事件匯流排。如需詳細資訊，請參閱[使用 Amazon EventBridge 監控 S3 物件掃描](monitor-with-eventbridge-s3-malware-protection.md)。

**在**標記掃描的物件**下選取選項**
+ 當您**希望** GuardDuty 將標籤新增至掃描的 S3 物件時，請選取**標籤物件**。
+ 當您**不希望** GuardDuty 將標籤新增至掃描的 S3 物件時，請選取**不要標記物件**。

### 服務存取
<a name="service-access-s3-malware-protection"></a>

使用下列步驟來選擇現有的服務角色，或建立新的服務角色，該角色具有代表您執行惡意軟體掃描動作的必要許可。這些動作可能包括掃描新上傳的 S3 物件，以及 （選擇性） 將標籤新增至這些物件。如需此角色將擁有之許可的相關資訊，請參閱 [建立或更新 IAM 角色政策](malware-protection-s3-iam-policy-prerequisite.md)。

在**服務存取**區段中，您可以執行下列其中一項操作：

1. **建立和使用新的服務角色** — 您可以使用具有執行惡意軟體掃描所需許可的新服務角色。

   在**角色名稱**下，您可以選擇使用 GuardDuty 預先填入的名稱，或輸入您選擇的有意義的名稱來識別角色。例如 `GuardDutyS3MalwareScanRole`。角色名稱必須為 1-64 個字元。有效字元為 a-z、A-Z、0-9 和 '\$1=、.@-\$1' 字元。

1. **使用現有的服務角色** — 您可以從服務角色**名稱清單中選擇現有的服務角色**。

   1. 在**政策範本**下，您可以檢視 S3 儲存貯體的政策。請確定您已在輸入 S3 儲存貯體詳細資訊區段中輸入或選取 ** S3 儲存貯**體。

   1. 在**服務角色名稱**下，從服務角色清單中選擇服務角色。

您可以根據您的需求變更政策。如需如何建立或更新 IAM 角色的詳細資訊，請參閱[建立或更新 IAM 角色政策](https://docs.aws.amazon.com//guardduty/latest/ug/malware-protection-s3-iam-policy-prerequisite.html)。

如需 IAM 角色許可的問題，請參閱 [IAM 角色許可錯誤的故障診斷](troubleshoot-malware-protection-s3-iam-role-permissions-error.md)。

### （選用） 標記惡意軟體防護計劃 ID
<a name="tag-malware-protection-policy-id-resource-gdu"></a>

這是一個選用步驟，可協助您將標籤新增至為 S3 儲存貯體資源建立的惡意軟體防護計劃資源。

每個標籤有兩個部分：標籤索引鍵和選用的標籤值。如需標記及其優點的詳細資訊，請參閱[標記 AWS 資源](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html)。

**將標籤新增至惡意軟體防護計劃資源**

1. 輸入索引**鍵**和標籤的選用**值**。標籤索引鍵和標籤值都區分大小寫。如需標籤索引鍵和標籤值名稱的資訊，請參閱[標籤命名限制和要求](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html#tag-conventions)。

1. 若要將更多標籤新增至惡意軟體防護計劃資源，請選擇**新增標籤**並重複上一個步驟。每個 資源最多可新增 50 個標籤。

1. 選擇**啟用**。

## 使用 API/CLI 啟用 S3 的惡意軟體防護
<a name="enabling-malware-protection-s3-guardduty-api-cli"></a>

本節包含您想要在 AWS 環境中以程式設計方式啟用惡意軟體防護 S3 時的步驟。這需要您在此步驟 - 中建立的 IAM 角色 Amazon Resource Name (ARN)[建立或更新 IAM 角色政策](malware-protection-s3-iam-policy-prerequisite.md)。

**使用 API/CLI 以程式設計方式啟用 S3 的惡意軟體防護**
+ **使用 API**

  執行 [CreateMalwareProtectionPlan](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_CreateMalwareProtectionPlan.html)，為屬於您自己的帳戶的儲存貯體啟用 S3 的惡意軟體防護。
+ **使用 AWS CLI**

  根據您要如何啟用 S3 的惡意軟體防護，下列清單提供特定使用案例 AWS CLI 的範例命令。當您執行這些命令時，請將*以紅色顯示的預留位置範例*取代為您帳戶適用的值。

**AWS CLI 範例命令**
  + 使用下列 AWS CLI 命令，為未標記掃描 S3 物件的儲存貯體啟用 S3 的惡意軟體防護：

    ```
    aws guardduty create-malware-protection-plan --role "arn:aws:iam::111122223333:role/role-name" --protected-resource "S3Bucket"={"BucketName"="amzn-s3-demo-bucket1"}
    ```
  + 使用下列 AWS CLI 命令，為具有特定物件字首的儲存貯體啟用 S3 的惡意軟體防護，以及為掃描的 S3 物件啟用不標記：

    ```
    aws guardduty create-malware-protection-plan --role "arn:aws:iam::111122223333:role/role-name" --protected-resource '{"S3Bucket":{"BucketName":"amzn-s3-demo-bucket1", "ObjectPrefixes": ["Object1","Object1"]}}'
    ```
  + 使用下列 AWS CLI 命令，為已啟用掃描 S3 物件標記的儲存貯體啟用 S3 的惡意軟體防護：

    ```
    aws guardduty create-malware-protection-plan --role "arn:aws:iam::111122223333:role/role-name" --protected-resource "S3Bucket"={"BucketName"="amzn-s3-demo-bucket1"} --actions "Tagging"={"Status"="ENABLED"}
    ```

  成功執行這些命令後，將產生唯一的惡意軟體防護計劃 ID。若要執行更新或停用儲存貯體保護計劃等動作，您需要此惡意軟體防護計劃 ID。

如需 IAM 角色許可的問題，請參閱 [IAM 角色許可錯誤的故障診斷](troubleshoot-malware-protection-s3-iam-role-permissions-error.md)。

# 建立或更新 IAM 角色政策
<a name="malware-protection-s3-iam-policy-prerequisite"></a>

若要讓惡意軟體防護 S3 掃描和 （選擇性） 將標籤新增至 S3 物件，您可以使用具有必要許可的服務角色，代表您執行惡意軟體掃描動作。如需使用服務角色為 S3 啟用惡意軟體保護的詳細資訊，請參閱[服務存取](https://docs.aws.amazon.com//guardduty/latest/ug/enable-malware-protection-s3-bucket.html#service-access-s3-malware-protection)。此角色與 [GuardDuty 惡意軟體防護服務連結角色](https://docs.aws.amazon.com//guardduty/latest/ug/using-service-linked-roles.html)不同。

如果您偏好使用 IAM 角色，您可以連接 IAM 角色，其中包含掃描和 （選擇性） 將標籤新增至 S3 物件所需的許可。您必須建立 IAM 角色或更新現有角色，以包含這些許可。由於您啟用適用於 Amazon S3 S3 儲存貯體都需要這些許可，因此您需要針對要保護的每個 Amazon S3 儲存貯體執行此步驟。

下列清單說明特定許可如何協助 GuardDuty 代表您執行惡意軟體掃描：
+ 允許 Amazon EventBridge 動作建立和管理 EventBridge 受管規則，以便 S3 的惡意軟體防護可以接聽 S3 物件通知。

  如需詳細資訊，請參閱《[Amazon EventBridge 使用者指南》中的 Amazon EventBridge 受管規則](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html#eb-rules-managed)。 * EventBridge *
+ 允許 Amazon S3 和 EventBridge 動作傳送此儲存貯體中所有事件的通知至 EventBridge 

  如需詳細資訊，請參閱《[Amazon S3 使用者指南》中的啟用 Amazon EventBridge](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-event-notifications-eventbridge.html)。 *Amazon S3 *
+ 允許 Amazon S3 動作存取上傳的 S3 物件`GuardDutyMalwareScanStatus`，並將預先定義的標籤 新增至掃描的 S3 物件。使用物件字首時，僅在目標字首上新增 `s3:prefix`條件。這可防止 GuardDuty 存取儲存貯體中的所有 S3 物件。
+ 允許 KMS 金鑰動作在掃描和使用支援的 DSSE-KMS 和 SSE-KMS 加密將測試物件放置在儲存貯體之前存取物件。

**注意**  
每次您為帳戶中的儲存貯體啟用 S3 的惡意軟體防護時，都需要此步驟。如果您已有現有的 IAM 角色，您可以更新其政策以包含其他 Amazon S3 儲存貯體資源的詳細資訊。[新增 IAM 政策許可](#attach-iam-policy-s3-malware-protection) 主題提供如何執行此操作的範例。

使用下列政策來建立或更新 IAM 角色。

**Topics**
+ [新增 IAM 政策許可](#attach-iam-policy-s3-malware-protection)
+ [新增信任關係政策](#add-iam-trust-policy-s3-malware-protection)

## 新增 IAM 政策許可
<a name="attach-iam-policy-s3-malware-protection"></a>

您可以選擇更新現有 IAM 角色的內嵌政策，或建立新的 IAM 角色。如需步驟的相關資訊，請參閱《[IAM 使用者指南》中的建立](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) IAM 角色[或修改角色許可政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-modify_permissions-policy)。 **

將下列許可範本新增至您偏好的 IAM 角色。將下列預留位置值取代為與您的帳戶相關聯的適當值：
+ 對於 *amzn-s3-demo-bucket*，請將 取代為您的 Amazon S3 儲存貯體名稱。

  若要對多個 S3 儲存貯體資源使用相同的 IAM 角色，請更新現有政策，如下列範例所示：

  ```
                      ...
                      ...
                      "Resource": [
                          "arn:aws:s3:::amzn-s3-demo-bucket/*",
                          "arn:aws:s3:::amzn-s3-demo-bucket2/*"
                      ],
                      ...
                      ...
  ```

  在新增與 S3 儲存貯體相關聯的新 ARN 之前，請務必新增逗號 (，)。只要參考政策範本`Resource`中的 S3 儲存貯體，就會執行此操作。
+ 對於 *111122223333*，請以您的 AWS 帳戶 ID 取代 。
+ 對於 *us-east-1*，請將 取代為您的 AWS 區域。
+ 對於 *APKAEIBAERJR2EXAMPLE*，請以您的客戶受管金鑰 ID 取代 。如果您的 S3 儲存貯體是使用 AWS KMS 金鑰加密，則如果您在設定儲存貯體的惡意軟體保護時選擇[建立新角色](https://docs.aws.amazon.com//guardduty/latest/ug/enable-malware-protection-s3-bucket.html)選項，我們會新增相關許可。

  ```
  "Resource": "arn:aws:kms:us-east-1:111122223333:key/*"
  ```

**IAM 角色政策範本**

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Sid": "AllowManagedRuleToSendS3EventsToGuardDuty",
            "Effect": "Allow",
            "Action": [
                "events:PutRule",
                "events:DeleteRule",
                "events:PutTargets",
                "events:RemoveTargets"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:111122223333:rule/DO-NOT-DELETE-AmazonGuardDutyMalwareProtectionS3*"
            ],
            "Condition": {
                "StringLike": {
                    "events:ManagedBy": "malware-protection-plan.guardduty.amazonaws.com"
                }
            }
        },
        {
            "Sid": "AllowGuardDutyToMonitorEventBridgeManagedRule",
            "Effect": "Allow",
            "Action": [
                "events:DescribeRule",
                "events:ListTargetsByRule"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:111122223333:rule/DO-NOT-DELETE-AmazonGuardDutyMalwareProtectionS3*"
            ]
        },
        {
            "Sid": "AllowPostScanTag",
            "Effect": "Allow",
            "Action": [
                "s3:PutObjectTagging",
                "s3:GetObjectTagging",
                "s3:PutObjectVersionTagging",
                "s3:GetObjectVersionTagging"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        },
        {
            "Sid": "AllowEnableS3EventBridgeEvents",
            "Effect": "Allow",
            "Action": [
                "s3:PutBucketNotification",
                "s3:GetBucketNotification"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
        },
        {
            "Sid": "AllowPutValidationObject",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/malware-protection-resource-validation-object"
            ]
        },
        {
            "Sid": "AllowCheckBucketOwnership",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
        },
        {
           "Sid": "AllowMalwareScan",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        },
        {
            "Sid": "AllowDecryptForMalwareScan",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/APKAEIBAERJR2EXAMPLE",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": "s3.us-east-1.amazonaws.com"
                }
            }
        }
    ]
}
```

------

## 新增信任關係政策
<a name="add-iam-trust-policy-s3-malware-protection"></a>

將下列信任政策連接至您的 IAM 角色。如需步驟的相關資訊，請參閱[修改角色信任政策](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-managingrole_edit-trust-policy)。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "malware-protection-plan.guardduty.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

# IAM 角色許可錯誤的故障診斷
<a name="troubleshoot-malware-protection-s3-iam-role-permissions-error"></a>

啟用 S3 的惡意軟體防護時，GuardDuty 會檢查您的 IAM 服務角色是否具有驗證 Amazon S3 儲存貯體擁有權所需的許可。如果這些許可遺失或設定不正確，您可能會收到下列訊息：

```
"message": "The request was rejected because provided IAM role does not have the required permissions to validate S3 bucket ownership."
"type": "InvalidInputException"
```

下列案例可協助您疑難排解此錯誤：

**缺少 IAM 角色許可**  
+ IAM 角色必須具備必要的許可，才能允許 S3 的惡意軟體防護擔任該角色。
+ GuardDuty 會使用 `"s3:ListBucket"`許可驗證儲存貯體擁有權。這必須存在於您使用的 IAM 角色中。
如需許可的相關資訊，請參閱 [建立或更新 IAM 角色政策](malware-protection-s3-iam-policy-prerequisite.md)。

**IAM 角色可用性**  
+ 當您建立新的 IAM 角色時，請等待幾分鐘讓變更達到最終一致性，然後再啟用適用於 S3 的惡意軟體防護。如果您在建立角色後立即嘗試啟用保護計畫，驗證可能會失敗。
+ 對於基礎設施即程式碼 (IaC) 部署，GuardDuty 建議宣告資源相依性，以確保 IAM 角色達到最終一致性。

  如需如何執行此操作的範例範本，請參閱 [GuardDuty GitHub 儲存庫](https://github.com/aws-samples/guardduty-malware-protection/tree/main/cdk)。

**跨區域啟用**  
確保您的 Amazon S3 儲存貯體位於您在 GuardDuty 中為 S3 啟用惡意軟體防護的相同區域。

# 啟用 S3 的惡意軟體防護之後的步驟
<a name="malware-protection-s3-steps-after-enabling"></a>

本節列出您在為儲存貯體啟用 S3 惡意軟體防護之後可能採取的步驟。下列步驟會依順序列出，以協助您導覽後續步驟：

**在您為儲存貯體啟用 S3 的惡意軟體防護之後，請遵循**

1. **新增標籤型存取控制 (TBAC) 資源政策** – 當您啟用標記時，在物件上傳到您選取的儲存貯體之前，請務必將 TBAC 政策新增至 S3 儲存貯體資源。如需詳細資訊，請參閱[在 S3 儲存貯體資源上新增 TBAC](tag-based-access-s3-malware-protection.md#apply-tbac-s3-malware-protection)。

1. **監控惡意軟體防護計劃狀態** – 監控每個受保護儲存貯體**的狀態**欄。如需有關潛在狀態及其意義的資訊，請參閱 [檢視和了解受保護的儲存貯體狀態](malware-protection-s3-bucket-status-gdu.md)。

1. 選擇下列其中一個選項來**開始掃描**：
   + **上傳物件**：

     1. 開啟位於 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

     1. 將檔案上傳至您啟用此功能的 S3 儲存貯體或物件字首。如需上傳檔案的步驟，請參閱《*Amazon S3 使用者指南*》中的將[物件上傳到您的儲存貯](https://docs.aws.amazon.com/AmazonS3/latest/userguide/uploading-an-object-bucket.html)體。
   + **啟動隨需掃描**： [GuardDuty 中的隨需 S3 惡意軟體掃描](malware-protection-s3-on-demand.md)

1. **監控 S3 物件掃描狀態和掃描結果** – 此步驟包含如何檢查 S3 物件惡意軟體掃描狀態的相關資訊。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/guardduty/latest/ug/malware-protection-s3-steps-after-enabling.html)

# GuardDuty 中的隨需 S3 惡意軟體掃描
<a name="malware-protection-s3-on-demand"></a>

S3 的 GuardDuty 惡意軟體防護會持續監控新的 S3 上傳。對於啟用保護之前已存在的物件，或重新掃描先前掃描的物件，您可以在為儲存貯體啟用 GuardDuty 惡意軟體防護計劃之後，啟動隨需 S3 惡意軟體掃描。

 隨需惡意軟體掃描會使用惡意軟體防護計劃的 IAM 角色來存取物件並套用組態。掃描會覆寫儲存貯體的惡意軟體防護計畫中設定的任何字首。

**注意**  
S3 的惡意軟體防護配額適用於隨需惡意軟體掃描。如需詳細資訊，請參閱 [S3 惡意軟體防護的配額](malware-protection-s3-quotas-guardduty.md)。  
如需定價的詳細資訊，請參閱 [S3 惡意軟體防護的定價和使用成本](pricing-malware-protection-for-s3-guardduty.md)。

## 先決條件
<a name="prerequisites-malware-protection-s3-on-demand"></a>

開始隨需惡意軟體掃描之前，您的帳戶必須符合下列先決條件：
+ 目標儲存貯體上已啟用 S3 的惡意軟體防護。如需詳細資訊，請參閱[為您的儲存貯體設定 S3 的惡意軟體防護](configuring-malware-protection-for-s3-guardduty.md)。
+ [AWS 受管政策： AmazonGuardDutyFullAccess\$1v2（建議）](security-iam-awsmanpol.md#security-iam-awsmanpol-AmazonGuardDutyFullAccess-v2) 政策會連接到 IAM 使用者或叫用 API 的 IAM 角色。

## 開始隨需惡意軟體掃描
<a name="malware-protection-initiate-malware-protection-s3-on-demand"></a>

使用 [SendObjectMalwareScan](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_SendObjectMalwareScan.html) API 操作，這需要 S3 物件路徑做為輸入。

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

您可以掃描物件的最新版本，或指定要掃描的特定版本。

若要掃描物件的特定版本：

```
aws guardduty send-object-malware-scan --s3-object '{"Bucket": "amzn-s3-demo-bucket", "Key": "APKAEIBAERJR2EXAMPLE", "VersionId": "d41d8cd98f00b204e9800998eEXAMPLE"}'
```

若要掃描物件的最新版本：

```
aws guardduty send-object-malware-scan --s3-object '{"Bucket": "amzn-s3-demo-bucket", "Key": "APKAEIBAERJR2EXAMPLE"}'
```

------

**重要**  
成功的 API 呼叫會確認掃描請求已被接受。不過，請務必監控掃描結果，以確保成功完成並識別任何問題，例如存取物件時發生錯誤。如需詳細資訊，請參閱[在 S3 的惡意軟體防護中監控 S3 物件掃描](monitoring-malware-protection-s3-scans-gdu.md)。

# 使用標籤型存取控制 (TBAC) 搭配適用於 S3 的惡意軟體防護
<a name="tag-based-access-s3-malware-protection"></a>

為儲存貯體啟用適用於 S3 的惡意軟體防護時，您可以選擇啟用標記。嘗試掃描所選儲存貯體中新上傳的 S3 物件之後，GuardDuty 會將標籤新增至掃描的物件，以提供惡意軟體掃描狀態。當您啟用標記時，會產生相關的直接使用成本。如需詳細資訊，請參閱[S3 惡意軟體防護的定價和使用成本](pricing-malware-protection-for-s3-guardduty.md)。

GuardDuty 使用預先定義的標籤，金鑰為 `GuardDutyMalwareScanStatus`，值為 做為其中一個惡意軟體掃描狀態。如需這些值的資訊，請參閱 [S3 物件潛在掃描狀態和結果狀態](monitoring-malware-protection-s3-scans-gdu.md#s3-object-scan-result-value-malware-protection)。

**GuardDuty 將標籤新增至 S3 物件的考量事項：**
+ 根據預設，您最多可以將 10 個標籤與 物件建立關聯。如需詳細資訊，請參閱《*Amazon S3 使用者指南*》中的[使用標籤將儲存體分類](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html)。

  如果所有 10 個標籤都已在使用中，GuardDuty 無法將預先定義的標籤新增至掃描的物件。GuardDuty 也會將掃描結果發佈至您的預設 EventBridge 事件匯流排。如需詳細資訊，請參閱[使用 Amazon EventBridge 監控 S3 物件掃描](monitor-with-eventbridge-s3-malware-protection.md)。
+ 當選取的 IAM 角色不包含 GuardDuty 標記 S3 物件的許可，即使已啟用受保護儲存貯體的標記，GuardDuty 將無法將標籤新增至此掃描的 S3 物件。如需標記所需 IAM 角色許可的詳細資訊，請參閱 [建立或更新 IAM 角色政策](malware-protection-s3-iam-policy-prerequisite.md)。

  GuardDuty 也會將掃描結果發佈至您的預設 EventBridge 事件匯流排。如需詳細資訊，請參閱[使用 Amazon EventBridge 監控 S3 物件掃描](monitor-with-eventbridge-s3-malware-protection.md)。

## 在 S3 儲存貯體資源上新增 TBAC
<a name="apply-tbac-s3-malware-protection"></a>

您可以使用 S3 儲存貯體資源政策來管理 S3 物件的標籤型存取控制 (TBAC)。您可以提供特定使用者的存取權，以存取和讀取 S3 物件。如果您有使用 建立的組織 AWS Organizations，您必須強制執行沒有人可以修改 GuardDuty 新增的標籤。如需詳細資訊，請參閱*AWS Organizations 《 使用者指南*》中的[防止修改標籤，但授權委託人](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_examples_tagging.html#example-require-restrict-tag-mods-to-admin)除外。連結主題中使用的範例提及 `ec2`。當您使用此範例時，請將 *ec2* 取代為 `s3`。

下列清單說明您可以使用 TBAC 執行的操作：
+ 防止惡意軟體防護 S3 服務主體以外的所有使用者讀取尚未標記下列標籤鍵值對的 S3 物件：

  `GuardDutyMalwareScanStatus`:`Potential key value`
+ 僅允許 GuardDuty 將`GuardDutyMalwareScanStatus`值為掃描結果的標籤金鑰新增至掃描的 S3 物件。下列政策範本可以允許具有存取權的特定使用者，可能覆寫標籤鍵/值對。

**S3 儲存貯體資源政策範例：**

在範例政策中取代下列預留位置值：
+ *IAM-role-name* - 提供您在儲存貯體中用於設定 S3 惡意軟體防護的 IAM 角色。
+ *555555555555* - 提供與受保護儲存貯 AWS 帳戶 體相關聯的 。
+ *amzn-s3-demo-bucket* - 提供受保護的儲存貯體名稱。

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Sid": "NoReadUnlessClean",
            "Effect": "Deny",
            "NotPrincipal": {
                "AWS": [
                "arn:aws:sts::555555555555:assumed-role/IAM-role-name/GuardDutyMalwareProtection",
                "arn:aws:iam::555555555555:role/IAM-role-name"
                ]
            },
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "StringNotEquals": {
                    "s3:ExistingObjectTag/GuardDutyMalwareScanStatus": "NO_THREATS_FOUND"
                }
            }
        },
        {
            "Sid": "OnlyGuardDutyCanTagScanStatus",
            "Effect": "Deny",
            "NotPrincipal": {
                "AWS": [
                    "arn:aws:sts::555555555555:assumed-role/IAM-role-name/GuardDutyMalwareProtection",
                    "arn:aws:iam::555555555555:role/IAM-role-name"
                ]
            },
            "Action": "s3:PutObjectTagging",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "s3:RequestObjectTagKeys": "GuardDutyMalwareScanStatus"
                }
            }
        }
    ]
}
```

------

如需標記 S3 資源、[標記和存取控制政策](https://docs.aws.amazon.com/AmazonS3/latest/userguide/tagging-and-policies.html)的詳細資訊。

# 檢視和了解受保護的儲存貯體狀態
<a name="malware-protection-s3-bucket-status-gdu"></a>

為儲存貯體啟用 S3 的惡意軟體防護後，狀態會指出功能是否已設定並如預期運作。此狀態與唯一的惡意軟體防護計畫識別符 (ID) 相關聯。GuardDuty 會在啟用此功能時建立此 ID。

使用下列程序來檢視受保護儲存貯體的狀態：

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/)：// 開啟 GuardDuty 主控台。

1. 在導覽窗格中，選取 ** S3 的惡意軟體防護**。

1. 在**受保護的儲存貯**體資料表中，檢視 **S3 儲存貯**體對應的**狀態**欄。

下表列出並描述與惡意軟體防護計劃資源相關聯的狀態值。透過了解這些狀態對受保護儲存貯體的意義，您可以更好地確保 GuardDuty 在物件上傳時啟動自動惡意軟體掃描。


| 狀態 | 描述 | 
| --- | --- | 
|  作用中  |  您的 S3 儲存貯體已成功設定適用於 S3 的惡意軟體防護。 當狀態為*作用中*時，IAM 角色的變更 （刪除或許可修改） 不會將狀態更新為*警告*或*錯誤*。我們建議您使用中所述的任何方法來持續監控掃描狀態[監控 S3 物件掃描](monitoring-malware-protection-s3-scans-gdu.md)。  | 
|  警告**[*](#fix-protection-status-s3-malware)**  |  S3 的惡意軟體防護旨在避免在出現警告時受到影響。當 GuardDuty 注意到新的 S3 物件時，它會啟動惡意軟體掃描。成功啟動掃描後，**狀態**資料欄值可能需要幾分鐘的時間才能變更為**作用中**。狀態****資料欄值更新後，您會收到 EventBridge 通知。  | 
|  錯誤**[*](#fix-protection-status-s3-malware)**  |  您的儲存貯體未受保護。與此 S3 儲存貯體相關聯的惡意軟體掃描都不會完成。可能有一或多個潛在根本原因。  | 

**\$1** 如需潛在問題的資訊以及解決這些問題的對應步驟，請參閱 [針對惡意軟體防護計劃狀態進行故障診斷](troubleshoot-s3-malware-protection-status-errors.md)。

# 在 S3 的惡意軟體防護中監控 S3 物件掃描
<a name="monitoring-malware-protection-s3-scans-gdu"></a>

當您使用惡意軟體防護S3GuardDuty 偵測器 ID 時，如果您的 Amazon S3 物件潛在惡意，GuardDuty 將產生 [S3 調查結果類型的惡意軟體防護](gdu-malware-protection-s3-finding-types.md)。使用 GuardDuty 主控台和 APIs，您可以檢視產生的調查結果。如需了解此調查結果類型的資訊，請參閱 [調查結果詳細資訊](guardduty_findings-summary.md)。

在未啟用 GuardDuty （無偵測器 ID) 的情況下使用 S3 的惡意軟體防護時，即使您掃描的 Amazon S3 物件可能惡意，GuardDuty 也無法產生任何問題清單。

**Topics**
+ [S3 物件潛在掃描狀態和結果狀態](#s3-object-scan-result-value-malware-protection)
+ [使用 Amazon EventBridge 監控 S3 物件掃描](monitor-with-eventbridge-s3-malware-protection.md)
+ [使用 GuardDuty 受管標籤監控 S3 物件掃描](monitor-enable-s3-object-tagging-malware-protection.md)
+ [CloudWatch 中的 S3 物件掃描狀態指標](monitor-cloudwatch-metrics-s3-malware-protection.md)

## S3 物件潛在掃描狀態和結果狀態
<a name="s3-object-scan-result-value-malware-protection"></a>

本節說明潛在的 S3 物件掃描狀態值和掃描結果值。

S3 物件掃描狀態表示惡意軟體掃描的狀態，例如已完成、略過或失敗。

S3 物件惡意軟體掃描結果狀態會根據掃描狀態值指出掃描結果。每個惡意軟體掃描結果狀態值都會映射至掃描狀態。

下列清單提供潛在的 S3 物件掃描結果值。如果您已啟用標記，則可以透過 監控掃描結果[使用 S3 物件標籤](monitor-enable-s3-object-tagging-malware-protection.md)。掃描後，標籤值會有下列其中一個掃描結果值。

**S3 物件潛在惡意軟體掃描結果狀態值**
+ `NO_THREATS_FOUND` – GuardDuty 未偵測到與掃描物件相關聯的潛在威脅。
+ `THREATS_FOUND` – GuardDuty 偵測到與掃描物件相關聯的潛在威脅。
+ `UNSUPPORTED` – S3 的惡意軟體防護會略過掃描有幾個原因。可能的原因包括受密碼保護的檔案、具有極高壓縮比率的封存、 [S3 配額的惡意軟體防護](malware-protection-s3-quotas-guardduty.md)和對某些 Amazon S3 功能的支援可能無法使用。如需詳細資訊，請參閱[S3 的惡意軟體防護功能](s3-malware-protection-capability.md)。
+ `ACCESS_DENIED` – GuardDuty 無法存取此物件進行掃描。檢查與此儲存貯體相關聯的 IAM 角色許可。如需詳細資訊，請參閱[建立或更新 IAM 角色政策](malware-protection-s3-iam-policy-prerequisite.md)。

  如果您已啟用掃描後 S3 物件標記，請參閱 [對 S3 物件掃描後標籤失敗進行故障診斷](troubleshoot-s3-post-scan-tag-failures.md)。
+ `FAILED` – 由於內部錯誤，GuardDuty 無法對此物件執行惡意軟體掃描。

以下清單提供潛在的 S3 物件掃描狀態值及其與 S3 物件掃描結果的映射。

**S3 物件潛在掃描狀態值**
+ **已完成** – 掃描已成功完成，並指出 S3 物件是否具有惡意軟體。在這種情況下，潛在的 S3 物件掃描結果值可以是 `THREATS_FOUND`或 `NO_THREATS_FOUND`。
+ **已略過** – GuardDuty 在掃描此 S3 物件不受惡意軟體防護 S3 支援，或 GuardDuty 無法存取所選儲存貯體中上傳的 S3 物件時，會略過惡意軟體掃描。

  在這種情況下，潛在的 S3 物件掃描結果值可以是 `UNSUPPORTED`或 `ACCESS_DENIED`。

  如果刪除必要的 IAM 角色，GuardDuty 也會略過掃描。
+ **失敗** – 類似於 S3 物件掃描結果值 `FAILED`，此掃描狀態表示 GuardDuty 因為內部錯誤而無法對 S3 物件執行惡意軟體掃描。

# 使用 Amazon EventBridge 監控 S3 物件掃描
<a name="monitor-with-eventbridge-s3-malware-protection"></a>

*Amazon EventBridge* 為無伺服器事件匯流排服務，可讓您輕鬆將應用程式與來自各種來源的資料互相連線。EventBridge 可從您自己的應用程式、Software-as-a-Service(SaaS) 應用程式 AWS 和服務提供即時資料串流，並將該資料路由至 Lambda 等目標。這可讓您監控在服務中發生的事件，並建置事件導向的架構。如需詳細資訊，請參閱 [Amazon EventBridge 使用者指南](https://docs.aws.amazon.com/eventbridge/latest/userguide/)。

GuardDuty 做為受惡意軟體防護保護之 S33 儲存貯體的擁有者帳戶，會在下列情況下將 EventBridge 通知發佈至預設事件匯流排：
+ 任何受保護儲存貯體的**惡意軟體防護計劃資源狀態**變更。如需各種狀態的資訊，請參閱 [檢視和了解受保護的儲存貯體狀態](malware-protection-s3-bucket-status-gdu.md)。

  如需設定資源狀態的 Amazon EventBridge (EventBridge) 規則，請參閱 [惡意軟體防護計劃資源狀態](#resource-status-malware-protection-s3-ev)。
+ **S3 物件掃描結果**會發佈至您的預設 EventBridge 事件匯流排。

  `s3Throttled` 欄位指出從 Amazon S3 上傳或擷取儲存是否有延遲。值`true`表示有延遲，而 `false` 表示沒有延遲。

  如果 `s3Throttled` `true`適用於您的掃描結果，則 Amazon S3 建議以協助您減少每個字首每秒交易數 (TPS) 的方式設定字首。如需詳細資訊，請參閱《[Amazon S3 使用者指南》中的最佳實務設計模式：最佳化 Amazon S3 效能](https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance.html)。 *Amazon S3 *

  如需設定 S3 物件掃描結果的 Amazon EventBridge (EventBridge) 規則，請參閱 [S3 物件掃描結果](#s3-object-scan-status-malware-protection-s3-ev)。
+ 有**掃描後標籤失敗事件**，原因如下：
  + 您的 IAM 角色缺少標記物件的許可。

    [新增 IAM 政策許可](malware-protection-s3-iam-policy-prerequisite.md#attach-iam-policy-s3-malware-protection) 範本包含 GuardDuty 標記物件的許可。
  + IAM 角色中指定的儲存貯體資源或物件不再存在。
  + 關聯的 S3 物件已達到標籤上限。如需標籤限制的詳細資訊，請參閱《*Amazon S3 使用者指南*》中的[使用標籤將儲存體分類](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html)。

  如需設定掃描後標籤失敗事件的 Amazon EventBridge (EventBridge) 規則，請參閱 [掃描後標籤失敗事件](#post-tag-failure-malware-protection-s3-ev)。

## 設定 EventBridge 規則
<a name="set-up-malware-protection-s3-eventbridge-rules"></a>

您可以在帳戶中設定 EventBridge 規則，將資源狀態、掃描後標籤失敗事件或 S3 物件掃描結果傳送至另一個 AWS 服務。身為委派的 GuardDuty 管理員帳戶，當狀態發生變更時，您將會收到惡意軟體防護計劃資源狀態通知。

標準 EventBridge 定價將適用。如需詳細資訊，請參閱 [Amazon EventBridge 定價](https://aws.amazon.com/eventbridge/pricing/)。

以*紅色*顯示的所有值都是範例的預留位置。這些值會根據您帳戶中的值，以及是否偵測到惡意軟體而變更。

**Topics**
+ [惡意軟體防護計劃資源狀態](#resource-status-malware-protection-s3-ev)
+ [S3 物件掃描結果](#s3-object-scan-status-malware-protection-s3-ev)
+ [掃描後標籤失敗事件](#post-tag-failure-malware-protection-s3-ev)

### 惡意軟體防護計劃資源狀態
<a name="resource-status-malware-protection-s3-ev"></a>

您可以根據下列案例建立 EventBridge 事件模式：

**潛在`detail-type`值**
+ `"GuardDuty Malware Protection Resource Status Active"`
+ `"GuardDuty Malware Protection Resource Status Warning"`
+ `"GuardDuty Malware Protection Resource Status Error"`

**事件模式**

```
{
      "detail-type": ["potential detail-type"],
      "source": ["aws.guardduty"]
}
```

**的通知結構描述範例`GuardDuty Malware Protection Resource Status Active`**：

```
{
    "version": "0",
    "id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718",
    "detail-type": "GuardDuty Malware Protection Resource Status Active",
    "source": "aws.guardduty",
    "account": "111122223333",
    "time": "2017-12-22T18:43:48Z",
    "region": "us-east-1",
    "resources": ["arn:aws:guardduty:us-east-1:111122223333:malware-protection-plan/b4c7f464ab3a4EXAMPLE"],
    "detail": {
        "schemaVersion": "1.0",
        "eventTime": "2024-02-28T01:01:01Z",
        "s3BucketDetails": {
            "bucketName": "amzn-s3-demo-bucket"
        },
        "resourceStatus": "ACTIVE"
    }
}
```

**的通知結構描述範例`GuardDuty Malware Protection Resource Status Warning`**：

```
{
    "version": "0",
    "id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718",
    "detail-type": "GuardDuty Malware Protection Resource Status warning",
    "source": "aws.guardduty",
    "account": "111122223333",
    "time": "2017-12-22T18:43:48Z",
    "region": "us-east-1",
    "resources": ["arn:aws:guardduty:us-east-1:111122223333:malware-protection-plan/b4c7f464ab3a4EXAMPLE"],
    "detail": {
        "schemaVersion": "1.0",
        "eventTime": "2024-02-28T01:01:01Z",
        "s3BucketDetails": {
            "bucketName": "amzn-s3-demo-bucket"
        },
        "resourceStatus": "WARNING",
        "statusReasons": [
         {
            "code": "INSUFFICIENT_TEST_OBJECT_PERMISSIONS"
         }
        ]
    }
}
```

**的通知結構描述範例`GuardDuty Malware Protection Resource Status Error`**：

```
{
    "version": "0",
    "id": "fc7a35b7-83bd-3c1f-ecfa-1b8de9e7f7d2",
    "detail-type": "GuardDuty Malware Protection Resource Status Error",
    "source": "aws.guardduty",
    "account": "111122223333",
    "time": "2017-12-22T18:43:48Z",
    "region": "us-east-1",
    "resources": ["arn:aws:guardduty:us-east-1:111122223333:malware-protection-plan/b4c7f464ab3a4EXAMPLE"],
    "detail": {
        "schemaVersion": "1.0",
        "eventTime": "2024-02-28T01:01:01Z",
        "s3BucketDetails": {
            "bucketName": "amzn-s3-demo-bucket"
        },
        "resourceStatus": "ERROR",
        "statusReasons": [
        {
            "code": "EVENTBRIDGE_MANAGED_EVENTS_DELIVERY_DISABLED"
        }
       ]
    }
}
```

根據 `resourceStatus` 背後的原因`ERROR`，將會填入 `statusReasons`值。

如需下列警告和錯誤的疑難排解步驟資訊，請參閱 [針對惡意軟體防護計劃狀態進行故障診斷](troubleshoot-s3-malware-protection-status-errors.md)。

### S3 物件掃描結果
<a name="s3-object-scan-status-malware-protection-s3-ev"></a>

```
{
  "detail-type": ["GuardDuty Malware Protection Object Scan Result"],
  "source": ["aws.guardduty"]
}
```

**的通知結構描述範例`NO_THREATS_FOUND`**：

```
{
    "version": "0",
    "id": "72c7d362-737a-6dce-fc78-9e27a0171419",
    "detail-type": "GuardDuty Malware Protection Object Scan Result",
    "source": "aws.guardduty",
    "account": "111122223333",
    "time": "2024-02-28T01:01:01Z",
    "region": "us-east-1",
    "resources": ["arn:aws:guardduty:us-east-1:111122223333:malware-protection-plan/b4c7f464ab3a4EXAMPLE"],
    "detail": {
        "schemaVersion": "1.0",
        "scanStatus": "COMPLETED",
        "resourceType": "S3_OBJECT",
        "s3ObjectDetails": {
            "bucketName": "amzn-s3-demo-bucket",
            "objectKey": "APKAEIBAERJR2EXAMPLE",
            "eTag": "ASIAI44QH8DHBEXAMPLE",
            "versionId" : "d41d8cd98f00b204e9800998eEXAMPLE",
            "s3Throttled": false
        },
        "scanResultDetails": {
            "scanResultStatus": "NO_THREATS_FOUND",
            "threats": null
        }
    }
}
```

**的通知結構描述範例`THREATS_FOUND`**：

```
{
    "version": "0",
    "id": "72c7d362-737a-6dce-fc78-9e27a0171419",
    "detail-type": "GuardDuty Malware Protection Object Scan Result",
    "source": "aws.guardduty",
    "account": "111122223333",
    "time": "2024-02-28T01:01:01Z",
    "region": "us-east-1",
    "resources": ["arn:aws:guardduty:us-east-1:111122223333:malware-protection-plan/b4c7f464ab3a4EXAMPLE"],
    "detail": {
        "schemaVersion": "1.0",
        "scanStatus": "COMPLETED",
        "resourceType": "S3_OBJECT",
        "s3ObjectDetails": {
            "bucketName": "amzn-s3-demo-bucket",
            "objectKey": "APKAEIBAERJR2EXAMPLE",
            "eTag": "ASIAI44QH8DHBEXAMPLE",
            "versionId" : "d41d8cd98f00b204e9800998eEXAMPLE",
            "s3Throttled": false
        },
        "scanResultDetails": {
            "scanResultStatus": "THREATS_FOUND",
            "threats": [
                {
                    "name": "EICAR-Test-File (not a virus)"
                }
            ]
        }
    }
}
```

**注意**  
`scanResultDetails.Threats` 欄位只包含一個威脅。根據預設，惡意軟體防護 S3 掃描會報告第一個偵測到的威脅。之後， `scanStatus`會設定為 `COMPLETED`。

**掃描結果狀態的通知結構描述範例 `UNSUPPORTED`（略過）**：

```
{
    "version": "0",
    "id": "72c7d362-737a-6dce-fc78-9e27a0EXAMPLE",
    "detail-type": "GuardDuty Malware Protection Object Scan Result",
    "source": "aws.guardduty",
    "account": "111122223333",
    "time": "2024-02-28T01:01:01Z",
    "region": "us-east-1",
    "resources": ["arn:aws:guardduty:us-east-1:111122223333:malware-protection-plan/b4c7f464ab3a4EXAMPLE"],
    "detail": {
        "schemaVersion": "1.0",
        "scanStatus": "SKIPPED",
        "resourceType": "S3_OBJECT",
        "s3ObjectDetails": {
            "bucketName": "amzn-s3-demo-bucket",
            "objectKey": "APKAEIBAERJR2EXAMPLE",
            "eTag": "ASIAI44QH8DHBEXAMPLE",
            "versionId" : "d41d8cd98f00b204e9800998eEXAMPLE",
            "s3Throttled": false
        },
        "scanResultDetails": {
            "scanResultStatus": "UNSUPPORTED",
            "threats": null
        }
    }
}
```

**掃描結果狀態的通知結構描述範例 `ACCESS_DENIED`（略過）**：

```
{
    "version": "0",
    "id": "72c7d362-737a-6dce-fc78-9e27a0EXAMPLE",
    "detail-type": "GuardDuty Malware Protection Object Scan Result",
    "source": "aws.guardduty",
    "account": "111122223333",
    "time": "2024-02-28T01:01:01Z",
    "region": "us-east-1",
    "resources": ["arn:aws:guardduty:us-east-1:111122223333:malware-protection-plan/b4c7f464ab3a4EXAMPLE"],
    "detail": {
        "schemaVersion": "1.0",
        "scanStatus": "SKIPPED",
        "resourceType": "S3_OBJECT",
        "s3ObjectDetails": {
            "bucketName": "amzn-s3-demo-bucket",
            "objectKey": "APKAEIBAERJR2EXAMPLE",
            "eTag": "ASIAI44QH8DHBEXAMPLE",
            "versionId" : "d41d8cd98f00b204e9800998eEXAMPLE",
            "s3Throttled": false
        },
        "scanResultDetails": {
            "scanResultStatus": "ACCESS_DENIED",
            "threats": null
        }
    }
}
```

**掃描結果狀態 的通知結構描述範例`FAILED`**：

```
{
    "version": "0",
    "id": "72c7d362-737a-6dce-fc78-9e27a0EXAMPLE",
    "detail-type": "GuardDuty Malware Protection Object Scan Result",
    "source": "aws.guardduty",
    "account": "111122223333",
    "time": "2024-02-28T01:01:01Z",
    "region": "us-east-1",
    "resources": ["arn:aws:guardduty:us-east-1:111122223333:malware-protection-plan/b4c7f464ab3a4EXAMPLE"],
    "detail": {
        "schemaVersion": "1.0",
        "scanStatus": "FAILED",
        "resourceType": "S3_OBJECT",
        "s3ObjectDetails": {
            "bucketName": "amzn-s3-demo-bucket",
            "objectKey": "APKAEIBAERJR2EXAMPLE",
            "eTag": "ASIAI44QH8DHBEXAMPLE",
            "versionId" : "d41d8cd98f00b204e9800998eEXAMPLE",
            "s3Throttled": false
        },
        "scanResultDetails": {
            "scanResultStatus": "FAILED",
            "threats": null
        }
    }
}
```

### 掃描後標籤失敗事件
<a name="post-tag-failure-malware-protection-s3-ev"></a>

**事件模式**：

```
{
      "detail-type": "GuardDuty Malware Protection Post Scan Action Failed",
      "source": "aws.guardduty"
 }
```

**的通知結構描述範例`ACCESS_DENIED`**：

```
{
    "version": "0",
    "id": "746acd83-d75c-5b84-91d2-dad5f13ba0d7",
    "detail-type": "GuardDuty Malware Protection Post Scan Action Failed",
    "source": "aws.guardduty",
    "account": "111122223333",
    "time": "2024-06-10T16:16:08Z",
    "region": "us-east-1",
    "resources": ["arn:aws:guardduty:us-east-1:111122223333:malware-protection-plan/b4c7f464ab3a4EXAMPLE"],
    "detail": {
        "schemaVersion": "1.0",
        "eventTime": "2024-06-10T16:16:08Z",
        "s3ObjectDetails": {
            "bucketName": "amzn-s3-demo-bucket",
            "objectKey": "2024-03-10-16-16-00-7D723DE8DBE9Y2E0",
            "eTag": "0e9eeec810ad8b61d69112c15c2a5hb6",
            "versionId" : "d41d8cd98f00b204e9800998eEXAMPLE",
            "s3Throttled": false
        },
        "postScanActions": [{
            "actionType": "TAGGING",
            "failureReason": "ACCESS_DENIED"
        }]
    }
}
```

**的通知結構描述範例`MAX_TAG_LIMIT_EXCEEDED`**：

```
{
    "version": "0",
    "id": "746acd83-d75c-5b84-91d2-dad5f13ba0d7",
    "detail-type": "GuardDuty Malware Protection Post Scan Action Failed",
    "source": "aws.guardduty",
    "account": "111122223333",
    "time": "2024-06-10T16:16:08Z",
    "region": "us-east-1",
    "resources": ["arn:aws:guardduty:us-east-1:111122223333:malware-protection-plan/b4c7f464ab3a4EXAMPLE"],
    "detail": {
        "schemaVersion": "1.0",
        "eventTime": "2024-06-10T16:16:08Z",
        "s3ObjectDetails": {
            "bucketName": "amzn-s3-demo-bucket",
            "objectKey": "2024-03-10-16-16-00-7D723DE8DBE9Y2E0",
            "eTag": "0e9eeec810ad8b61d69112c15c2a5hb6",
            "versionId" : "d41d8cd98f00b204e9800998eEXAMPLE",
            "s3Throttled": false
        },
        "postScanActions": [{
            "actionType": "TAGGING",
            "failureReason": "MAX_TAG_LIMIT_EXCEEDED"
        }]
    }
}
```

若要疑難排解這些故障原因，請參閱 [對 S3 物件掃描後標籤失敗進行故障診斷](troubleshoot-s3-post-scan-tag-failures.md)。

# 使用 GuardDuty 受管標籤監控 S3 物件掃描
<a name="monitor-enable-s3-object-tagging-malware-protection"></a>

使用啟用標記選項，讓 GuardDuty 可以在完成惡意軟體掃描後將標籤新增至 Amazon S3 物件。

**啟用標記的考量事項**
+ 當 GuardDuty 標記您的 S3 物件時，會產生相關的使用成本。如需詳細資訊，請參閱[S3 惡意軟體防護的定價和使用成本](pricing-malware-protection-for-s3-guardduty.md)。
+ 您必須保留與此儲存貯體相關聯的偏好 IAM 角色所需的標記許可；否則，GuardDuty 無法將標籤新增至掃描的物件。IAM 角色已包含將標籤新增至掃描 S3 物件的許可。如需詳細資訊，請參閱[建立或更新 IAM 角色政策](malware-protection-s3-iam-policy-prerequisite.md)。
+ 根據預設，您最多可以將 10 個標籤與 S3 物件建立關聯。如需詳細資訊，請參閱[使用標籤型存取控制 (TBAC)](tag-based-access-s3-malware-protection.md)。

啟用 S3 儲存貯體或特定字首的標記後，任何新上傳且已掃描的物件都會有下列鍵值對格式的關聯標籤：

`GuardDutyMalwareScanStatus`:`Scan-Result-Status`

如需潛在標籤值的資訊，請參閱 [S3 物件潛在掃描狀態和結果狀態](monitoring-malware-protection-s3-scans-gdu.md#s3-object-scan-result-value-malware-protection)。

# 針對 S3 惡意軟體防護中的 S3 物件掃描後標籤失敗進行故障診斷
<a name="troubleshoot-s3-post-scan-tag-failures"></a>

本節僅適用於您在受保護的儲存貯[啟用掃描物件的標記](enable-malware-protection-s3-bucket.md#tag-scanned-objects-s3-malware-protection)體中的情況。

當 GuardDuty 嘗試將標籤新增至掃描的 S3 物件時，標記動作可能會導致失敗。您的儲存貯體可能發生這種情況的潛在原因是 `ACCESS_DENIED`和 `MAX_TAG_LIMIT_EXCEEDED`。使用以下主題來了解這些掃描後標籤失敗原因的潛在原因，並進行故障診斷。

**ACCESS\$1DENIED**  
下列清單提供可能導致此問題的潛在原因：  
+ 用於此受保護 S3 儲存貯體的 IAM 角色缺少 **AllowPostScanTag** 許可。確認相關聯的 IAM 角色使用此儲存貯體政策。如需詳細資訊，請參閱[建立或更新 IAM 角色政策](malware-protection-s3-iam-policy-prerequisite.md)。
+ 受保護的 S3 儲存貯體政策不允許 GuardDuty 將標籤新增至此物件。
+ 掃描的 S3 物件不再存在。

**MAX\$1TAG\$1LIMIT\$1EXCEEDED**  
根據預設，您最多可以將 10 個標籤與 S3 物件建立關聯。如需詳細資訊，請參閱 下的 GuardDuty 將標籤新增至 S3 物件的考量[啟用掃描物件的標記](enable-malware-protection-s3-bucket.md#tag-scanned-objects-s3-malware-protection)。

# CloudWatch 中的 S3 物件掃描狀態指標
<a name="monitor-cloudwatch-metrics-s3-malware-protection"></a>

您可以使用 CloudWatch 監控 GuardDuty，這會收集原始資料並將其處理為可讀且近乎即時的指標。這些統計資料會保留 15 個月，讓您可以存取歷史資訊，並更清楚 S3 的惡意軟體防護效能。您也可以設定留意特定閾值的警示，當滿足這些閾值時傳送通知或採取動作。如需詳細資訊，請參閱 [Amazon CloudWatch 使用者指南](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/)。

適用於 S3 惡意軟體防護的 CloudWatch 指標可在資源層級使用。您可以分別查詢每個受保護資源的這些指標。指標會在 `AWS/GuardDuty/MalwareProtection` 命名空間中報告。您可以在特定資源上設定警示，以監控安全狀態。


| 
| 
| **惡意軟體掃描狀態指標**  | 
| --- |
|  **指標**  |  **Description**  | 
|  `CompletedScanCount`  |  在指定時間範圍內完成的 S3 物件惡意軟體掃描數量。 有效維度：   `Malware Protection Plan Id` `Resource Name`   單位：Count  | 
|  `FailedScanCount`  |  在指定時間範圍內失敗的 S3 物件惡意軟體掃描次數。 **有效維度**：   `Malware Protection Plan Id` `Resource Name`   單位：Count  | 
|  `SkippedScanCount`  |  在指定時間範圍內略過的 S3 物件惡意軟體掃描數目。 **有效維度**：   `Malware Protection Plan Id` `Resource Name` `Skipped Reason`  可能的值  `Unsupported`   `MissingPermissions`     單位：Count  | 
| **惡意軟體掃描結果指標**  | 
| --- |
|  `InfectedScanCount`  |  在指定時間範圍內偵測到潛在惡意物件的 S3 物件惡意軟體掃描次數。 有效維度：   `Malware Protection Plan Id` `Resource Name`   單位：Count  | 
|  `CompletedScanBytes`  |  在指定時間範圍內掃描的 S3 物件位元組數。 有效維度：   `Malware Protection Plan Id` `Resource Name`   單位：Count  | 

**注意**  
根據預設，CloudWatch 指標中的統計資料為 AVG。

惡意軟體防護 S3 指標支援下列維度。


| 
| 
| **維度** | **Description** | 
| --- |--- |
|  惡意軟體防護計畫 ID  |  與 GuardDuty 為受保護資源建立的惡意軟體防護計劃資源相關聯的唯一識別符。  | 
|  資源名稱  |  受保護資源的名稱。  | 
|  略過的原因  |  略過 S3 物件惡意軟體掃描的原因。  可能的值  `Unsupported`   `MissingPermissions`    | 

如需有關存取和查詢這些指標的資訊，請參閱《[Amazon CloudWatch 使用者指南》中的使用 Amazon CloudWatch 指標](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)。 *Amazon CloudWatch *

如需設定警示的相關資訊，請參閱《[Amazon CloudWatch 使用者指南》中的使用 Amazon CloudWatch 警示](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)。 *Amazon CloudWatch *

# 疑難排解
<a name="troubleshoot-s3-malware-protection"></a>

**Topics**
+ [針對惡意軟體防護計劃狀態進行故障診斷](troubleshoot-s3-malware-protection-status-errors.md)
+ [故障診斷隨需惡意軟體掃描](troubleshoot-s3-malware-protection-on-demand.md)

# 針對惡意軟體防護計劃狀態進行故障診斷
<a name="troubleshoot-s3-malware-protection-status-errors"></a>

對於任何受保護的儲存貯體，GuardDuty 會根據排名顯示**狀態**。例如，如果受保護的儲存貯體在**錯誤**和**警告**類別下發生問題，GuardDuty 會先顯示與**錯誤**狀態相關聯的問題。

下列清單包含惡意軟體防護計劃狀態的錯誤和警告。

**錯誤**  
+ [此 S3 儲存貯體已停用 EventBridge 通知](#eventbridge-notification-disabled-malware-protection-s3-error)
+ [缺少接收 S3 儲存貯體事件的 EventBridge 受管規則](#eventbridge-managed-rule-missing-malware-protection-s3-error)
+ [S3 儲存貯體不再存在](#bucket-no-longer-exists-malware-protection-s3-error)

**警告**  
[無法放置測試物件](#unable-put-test-object-malware-protection-s3-warning)

## 此 S3 儲存貯體已停用 EventBridge 通知
<a name="eventbridge-notification-disabled-malware-protection-s3-error"></a>

相關聯的狀態原因代碼為 `EVENTBRIDGE_MANAGED_EVENTS_DELIVERY_DISABLED`。

**狀態詳細資訊**  
當新物件上傳到此 S3 儲存貯體時，GuardDuty 會使用 EventBridge 來接收通知。IAM 角色中缺少此許可。

**疑難排解的步驟**  
**選項 1：將下列許可陳述式新增至您的 IAM 角色：**  

```
{
          "Sid": "AllowEnableS3EventBridgeEvents",
          "Effect": "Allow",
          "Action": [
             "s3:PutBucketNotification",
             "s3:GetBucketNotification"
             ],
          "Resource": [
             "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
}
```
將 *amzn-s3-demo-bucket* 取代為您的 Amazon S3 儲存貯體名稱。  

**選項 2：使用 Amazon S3 主控台啟用 EventBridge 通知**

1. 開啟位於 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

1. 在**儲存貯**體頁面**的一般用途儲存貯**體索引標籤下，選取與此錯誤相關聯的儲存貯體名稱。

1. 在此儲存貯體頁面上，選擇**屬性**索引標籤。

1. 在 **Amazon EventBridge** 區段下，選取**編輯**。

1. 在**編輯 Amazon EventBridge** 頁面上，針對**此儲存貯體中的所有事件傳送通知至 Amazon EventBridge**，選取**開啟**。

1. 選擇**儲存變更**。
狀態****資料欄值可能需要幾分鐘的時間才能變更為**作用中**。

## 缺少接收 S3 儲存貯體事件的 EventBridge 受管規則
<a name="eventbridge-managed-rule-missing-malware-protection-s3-error"></a>

相關聯的狀態原因代碼為 `EVENTBRIDGE_MANAGED_RULE_DISABLED`。

 **狀態詳細資訊**   
EventBridge 受管規則缺少管理 EventBridge 規則設定的許可。

**疑難排解的步驟**  
將下列許可陳述式新增至您的 IAM 角色：  

```
{
         "Sid": "AllowManagedRuleToSendS3EventsToGuardDuty",
        "Effect": "Allow",
        "Action": [
                "events:PutRule",
                "events:DeleteRule",
                "events:PutTargets",
                "events:RemoveTargets"
            ],
        "Resource": [
           "arn:aws:events:*:*:rule/DO-NOT-DELETE-AmazonGuardDutyMalwareProtectionS3*"
           ],
        "Condition": {
           "StringEquals": {
              "events:ManagedBy": "malware-protection-plan.guardduty.amazonaws.com"
              }
           }
}
```
狀態****資料欄值可能需要幾分鐘的時間才能變更為**作用中**。

## S3 儲存貯體不再存在
<a name="bucket-no-longer-exists-malware-protection-s3-error"></a>

相關聯的狀態原因代碼為 `PROTECTED_RESOURCE_DELETED`。

 **狀態詳細資訊**   
此 S3 儲存貯體已從您的帳戶刪除，且不再存在。

 **疑難排解的步驟**   
如果刪除 S3 儲存貯體不是故意的，您可以使用 Amazon S3 主控台建立新的儲存貯體。  
成功建立儲存貯體後，請依照[為您的儲存貯體設定 S3 的惡意軟體防護](configuring-malware-protection-for-s3-guardduty.md)頁面下的步驟啟用 S3 的惡意軟體防護。

## 無法放置測試物件
<a name="unable-put-test-object-malware-protection-s3-warning"></a>

相關聯的狀態原因代碼為 `INSUFFICIENT_TEST_OBJECT_PERMISSIONS`。

**注意**  
新增測試物件的許可是選用的。IAM 角色中缺少此許可不會阻止 S3 的惡意軟體防護對新上傳的物件啟動惡意軟體掃描。成功啟動掃描後，惡意軟體防護計劃**狀態**可能需要幾分鐘的時間才能從**警告**變更為**作用中**。  
如果 IAM 角色已包含此許可，則此警告表示限制性 Amazon S3 儲存貯體政策，不允許 IAM 存取將測試物件放入此 S3 儲存貯體。

**狀態詳細資訊**  
若要驗證所選儲存貯體的設定，GuardDuty 會將測試物件放入您的儲存貯體。

**疑難排解的步驟**  
您可以選擇更新 IAM 角色以包含缺少的許可。針對選取的 IAM 角色，新增下列許可，讓 GuardDuty 可以將測試物件放入選取的資源：  

```
{
         "Sid": "AllowPutValidationObject",
         "Effect": "Allow",
         "Action": [
           "s3:PutObject"
           ],
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket/malware-protection-resource-validation-object"
           ]
}
```
將 *amzn-s3-demo-bucket* 取代為您的 Amazon S3 儲存貯體名稱。如需 IAM 角色許可的資訊，請參閱 [建立或更新 IAM 角色政策](malware-protection-s3-iam-policy-prerequisite.md)。  
狀態****資料欄值可能需要幾分鐘的時間才能變更為**作用中**。

# 故障診斷隨需惡意軟體掃描
<a name="troubleshoot-s3-malware-protection-on-demand"></a>

## 無法啟動掃描。
<a name="w2aac23c33b7b3"></a>

請確定掃描請求包含有效的輸入，且儲存貯體已啟用惡意軟體防護計畫。

# 編輯受保護儲存貯體的惡意軟體防護計劃
<a name="edit-malware-protection-protected-s3-bucket"></a>

您可能需要編輯偏好的 IAM 許可政策、啟用或停用掃描 S3 物件的標記，或新增或移除 S3 物件字首。例如，當您為儲存貯體啟用 S3 的惡意軟體防護時，您決定不啟用使用掃描結果標記掃描的 S3 物件。不過，現在您希望 GuardDuty 將預先定義的標籤和掃描結果新增為標籤值。

選擇偏好的存取方法，以更新受保護 S3 儲存貯體的惡意軟體防護計劃。

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

**編輯惡意軟體防護計劃**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/)：// 開啟 GuardDuty 主控台。

1. 在導覽窗格中，選擇 ** S3 的惡意軟體防護**。

1. 在**受保護的儲存貯**體下，選取要編輯現有組態的儲存貯體。

1. 選擇**編輯**。

1. 更新儲存貯體的現有組態和設定，並確認變更。如需每個區段的說明和步驟的相關資訊，請參閱 [為您的儲存貯體啟用 S3 的惡意軟體防護](enable-malware-protection-s3-bucket.md)。

   監控此受保護儲存貯體**的狀態**欄。如果顯示為**警告**或**錯誤**，請參閱 [針對惡意軟體防護計劃狀態進行故障診斷](troubleshoot-s3-malware-protection-status-errors.md)。

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

**使用 API 或 編輯惡意軟體防護計劃 AWS CLI**
+ **使用 API**

  使用與此計劃資源相關聯的惡意軟體防護計劃 ID 來執行 [UpdateMalwareProtectionPlan](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_UpdateMalwareProtectionPlan.html) API。

  若要擷取特定區域中的惡意軟體防護計劃 ID，您可以在該區域中執行 [ListMalwareProtectionPlans](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListMalwareProtectionPlans.html) API。
+ **使用 AWS CLI**

  以下清單提供更新惡意軟體防護計劃資源 AWS CLI 的範例命令。您需要與 S3 儲存貯體相關聯的惡意軟體防護計劃 ID。

**AWS CLI 範例命令**
  + 使用下列 AWS CLI 命令來**啟用或停用**與 S3 儲存貯體相關聯之惡意軟體防護計劃資源的標記：

    ```
    aws guardduty update-malware-protection-plan --malware-protection-plan-id 4cc8bf26c4d75EXAMPLE --actions "Tagging"={"Status"="ENABLED|DISABLED"}
    ```
  + 使用下列 AWS CLI 命令，將**物件字首新增至**與您的 S3 儲存貯體相關聯的惡意軟體防護計劃資源：

    ```
    aws guardduty update-malware-protection-plan --malware-protection-plan-id 4cc8bf26c4d75EXAMPLE --protected-resource "S3Bucket"={"ObjectPrefixes"=["amzn-s3-demo-1", "amzn-s3-demo-2"]}
    ```

    請務必在此命令中包含現有的物件字首；否則，GuardDuty 會在編輯惡意軟體防護計劃資源時移除這些字首。
  + 使用下列 AWS CLI 命令，從與您的 S3 儲存貯體相關聯的惡意軟體防護計劃資源**中移除物件字首**：

    ```
    aws guardduty update-malware-protection-plan --malware-protection-plan-id 4cc8bf26c4d75EXAMPLE --protected-resource "S3Bucket"={"ObjectPrefixes"=[""]}
    ```

  如果您還沒有此資源的惡意軟體防護計劃 ID，您可以執行下列 AWS CLI 命令，並將 *us-east-1* 取代為您要列出惡意軟體防護計劃 IDs的區域。

  ```
  aws guardduty list-malware-protection-plans --region us-east-1
  ```

------

# 停用受保護儲存貯體的 S3 惡意軟體防護
<a name="disable-malware-s3-protected-bucket"></a>

當您停用受保護儲存貯體的惡意軟體防護 S3 時，GuardDuty 會刪除與該儲存貯體相關聯的惡意軟體防護計劃 ID。當新物件上傳到此儲存貯體或其中一個選取的物件字首時，GuardDuty 將不再啟動惡意軟體掃描。

如果您已啟用 GuardDuty，現在想要暫停或停用 GuardDuty，請參閱 [暫停或停用 GuardDuty](guardduty_suspend-disable.md)。由於 S3 的惡意軟體防護中沒有偵測器 ID 的概念，因此停用或暫停 GuardDuty **不會影響您**帳戶中受保護儲存貯體的狀態。您可以繼續使用適用於 S3 的惡意軟體防護功能，獨立於相關聯的標準定價。如需詳細資訊，請參閱[檢閱 S3 惡意軟體防護的使用成本檢閱用量成本](usage-cost-malware-protection-s3-gdu.md)。若要停止使用 S3 的惡意軟體防護，您需要為帳戶中所有受保護的儲存貯體停用它。如果您想要繼續使用 GuardDuty，並僅停用儲存貯體的 S3 惡意軟體防護，下列步驟不會影響 GuardDuty 服務的組態，以及您可能已啟用的其他保護計劃。

選擇偏好的存取方法，在受保護的 S3 儲存貯體中停用 S3 的惡意軟體防護。

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

**使用 GuardDuty 主控台停用 S3 的惡意軟體防護**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/guardduty/](https://console.aws.amazon.com/guardduty/)：// 開啟 GuardDuty 主控台。

1. 在導覽窗格中，選擇 ** S3 的惡意軟體防護**。

1. 在**受保護的儲存貯**體下，選取要停用 S3 惡意軟體防護的儲存貯體。

   您一次只能選取一個受保護的儲存貯體。若要針對多個儲存貯體停用 S3 的惡意軟體防護，請再次針對另一個 S3 儲存貯體遵循下列步驟。

1. 選擇**停用**以確認選擇。

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

**使用 API 或 停用 S3 的惡意軟體防護 AWS CLI**
+ **使用 API**

  使用與此計劃資源相關聯的惡意軟體防護計劃 ID 來執行 [DeleteMalwareProtectionPlan](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_DeleteMalwareProtectionPlan.html) API。

  若要擷取惡意軟體防護計劃 ID，您可以執行 [ListMalwareProtectionPlans](https://docs.aws.amazon.com/guardduty/latest/APIReference/API_ListMalwareProtectionPlans.html) API。
+ **使用 AWS CLI**

  或者，您可以執行下列 AWS CLI 命令，將 *4cc8bf26c4d75EXAMPLE* 取代為與此 S3 儲存貯體相關聯的惡意軟體防護計劃 ID，以停用 S3 的惡意軟體防護：

  ```
  aws guardduty delete-malware-protection-plan --malware-protection-plan-id 4cc8bf26c4d75EXAMPLE
  ```

  如果您還沒有此 S3 儲存貯體的惡意軟體防護計劃 ID，您可以執行下列 AWS CLI 命令，並將 *us-east-1* 取代為您要列出惡意軟體防護計劃 IDs的區域。

  ```
  aws guardduty list-malware-protection-plans --region us-east-1
  ```

------

# Amazon S3 功能的支援能力
<a name="supported-s3-features-malware-protection-s3"></a>

下表指定惡意軟體防護 for S3 是否支援列出的 Amazon S3 功能。


| S3 功能名稱 | 是否提供支援？ | Description | 
| --- | --- | --- | 
|  S3 儲存類別 - S3 標準 S3 儲存類別 - S3 標準-不常存取 S3 儲存類別 - S3 單區域不常存取 S3 儲存類別 - S3 Glacier Instant Retrieval  |  是  |  無需非同步還原即可擷取 S3 物件。  | 
|  S3 儲存類別 - S3 Intelligent-Tiering  |  有條件  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/guardduty/latest/ug/supported-s3-features-malware-protection-s3.html)  | 
|  S3 儲存類別 - S3 Express One Zone （目錄儲存貯體）  |  否  |  GuardDuty 僅支援適用於 S3 惡意軟體防護的一般用途儲存貯體。  | 
|  S3 儲存類別 - S3 Glacier Flexible Retrieval S3 儲存類別 - S3 Glacier Deep Archive  |  否  |  必須先還原 S3 物件，才能存取它們。  | 
|  Amazon S3 on Outposts  |  否  |  Outposts 不支援 S3 的惡意軟體防護。  | 
|  S3 版本控制  |  是  |  所有上傳的 S3 物件都會掃描惡意軟體。如果您使用檔案版本 v1 上傳物件，並立即使用 v2 上傳另一個版本覆寫，GuardDuty 會掃描物件檔案版本 v1 和 v2。不過，掃描開始時間的順序可能不同。  | 
|  S3 複寫 - 掃描複寫的物件  |  是  |  如果目的地儲存貯體是受保護的資源，GuardDuty 會掃描所有 S3 物件是否複寫至受保護和監控的字首。  | 
|  S3 複寫：掃描結果標籤上的複寫  |  否  |  您無法根據掃描結果標籤定義複寫規則。Amazon S3 不支援 標籤的複寫，建立時除外。  | 
|  資料加密 - S3-SSE 資料加密 - SSE-KMS 資料加密 - DSSE-KMS AWS KMS - 客戶受管金鑰  |  是  |  GuardDuty 支援對使用受管金鑰和客戶受管金鑰加密的 S3 物件進行惡意軟體掃描。確保 IAM 角色包含使用 金鑰的許可。如需詳細資訊，請參閱[新增 IAM 政策許可](malware-protection-s3-iam-policy-prerequisite.md#attach-iam-policy-s3-malware-protection)。  | 
|  資料加密 - SSE-C  |  否  |  S3 的惡意軟體防護不支援掃描使用無法存取之金鑰加密的 S3 物件。  | 
|  用戶端加密  |  否  |  當您的 Amazon S3 物件使用 Amazon S3 加密用戶端加密時，您的物件不會公開給任何第三方，包括 AWS。如需為何不支援此功能的資訊，請參閱[使用用戶端加密來保護資料](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingClientSideEncryption.html)。  CSE-KMS 加密物件會以加密 Blob 的形式接收，其中無法判斷加密。因此，GuardDuty 會在收到它們時進行處理，並將加密的 Blob 掃描為一般檔案。除非超過任何 ，否則 GuardDuty 不會傳回此類物件的`UNSUPPORTED`掃描狀態[S3 惡意軟體防護的配額](malware-protection-s3-quotas-guardduty.md)。   | 
|  S3 物件鎖定和法務保存  |  是  |  鎖定的 S3 物件會根據 WORM - 寫入一次讀取多次來鎖定。S3 的惡意軟體防護可以存取和掃描物件。  | 
|  申請者付費  |  是  |  S3 的惡意軟體防護可以掃描使用*申請者付款*設定的儲存貯體。申請者將支付 S3 呼叫的費用。如需詳細資訊，請參閱《*Amazon S3 使用者指南*》中的[使用請求者支付儲存貯體，以進行儲存傳輸和使用](https://docs.aws.amazon.com/AmazonS3/latest/userguide/RequesterPaysBuckets.html)。  | 
|  S3：儲存生命週期  |  是  |  您可以根據掃描結果標籤定義生命週期政策。例如，自動刪除惡意物件。如需 lifcycle 組態的詳細資訊，請參閱《*Amazon S3 使用者指南*》中的[管理您的儲存生命週期](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html)。  | 
|  S3：標籤型存取控制 (TBAC)  |  是  |  您可以根據 S3 物件掃描結果標籤來定義儲存貯體資源政策。例如，防止存取尚未掃描的 S3 物件，或 GuardDuty 偵測到威脅。如需詳細資訊，請參閱[使用標籤型存取控制 (TBAC) 搭配適用於 S3 的惡意軟體防護](tag-based-access-s3-malware-protection.md)。  | 

# S3 惡意軟體防護的配額
<a name="malware-protection-s3-quotas-guardduty"></a>

本節提供預設配額，通常稱為限制。除非另有說明，否則每個配額都是區域特定的。若要檢視使用基礎 GuardDuty 服務的特定預設配額，請參閱 [Amazon GuardDuty 配額](guardduty_limits.md)。

下表說明將套用至 的多個配額 AWS 帳戶。


| 配額名稱 | AWS 預設配額值 | 是否可以調整？ | Description | 
| --- | --- | --- | --- | 
|  S3 物件大小上限  |  100 GB  |  否  |  GuardDuty 將嘗試掃描惡意軟體的最大 S3 物件大小。 雖然此配額無法調整，但如果您需要掃描較大的物件，請聯絡 AWS 支援 以判斷 GuardDuty 是否可以增加使用案例的配額。  | 
|  擷取的封存位元組  |  100 GB  |  否  |  GuardDuty 可從封存檔案擷取和分析的最大資料量。 GuardDuty 會略過擷取超過 100 GB 的封存檔案。  | 
|  解壓縮的封存檔案  |  10,000  |  否  |  GuardDuty 可以在封存檔案中擷取和分析的檔案數目上限。如果封存包含超過 10，000 個檔案，GuardDuty 必須略過封存的檔案。  複合檔案類型可能受到這些限制。檔案類型包括但不限於多用途網際網路郵件延伸 (MIME) 編碼電子郵件訊息、編譯的 Python (PYC) 檔案、編譯的 HTML 說明 (CHM) 檔案、所有安裝程式和 OpenDocument 格式 (ODF) 文件。   | 
|  封存深度層級上限  |  5  |  否  |  GuardDuty 可以擷取的巢狀封存的最大層級。如果封存包含巢狀超過此值的檔案，GuardDuty 會略過這些巢狀檔案。  | 
|  受保護儲存貯體上限  |  25  |  否  |  您可以為 S3 啟用惡意軟體防護的 S3 儲存貯體數量上限。此配額限制是每個區域中的每個帳戶。  | 