

**推出 的新主控台體驗 AWS WAF**

您現在可以使用更新後的體驗，在主控台的任何位置存取 AWS WAF 功能。如需詳細資訊，請參閱[使用 主控台](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html)。

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

# 機器人控制範例：允許特定封鎖的機器人
<a name="waf-bot-control-example-allow-blocked-bot"></a>

機器人可能會被多個 Bot Control 規則封鎖。針對每個封鎖規則執行下列程序。

如果 AWS WAF Bot Control 規則封鎖您不想封鎖的機器人，請執行下列動作：

1. 透過檢查日誌來識別封鎖機器人的機器人控制規則。封鎖規則將在名稱開頭為 的 欄位中的日誌中指定`terminatingRule`。如需保護套件 (Web ACL) 日誌的資訊，請參閱 [記錄 AWS WAF 保護套件 (Web ACL) 流量](logging.md)。請注意，規則會新增至請求的標籤。

1. 在保護套件 (Web ACL) 中，覆寫封鎖規則要計數的動作。若要在主控台中執行此操作，請在保護套件 (Web ACL) 中編輯規則群組規則，並為規則選擇 Count的規則動作覆寫。這可確保機器人不受規則封鎖，但規則仍會將其標籤套用至相符的請求。

1. 在 Bot Control 受管規則群組之後，將標籤比對規則新增至保護套件 (Web ACL)。設定規則以比對覆寫規則的標籤，並封鎖所有相符的請求，但您不想封鎖的機器人除外。

   您的保護套件 (Web ACL) 現在已設定完成，因此您透過日誌識別的封鎖規則不會再封鎖您要允許的機器人。

再次檢查流量和您的日誌，以確保透過 來允許機器人。如果沒有，請再次執行上述程序。

例如，假設您想要封鎖 以外的所有監控機器人`pingdom`。在此情況下，您會覆寫`CategoryMonitoring`規則以計數，然後撰寫規則來封鎖所有監控機器人，但具有機器人名稱標籤 的機器人除外`pingdom`。

下列規則使用 Bot Control 受管規則群組，但會覆寫規則動作`CategoryMonitoring`讓 計數。類別監控規則會像往常一樣將其標籤套用至相符的請求，但只會計算它們，而不是執行區塊的一般動作。

```
{
  "Name": "AWS-AWSBotControl-Example",
  "Priority": 5,
  "Statement": {
    "ManagedRuleGroupStatement": {
      "VendorName": "AWS",
      "Name": "AWSManagedRulesBotControlRuleSet",
      "ManagedRuleGroupConfigs": [
        {
          "AWSManagedRulesBotControlRuleSet": {
            "InspectionLevel": "COMMON"
          }
        }
      ],
	  "RuleActionOverrides": [
        {
          "ActionToUse": {
            "Count": {}
          },
          "Name": "CategoryMonitoring"
        }
      ],
      "ExcludedRules": []
    }
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "AWS-AWSBotControl-Example"
  }
}
```

下列規則符合上述`CategoryMonitoring`規則新增至相符 Web 請求的類別監控標籤。在類別監控請求中，此規則會封鎖除了具有機器人名稱 標籤的所有 之外的所有 `pingdom`。

下列規則必須在保護套件 (Web ACL) 處理順序中的上述 Bot Control 受管規則群組之後執行。

```
{
      "Name": "match_rule",
      "Priority": 10,
      "Statement": {
        "AndStatement": {
          "Statements": [
            {
              "LabelMatchStatement": {
                "Scope": "LABEL",
                "Key": "awswaf:managed:aws:bot-control:bot:category:monitoring"
              }
            },
            {
              "NotStatement": {
                "Statement": {
                  "LabelMatchStatement": {
                    "Scope": "LABEL",
                    "Key": "awswaf:managed:aws:bot-control:bot:name:pingdom"
                  }
                }
              }
            }
          ]
        }
      },
      "Action": {
        "Block": {}
      },
      "VisibilityConfig": {
        "SampledRequestsEnabled": true,
        "CloudWatchMetricsEnabled": true,
        "MetricName": "match_rule"
      }
}
```