

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Validierung von Eingabedaten anhand von Regeln AWS CloudFormation Guard
<a name="validating-rules"></a>

Sie können den AWS CloudFormation Guard `validate` Befehl verwenden, um Daten anhand der Guard-Regeln zu validieren. Weitere Informationen zum `validate` Befehl, einschließlich seiner Parameter und Optionen, finden Sie unter [Validieren](cfn-guard-validate.md).

## Voraussetzungen
<a name="validating-rules-prerequisites"></a>
+ Schreiben Sie Guard-Regeln, anhand derer Ihre Eingabedaten validiert werden. Weitere Informationen finden Sie unter [Writing Guard-Regeln](writing-rules.md).
+ Testen Sie Ihre Regeln, um sicherzustellen, dass sie wie vorgesehen funktionieren. Weitere Informationen finden Sie unter [Testing Guard-Regeln](testing-rules.md).

## Verwenden Sie den `validate` Befehl
<a name="validating-rules-walkthrough"></a>

Führen Sie den `validate` Befehl Guard aus, um Ihre Eingabedaten anhand Ihrer Guard-Regeln, z. B. einer AWS CloudFormation Vorlage, zu überprüfen. Geben Sie für den `--rules` Parameter den Namen einer Regeldatei an. Geben Sie für den `--data` Parameter den Namen der Eingabedatendatei an.

```
cfn-guard validate --rules rules.guard --data template.json
```

Wenn Guard die Vorlagen erfolgreich validiert, gibt der `validate` Befehl den Exit-Status `0` (`$?`in Bash) zurück. Wenn Guard einen Regelverstoß feststellt, gibt der `validate` Befehl einen Statusbericht über die fehlgeschlagenen Regeln zurück. Verwenden Sie das Übersichts-Flag (`-s all`), um den detaillierten Bewertungsbaum aufzurufen, der zeigt, wie Guard die einzelnen Regeln bewertet hat.

```
template.json Status = FAIL
SKIP rules
rules.guard/aws_apigateway_deployment_checks    SKIP
rules.guard/aws_apigateway_stage_checks         SKIP
rules.guard/aws_dynamodb_table_checks           SKIP
PASS rules
rules.guard/aws_events_rule_checks              PASS
rules.guard/aws_iam_role_checks                 PASS
FAILED rules
rules.guard/aws_ec2_volume_checks               FAIL
rules.guard/mixed_types_checks                  FAIL
---
Evaluation of rules rules.guard against data template.json
--
Property [/Resources/vol2/Properties/Encrypted] in data [template.json] is not compliant with [rules.guard/aws_ec2_volume_checks] because provided value [false] did not match expected value [true]. Error Message []
Property traversed until [/Resources/vol2/Properties] in data [template.json] is not compliant with [rules.guard/aws_ec2_volume_checks] due to retrieval error. Error Message [Attempting to retrieve array index or key from map at path = /Resources/vol2/Properties , Type was not an array/object map, Remaining Query = Size]
Property [/Resources/vol2/Properties/Encrypted] in data [template.json] is not compliant with [rules.guard/mixed_types_checks] because provided value [false] did not match expected value [true]. Error Message []
--
Rule [rules.guard/aws_iam_role_checks] is compliant for data [template.json]
Rule [rules.guard/aws_events_rule_checks] is compliant for data [template.json]
--
Rule [rules.guard/aws_apigateway_deployment_checks] is not applicable for data [template.json]
Rule [rules.guard/aws_apigateway_stage_checks] is not applicable for data [template.json]
Rule [rules.guard/aws_dynamodb_table_checks] is not applicable for data [template.json]
```

## Validierung mehrerer Regeln anhand mehrerer Datendateien
<a name="validating-rules-overview"></a>

Um die Einhaltung der Regeln zu erleichtern, können Sie Regeln in mehrere Dateien schreiben und die Regeln nach Ihren Wünschen organisieren. Anschließend können Sie mehrere Regeldateien anhand einer Datendatei oder mehrerer Datendateien validieren. Der `validate` Befehl kann ein Verzeichnis mit Dateien für die `--rules` Optionen `--data` und verwenden. Sie können beispielsweise den folgenden Befehl ausführen, der `/path/to/dataDirectory` eine oder mehrere Datendateien und eine oder mehrere Regeldateien `/path/to/ruleDirectory` enthält.

```
cfn-guard validate --data /path/to/dataDirectory --rules /path/to/ruleDirectory
```

Sie können Regeln schreiben, um zu überprüfen, ob verschiedene Ressourcen, die in mehreren CloudFormation Vorlagen definiert sind, über die entsprechenden Eigenschaftszuweisungen verfügen, um die Verschlüsselung im Ruhezustand zu gewährleisten. Um die Suche und Wartung zu vereinfachen, können Sie Regeln zur Überprüfung der Verschlüsselung im Ruhezustand in jeder Ressource in separaten Dateien, genannt `s3_bucket_encryption.guard``ec2_volume_encryption.guard`, und `rds_dbinstance_encrytion.guard` in einem Verzeichnis mit dem Pfad einrichten`~/GuardRules/encryption_at_rest`. Die CloudFormation Vorlagen, die Sie überprüfen müssen, befinden sich in einem Verzeichnis mit dem Pfad`~/CloudFormation/templates`. Führen Sie in diesem Fall den `validate` Befehl wie folgt aus.

```
cfn-guard validate --data ~/CloudFormation/templates --rules ~/GuardRules/encryption_at_rest
```