

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# とは AWS CloudFormation Guard
<a name="what-is-guard"></a>

AWS CloudFormation Guard は、オープンソースの汎用ポリシーアズコード評価ツールです。Guard コマンドラインインターフェイス (CLI) は、ポリシーをコードとして表現するために使用できるsimple-to-use宣言的なドメイン固有の言語 (DSL) を提供します。さらに、CLI コマンドを使用して、構造化された階層 JSON または YAML データをそれらのルールに対して検証できます。Guard には、ルールが意図したとおりに機能することを検証するためのユニットテストフレームワークも組み込まれています。

Guard は、有効な構文または許可されたプロパティ値について CloudFormation テンプレートを検証しません。[cfn-lint](https://github.com/aws-cloudformation/cfn-python-lint) ツールを使用して、テンプレート構造を徹底的に検査できます。

Guard はサーバー側の強制を提供しません。CloudFormation フックを使用して、 オペレーションをブロックまたは警告できるサーバー側の検証と適用を実行できます。

 AWS CloudFormation Guard 開発の詳細については、[Guard GitHub リポジトリ](https://github.com/aws-cloudformation/cloudformation-guard/)を参照してください。

**Topics**
+ [初めての Guard ユーザーですか?](#first-time-user)
+ [ガード機能](#cfn-guard-feature-overview)
+ [CloudFormation フックでの Guard の使用](#acessing-cfn-guard)
+ [Guard へのアクセス](#using-cfn-guard-hooks)
+ [ベストプラクティス](#best-practices)

## 初めての Guard ユーザーですか?
<a name="first-time-user"></a>

Guard を初めて使用する場合は、まず以下のセクションを読むことをお勧めします。
+  [Guard のセットアップ](setting-up.md) – このセクションでは、Guard をインストールする方法について説明します。Guard を使用すると、Guard DSL を使用してポリシールールを記述し、JSON 形式または YAML 形式の構造化データをそれらのルールに対して検証できます。
+  [ガードルールの記述](writing-rules.md) – このセクションでは、ポリシールールを記述するための詳細なチュートリアルを提供します。
+  [ガードルールのテスト](testing-rules.md) – このセクションでは、ルールをテストして意図したとおりに動作することを検証し、JSON 形式または YAML 形式の構造化データをルールに照らして検証するための詳細なチュートリアルを提供します。
+  [Guard ルールに対する入力データの検証](validating-rules.md) – このセクションでは、JSON 形式または YAML 形式の構造化データをルールに照らして検証するための詳細なチュートリアルを提供します。
+  [Guard CLI リファレンス](cfn-guard-command-reference.md) – このセクションでは、Guard CLI で使用できるコマンドについて説明します。

## ガード機能
<a name="cfn-guard-feature-overview"></a>

Guard を使用すると、JSON 形式または YAML 形式の構造化データを検証するためのポリシールールを記述できます。 CloudFormation これにはテンプレートが含まれますが、これらに限定されません。Guard は、ポリシーチェックのend-to-end評価のスペクトル全体をサポートします。ルールは、以下のビジネスドメインで役立ちます。
+ **予防的ガバナンスとコンプライアンス (シフト左テスト)** — セキュリティとコンプライアンスに関する組織のベストプラクティスを表すポリシールールに照らして、Infrastructure as Code (IaC) またはインフラストラクチャとサービスの構成を検証します。例えば、CloudFormation テンプレート、CloudFormation 変更セット、JSON ベースの Terraform 設定ファイル、Kubernetes 設定を検証できます。
+ **検出ガバナンスとコンプライアンス** – AWS Configベースの設定項目 (CIs。たとえば、開発者は AWS Config CIs に対する Guard ポリシーを使用して、デプロイされたAWS リソース AWS と非リソースの状態を継続的にモニタリングし、ポリシーからの違反を検出して修復を開始できます。
+ **デプロイの安全性** – デプロイ前に変更が安全であることを確認します。例えば、CloudFormation の変更セットをポリシールールと照合して検証し、Amazon DynamoDB テーブルの名前変更など、リソースの置き換えにつながる変更を防止します。

## CloudFormation フックでの Guard の使用
<a name="acessing-cfn-guard"></a>

CloudFormation Guard を使用して、CloudFormation フックでフックを作成できます。CloudFormation フックを使用すると、CloudFormation がオペレーションを作成、更新、または削除し、オペレーション AWS クラウドコントロール API を作成または更新する前に、Guard ルールを事前に適用できます。フックにより、リソース設定が組織のセキュリティ、運用、コスト最適化のベストプラクティスに準拠していることを確認できます。

Guard を使用して CloudFormation ガードフックを作成する方法の詳細については、「 フックユーザーガイド[」の「ガードフックのリソースを評価するためのガードルールの記述](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/guard-hooks-write-rules.html)」を参照してください。 *CloudFormation *

## Guard へのアクセス
<a name="using-cfn-guard-hooks"></a>

Guard DSL および コマンドにアクセスするには、Guard CLI をインストールする必要があります。Guard CLI のインストールについては、「」を参照してください[Guard のセットアップ](setting-up.md)。

## ベストプラクティス
<a name="best-practices"></a>

シンプルなルールを作成し、名前付きルールを使用して他のルールで参照します。複雑なルールは、保守とテストが困難な場合があります。