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
--rulesrules.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".]