Eine WAF-Regel für eine Subdomain hinzufügen¶
Note
Wenn die optionalen Attribute nicht gesetzt sind, setzt das System einen Standardwert ein.
Note
Der Body enthält die Attribute id, created und modified nicht. Die Werte dieser Attribute werden vom System nach dem Erstellen des Eintrags gesetzt.
Senden einer POST-Anfrage an den Endpunkt /domain/{domainId}/{vHostName}/waf-rules.
Beschreibung¶
Mit der Add-WAF-Rule-Anfrage fügen Sie einer Subdomain der Organisation eine oder mehrere WAF-Regeln hinzu.
Voraussetzungen¶
Werte der Anfrage: Domain-ID {domainId}, Subdomain name {vHostName}
Objekte: WafRuleVO
Anfrage¶
Um einer Subdomain eine oder mehrere WAF-Regeln hinzuzufügen, fügen Sie die Domain-ID {domainId} und den Subdomain name {vHostName} dem Pfad der Anfrage hinzu.
Für eine detaillierte Spezifikation, welche Informationen zum Hinzufügen von WAF-Regeln erforderlich sind, müssen im Body ein oder mehrere Objekte WafRuleVO mit den folgenden Attributen definiert werden:
| Attribut | Beschreibung | Werte |
|---|---|---|
ruleType |
Die Kategorie der WAF-Regel. | Für Domain-WAF-Regeln: Domain |
name |
Der Name der WAF-Regel. | string |
description |
Eine individuelle Beschreibung für die WAF-Regel. | string |
logIdentifier |
Der Kurzname, der im Log zur Identifizierung der WAF-Regel angezeigt wird. | string |
subDomainName |
Die Ebene, auf der die Regel wirken soll. | Geben Sie den Namen einer Subdomain an oder für allgemeine WAF-Regeln ALL-<Domain-ID> bzw. ALL-<domain name>. |
direction |
Die Phase der WAF-Regel zur Verarbeitung eingehender oder ausgehender Anfragen. | Mögliche Werte:
|
sync |
||
actions |
Ein Array aller Actions einer WAF-Regel. | WafActionVO |
conditions |
Ein Array aller Conditions einer WAF-Regel mit dem Objekt. | WafConditionVO |
sort |
Die aufsteigende Reihenfolge des Eintrags. | Mögliche Werte: 0 oder höher |
enabled |
Die Verfügbarkeit der WAF-Regel. | Standard: trueMögliche Werte:
|
Die folgenden Attribute sind optional:
| Attribut | Beschreibung | Werte |
|---|---|---|
comment |
Ein individueller Kommentar für die WAF-Regel. | string |
template |
Gibt an, ob die WAF-Regel Teil eines Templates ist. | |
processNext |
Legt fest, ob die Conditions einer WAF-Regel nach einem Treffer weiter ausgewertet werden. | Standard: falseMögliche Werte:
|
copiedFrom |
Legt fest, ob die WAF-Regel eine Kopie einer anderen Regel ist. | |
expireDate |
Das Datum im ISO-8601-Format, bis zu dem die WAF-Regel gültig ist. | Standard: NULL |
Für Action und Condition müssen die folgenden Objekte hinzugefügt werden:
Objekt WafActionVO¶
| Attribut | Beschreibung | Werte |
|---|---|---|
name |
Der Name der Bedingung in der Myra App. |
|
type |
Der interne Name der Action. |
|
availablePhases |
Die Unterstützung verschiedener Phasen. |
|
customKey |
Der Customize-Key für die Action. Je nach Typ der Action kann dies ein Header-Name, ein Wert, ein Pfad oder ein Fehlercode sein. | string |
value |
Der Wert für die Action. | string |
Objekt WafConditionVO¶
| Attribut | Beschreibung | Werte |
|---|---|---|
name |
Der interne Name der Condition. |
|
key |
Der Customize-Key für die Condition. Je nach Typ der Condition kann dies ein Header-Name, ein Wert, ein Pfad oder ein Fehlercode sein. | string |
value |
Der Wert für die Condition. Je nach Typ der Condition kann dies ein Wert für den Customize-Key oder ein Vergleichsparameter für den Matching-Typ sein. | string |
matchingType |
Die Regex-Bedingung. | Für alle Conditions außer score:
|
availablePhases |
Die Unterstützung verschiedener Phasen. |
|
alias |
Der Name der Bedingung in der Myra App. |
|
Das System gibt als Antwort das Objekt WafRuleVO mit den Informationen zum neuen Eintrag zurück.
Beispiel¶
Beispiel-Request-Body:
{
"objectType": "string",
"comment": "string",
"ruleType": "string",
"name": "string",
"description": "string",
"logIdentifier": "string",
"template": true,
"subDomainName": "string",
"vhostId": 0,
"tagId": 0,
"direction": "string",
"uuid": "string",
"processNext": true,
"sync": true,
"actions": [
{
"objectType": "string",
"comment": "string",
"name": "string",
"type": "string",
"availablePhases": 0,
"customKey": "string",
"value": "string",
"forceCustomValues": 0
}
],
"conditions": [
{
"objectType": "string",
"comment": "string",
"category": "string",
"name": "string",
"key": "string",
"value": "string",
"matchingType": "string",
"availablePhases": 0,
"forceCustomValues": true,
"alias": "string"
}
],
"sort": 0,
"copiedFrom": 0,
"expireDate": "string",
"enabled": true
}
Antworten¶
Die folgenden Antworten sind möglich:
| STATUSCODE | BESCHREIBUNG |
|---|---|
| 201 | Die Anfrage war erfolgreich und ein neues Objekt wurde erstellt. |
| 400 | Die Anfrage war nicht erfolgreich. Die Anfrage war fehlerhaft oder es fehlen Informationen. |
| 401 | Die Anfrage war nicht erfolgreich, da die Authentifizierung fehlerhaft war. |
| 403 | Die Anfrage war nicht erfolgreich, da die erforderlichen Berechtigungen fehlen. |