翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS CloudFormation Guard ルールに対する入力データの検証
コマンドを使用して AWS CloudFormation Guard validate
、Guard ルールに対してデータを検証できます。コマンドのパラメータやオプションなどの詳細についてはvalidate
、「検証」を参照してください。
前提条件
-
入力データを検証する Guard ルールを記述します。詳細については、「ガードルールの記述」を参照してください。
-
ルールをテストして、意図したとおりに動作することを確認します。詳細については、「Guard ルールのテスト」を参照してください。
validate
コマンドの使用
AWS CloudFormation テンプレートなどの Guard ルールに対して入力データを検証するには、Guard validate
コマンドを実行します。--rules
パラメータには、ルールファイルの名前を指定します。--data
パラメータには、入力データファイルの名前を指定します。
cfn-guard validate \ --rules
rules.guard
\ --datatemplate.json
Guard がテンプレートを正常に検証すると、validate
コマンドは終了ステータス 0
($?
bash 単位) を返します。Guard がルール違反を特定すると、validate
コマンドは失敗したルールのステータスレポートを返します。概要フラグ (-s all
) を使用して、Guard が各ルールをどのように評価したかを示す詳細な評価ツリーを表示します。
template.json Status = PASS / SKIP PASS/SKIP rules rules.guard/rule PASS
複数のデータファイルに対する複数のルールの検証
ルールを維持するために、ルールを複数のファイルに書き込み、必要に応じてルールを整理できます。次に、データファイルまたは複数のデータファイルに対して複数のルールファイルを検証できます。validate
コマンドは、 --data
および --rules
オプションのファイルのディレクトリを取得できます。例えば、 に 1 つ以上のデータファイル/path/to/dataDirectory
が含まれ、 に 1 つ以上のルールファイル/path/to/ruleDirectory
が含まれている次のコマンドを実行できます。
cfn-guard validate --data /path/to/dataDirectory --rules /path/to/ruleDirectory
複数の CloudFormation テンプレートで定義されたさまざまなリソースに、保管時の暗号化を保証するための適切なプロパティ割り当てがあるかどうかをチェックするルールを作成できます。検索とメンテナンスを容易にするために、各リソースの保管時の暗号化をチェックするルールを、s3_bucket_encryption.guard
、ec2_volume_encryption.guard
、および という個別のファイルで、パス を持つディレクトリrds_dbinstance_encrytion.guard
に設定できます~/GuardRules/encryption_at_rest
。検証する必要がある CloudFormation テンプレートは、パス を持つディレクトリにあります~/CloudFormation/templates
。この場合、次のように validate
コマンドを実行します。
cfn-guard validate --data ~/CloudFormation/templates --rules ~/GuardRules/encryption_at_rest