

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

# 為您的儲存貯體啟用 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)。