validieren - AWS CloudFormation Guard

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.

validieren

Überprüft Daten anhand von AWS CloudFormation Guard Regeln, um festzustellen, ob sie erfolgreich sind oder nicht.

Syntax

cfn-guard validate --data <value> --output-format <value> --rules <value> --show-summary <value> --type <value>

Parameter

-a, --alphabetical

Überprüft Dateien in einem Verzeichnis, das alphabetisch sortiert ist.

-h, --help

Druckt Hilfeinformationen.

-m, --last-modified

Überprüft Dateien in einem Verzeichnis, das nach dem Zeitpunkt der letzten Änderung sortiert ist.

-P, --payload

Stellen Sie Regeln und Daten im folgenden JSON-Format bereit über: stdin

{"rules":["<rules 1>", "<rules 2>", ...], "data":["<data 1>", "<data 2>", ...]}

Zum Beispiel:

{"data": ["{\"Resources\":{\"NewVolume\":{\"Type\":\"AWS::EC2::Volume\",\"Properties\":{\"Size\":500,\"Encrypted\":false,\"AvailabilityZone\":\"us-west-2b\"}},\"NewVolume2\":{\"Type\":\"AWS::EC2::Volume\",\"Properties\":{\"Size\":50,\"Encrypted\":false,\"AvailabilityZone\":\"us-west-2c\"}}},\"Parameters\":{\"InstanceName\":\"TestInstance\"}}","{\"Resources\":{\"NewVolume\":{\"Type\":\"AWS::EC2::Volume\",\"Properties\":{\"Size\":500,\"Encrypted\":false,\"AvailabilityZone\":\"us-west-2b\"}},\"NewVolume2\":{\"Type\":\"AWS::EC2::Volume\",\"Properties\":{\"Size\":50,\"Encrypted\":false,\"AvailabilityZone\":\"us-west-2c\"}}},\"Parameters\":{\"InstanceName\":\"TestInstance\"}}"], "rules" : [ "Parameters.InstanceName == \"TestInstance\"","Parameters.InstanceName == \"TestInstance\"" ]}

Geben Sie für „Regeln“ eine Liste mit Zeichenkettenversionen von Regeldateien an. Geben Sie für „Daten“ eine Liste der Zeichenkettenversionen von Datendateien an.

Wann --payload ist angegeben --rules und --data kann nicht angegeben werden.

-p, --print-json

Druckt die Ausgabe im JSON-Format.

-s, --show-clause-failures

Zeigt den Fehler in der Klausel einschließlich einer Zusammenfassung an.

-V, --version

Druckt Versionsinformationen.

-v, --verbose

Erhöht die Ausführlichkeit der Ausgabe. Kann mehrfach angegeben werden.

-z, --structured

Druckt eine Liste strukturierter und gültiger JSON/YAML. This argument conflicts with the following arguments: verbose, print-json, show-summary: all/fail/pass/skip Ausgabeformate aus: single-line-summary

Optionen

-d, --data (Zeichenfolge)

Stellt eine Datendatei oder ein Verzeichnis mit Datendateien in JSON oder YAML bereit. Unterstützt die wiederholte Übergabe mehrerer Werte durch wiederholte Verwendung dieser Option.

Beispiel: --data template1.yaml --data ./data-dir1 --data template2.yaml

Bei Verzeichnisargumenten wie den data-dir1 obigen wird das Scannen nur für Dateien mit den folgenden Erweiterungen unterstützt: .yaml, .yml, .json, .jsn, .template

Wenn Sie das Flag angeben, geben Sie die --payload Option nicht an. --data

-i, --input-parameters (Zeichenfolge)

Stellt eine Parameterdatei oder ein Verzeichnis mit Parameterdateien in JSON oder YAML bereit, das alle zusätzlichen zu verwendenden Parameter zusammen mit Datendateien angibt, die als kombinierter Kontext verwendet werden sollen. Alle als Eingabe übergebenen Parameterdateien werden zusammengeführt, und dieser kombinierte Kontext wird erneut mit jeder Datei zusammengeführt, die als Argument für data übergeben wurde. Aus diesem Grund wird von jeder Datei erwartet, dass sie sich gegenseitig ausschließende Eigenschaften enthält, ohne dass es zu Überschneidungen kommt. Unterstützt die wiederholte Übergabe mehrerer Werte bei wiederholter Verwendung dieser Option.

Bei Verzeichnisargumenten wird das Scannen nur für Dateien mit den folgenden Erweiterungen unterstützt: .yaml, .yml, .json, .jsn, .template

-o--output-format, (Zeichenfolge)

Gibt das Format für die Ausgabe an.

Standardwert: single-line-summary

Zulässige Werte: json | yaml | single-line-summary | junit | sarif

-r, --rules (Zeichenfolge)

Stellt eine Regeldatei oder ein Verzeichnis mit Regeldateien bereit. Unterstützt die wiederholte Übergabe mehrerer Werte bei wiederholter Verwendung dieser Option.

Beispiel: --rules rule1.guard --rules ./rules-dir1 --rules rule2.guard

Bei Verzeichnisargumenten wie den rules-dir1 obigen wird das Scannen nur für Dateien mit den folgenden Erweiterungen unterstützt: .guard, .ruleset

Wenn Sie das --payload Flag angeben, geben Sie die Option nicht an. --rules

--show-summary (string)

Steuert, ob die Übersichtstabelle angezeigt werden muss. --show-summary fail(Standard) oder --show-summary pass,fail (nur Regeln anzeigen, die bestanden/nicht bestanden haben) oder --show-summary none (um sie auszuschalten) oder --show-summary all (um alle Regeln anzuzeigen, die bestanden, fehlgeschlagen oder übersprungen wurden).

Standardwert: fail

Zulässige Werte: none | all | pass | fail | skip

-t, --type (Zeichenfolge)

Stellt das Format Ihrer Eingabedaten bereit. Wenn Sie den Eingabedatentyp angeben, zeigt Guard die logischen Namen der CloudFormation Vorlagenressourcen in der Ausgabe an. Standardmäßig zeigt Guard Eigenschaftspfade und Werte an, z. Property [/Resources/vol2/Properties/Encrypted B.

Allowed values: CFNTemplate

Beispiel

cfn-guard validate --data example.json --rules rules.guard

Output

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.

example.json Status = FAIL FAILED rules rules.guard/policy_effect_is_deny FAIL --- Evaluation of rules rules.guard against data example.json -- Property [/path/to/Effect] in data [example.json] is not compliant with [policy_effect_is_deny] because provided value ["Allow"] did not match expected value ["Deny"]. Error Message [ Policy statement "Effect" must be "Deny".]

Weitere Informationen finden Sie auch unter