

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

# でのコンプライアンススキャン AWS OpsWorks for Chef Automate
<a name="opscm-chefcompliance"></a>

**重要**  
AWS OpsWorks for Chef Automate は 2024 年 5 月 5 日にサポート終了となり、新規および既存のお客様の両方で無効になっています。既存のお客様は、 Chef SaaS または代替ソリューションに移行することをお勧めします。ご質問がある場合は、[AWS re:Post](https://repost.aws/) または[AWS プレミアムサポート](https://aws.amazon.com/support)を通じて AWS サポート チームにお問い合わせください。

コンプライアンススキャンを使用すると、事前定義されたポリシー (*ルール*とも呼ばれる) に基づいてインフラストラクチャ内の管理対象ノードのコンプライアンスを追跡できます。Compliance のビューを使用すると、アプリケーションの脆弱性と非準拠設定を定期的に監査できます。Chef には、コンプライアンススキャンに使用できる事前定義された 100 個を超える Compliance *プロファイル* (特定のノード設定に適用するルールの集合) が用意されています。また、[Chef InSpec の言語](https://www.inspec.io/docs/)を使用して独自のカスタムプロファイルを作成することもできます。

サーバーでまだ Chef Automate 2.0 が実行されていない場合は、Audit クックブックをインストールすることで手動で [Chef Compliance](https://www.chef.io/solutions/compliance/) を設定できます。

**注記**  
 AWS OpsWorks for Chef Automate サーバーに関連付けられたノードでサポートされている Chef Infra クライアントエージェントソフトウェア (`chef-client`) の最小バージョンは 13.*x* です。最新の安定`chef-client`バージョン、または少なくとも 14.10.9 を実行することをお勧めします。

**Topics**
+ [Chef Automate 2.0 の Compliance](#opscm-compliance-ca20)
+ [Chef Automate 1.*x* の Compliance](#opscm-compliance-ca1x)
+ [Compliance の更新](#opscm-chefcompliance-updates)
+ [コミュニティとカスタム Compliance プロファイル](#opscm-compliance-custom)
+ [以下の資料も参照してください。](#opscm-compliance-seealso)

## Chef Automate 2.0 の Compliance
<a name="opscm-compliance-ca20"></a>

 AWS OpsWorks for Chef Automate サーバーが Chef Automate 2.0 を実行している場合は、このセクションの手順を使用して Chef Compliance を設定します。

### Chef Automate 2.0 を使用したコンプライアンススキャンジョブの実行
<a name="opscm-compliance-scanjob"></a>

Chef Automate 2.0 には、以前は手動の設定とクックブックの設定が必要だった Chef InSpec コンプライアンススキャン機能が含まれています。Chef Automate 2.0 を実行している AWS OpsWorks for Chef Automate サーバーで*スキャンジョブ*を実行できます。ジョブは、すぐに (1 回) 実行するか、後で実行するようにスケジュールするか、指定した間隔 (毎日または 2 時間ごとなど) で実行するようにスケジュールすることができます。スキャンジョブの結果はコンプライアンスレポートに送信されます。Chef Automate ダッシュボードで、コンプライアンススキャンの結果を表示して対処できます。[**Compliance**] タブを開いてレポートを表示するには、Chef Automate ダッシュボードの [**Scan Jobs**] タブで、管理対象ノード行の右側にある [**Report**] を選択します。

管理対象ノードでスキャンジョブを実行するには、以下のものが必要です。
+ 名前空間にインストールされた 1 つ以上の Compliance プロファイル。
+ 手動で追加された 1 つの以上のターゲットノード、または[自動的に追加された](opscm-unattend-assoc.md) EC2 インスタンス。

では AWS OpsWorks for Chef Automate、スキャンジョブは次のターゲットでサポートされています。
+ 手動で追加されたノード
+ `aws-ec2` インスタンス
+ AWS リージョン

スキャンジョブの実行方法の詳細については、Chef のドキュメントの「[Chef Automate Scan Jobs](https://automate.chef.io/docs/scan-jobs/)」を参照してください。

### (オプション、Chef Automate 2.0) Audit クックブックによるコンプライアンスの設定
<a name="opscm-chefcompliance-setup"></a>

どの AWS OpsWorks for Chef Automate サーバーでもコンプライアンスを設定できます。 AWS OpsWorks for Chef Automate サーバーを起動した後、Chef Automate ダッシュボードからプロファイルをインストールしたり、`Policyfile.rb` ポリシーファイルで Audit クックブックの属性に目的のプロファイルを追加したりできます。スターターキットには、事前入力済みの `Policyfile.rb` ファイルが含まれています。

監査クックブックの属性として `Policyfile.rb` プロファイルを編集した後、`chef push` コマンドを実行して [[Audit cookbook]](https://supermarket.chef.io/cookbooks/audit) (監査クックブック) と `Policyfile.rb` で指定された他のクックブックを Chef Automate サーバーにアップロードします。Audit クックブックをインストールすると、Chef によって作成されたオープンソースのテストおよび監査フレームワークである [Chef InSpec](https://www.inspec.io/) の gem もインストールされます。Chef Automate [2.0](https://discourse.chef.io/t/automate-2-version-20190410001346-released/14930) の場合は、Audit クックブックのバージョン 7.1.0 以降を選択します。InSpec gem はバージョン 2.2.102 以降であることが必要です。

このセクションの手順は `opsworks-audit` クックブックを実装する方法を示しています。Audit クックブックは指定されたプロファイルを Chef Automate サーバーからダウンロードし、**DevSec SSH Baseline** プロファイルに対してノードを評価して、`chef-client` の実行ごとにコンプライアンススキャンの結果をレポートします。<a name="compliance-installprof"></a>

**Compliance プロファイルをインストールするには**

1. まだ行っていない場合は [Chef Automate ウェブベースダッシュボードにサインインします](opscm-chef-dashboard.md)。 AWS OpsWorks for Chef Automate サーバーの作成時にスターターキットをダウンロードした際に受信した認証情報を使用します。

1. Chef Automate ダッシュボードで、[**Asset Store**] タブを選択します。  
![\[Compliance プロファイル\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/opscm_compliance_profiles.png)

1. 定義済みのプロファイルを表示するには、[**Available**] タブを選択します。

1. プロファイルのリストを参照します。オペレーティングシステムおよび少なくとも 1 つの管理対象ノードの設定に一致するプロファイルを選択します。プロファイルの対象となる違反の説明および基盤となるルールコードを含むプロファイルの詳細を表示するには、プロファイル項目の右にある [**>**] を選択します。複数のプロファイルを選択できます。スターターキットのサンプルを設定する場合は、[**DevSec SSH Baseline**] を選択します。  
![\[Chef Compliance プロファイルの詳細ビュー\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/opscm_compliance_rule.png)

1. 選択されたプロファイルを Chef Automate サーバーにインストールするには、[**Get**] を選択します。

1. プロファイルをインストールすると、それらは Chef Automate ダッシュボードの [**Profiles**] タブに表示されます。<a name="opscm-compliance-setup-policyfile"></a>

**`Policyfile.rb` を使用してクックブックをインストールするには**

1. スターターキットの `Policyfile.rb` を表示して、Audit クックブックの属性で `['profiles']` の `ssh-baseline` プロファイルが指定されていることを確認します。

   ```
   # Define audit cookbook attributes
   default["opsworks-demo"]["audit"]["reporter"] = "chef-server-automate"
   default["opsworks-demo"]["audit"]["profiles"] = [
     {
       "name": "DevSec SSH Baseline",
       "compliance": "admin/ssh-baseline"
     }
   ]
   ```

1. `Policyfile.rb` に定義されているクックブックをダウンロードしてインストールします。

   ```
   chef install
   ```

   すべてのクックブックはクックブックの `metadata.rb` ファイルでバージョニングされています。クックブックを変更するたびに `metadata.rb` にあるクックブックのバージョンを上げる必要があります。

1. `Policyfile.rb` に定義されているポリシー `opsworks-demo` をサーバーにプッシュします。

   ```
   chef push opsworks-demo
   ```

1. ポリシーのインストールを確認します。以下のコマンドを実行してください。

   ```
   chef show-policy
   ```

   結果は以下のようになります。

   ```
   opsworks-demo-webserver 
   ======================= 
   * opsworks-demo:  ec0fe46314
   ```

1. まだ行っていない場合は、サーバーにノードを追加して管理できるようにします。最初のノードを AWS OpsWorks for Chef Automate サーバーに接続するには、このスターターキットに含まれている`userdata.sh`スクリプトを使用します。`AssociateNode` API を使用して、ノードを OpsWorks サーバーに接続します。

   「[でノードを自動的に追加する AWS OpsWorks for Chef Automate](opscm-unattend-assoc.md)」のステップに従ってノードの関連付けを自動化できます。または「[ノードを個別に追加します](opscm-addnodes-individually.md)」のステップに従ってノードを １ 度に 1 つずつ追加できます。

1. ノードの実行リストを更新すると、`chef-client` エージェントが次回の実行時に、指定したレシピを実行します。この処理はデフォルトで 1,800 秒 (30 分) ごとに行われます。その実行後、Chef Automate ダッシュボードの [**Compliance**] タブからコンプライアンス結果を表示し、アクションを実行できます。  
![\[Chef Compliance のスキャン結果\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/opscm_compliance_scan.png)

### コンプライアンススキャンの実行
<a name="opscm-chefcompliance-scan"></a>

ノードの実行リストを設定した後、エージェントが初めて実行されるとすぐに、Chef Automate ダッシュボードにコンプライアンススキャンの結果が表示されます。

![\[Chef Compliance レポートページビュー\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/opscm_compliance_reporting.png)


Chef Automate ダッシュボードで、[**Compliance**] タブを選択します。左のナビゲーションペインの [**Reporting**] を選択します。[**Profiles**] タブを選択して [**Scan Results**] を選択した後、スキャンによって非準拠と見なされたノードを選択して、そのノードがどのルールに対して非準拠になったかを調べます。

![\[非準拠結果のリスト\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/opscm_compliance_results.png)


新しいノードは **DevSec SSH Baseline** プロファイルのルールすべてを満たさないため、通常はスキャンの非準拠結果が表示されます。[DevSec Hardening Framework](https://github.com/dev-sec) はコミュニティベースのプロジェクトで、**DevSec SSH Baseline** プロファイルのルールに違反する問題を修正するクックブックを提供します。

### (オプション) 非準拠結果の解決
<a name="opscm-chefcompliance-resolve"></a>

スターターキットにはオープンソースのクックブック `ssh-hardening` が含まれています。このクックブックは、**DevSec SSH Baseline** プロファイルに対して実行したスキャンの非準拠結果を修正するために実行できます。

**注記**  
`ssh-hardening` クックブックは **DevSec SSH Baseline** ルールに準拠するようにノードを変更します。本稼働ノードでこのクックブックを実行する前にクックブックがターゲットにするルール違反を理解するため、Chef Automate の **DevSec SSH Baseline** プロファイルの詳細を確認してください。本稼働ノードでこれを実行する前に、オープンソースの [https://github.com/dev-sec/chef-ssh-hardening](https://github.com/dev-sec/chef-ssh-hardening) クックブックに関する情報を確認します。

**`ssh-hardening` クックブックを実行するには**

1. テキストエディタで、`ssh-hardening` の実行リストに `Policyfile.rb` クックブックを追加します。実行リスト `Policyfile.rb` は以下のようになります。

   ```
   run_list  'chef-client', 'opsworks-webserver', 'audit', 'ssh-hardening'
   ```

1. `Policyfile.rb` を更新し、 AWS OpsWorks for Chef Automate サーバーにプッシュします。

   ```
   chef update Policyfile.rb
      chef push opsworks-demo
   ```

1. `opsworks-demo` ポリシーに関連付けられているノードは実行リストを自動的に更新し、次の `chef-client` の実行時に `ssh-hardening` クックブックを適用します。

   `chef-client` クックブックを使用しているため、ノードが定期的にチェックインします (デフォルトでは 30 分ごと)。次のチェックインで `ssh-hardening` クックブックが実行され、**DevSec SSH Baseline** プロファイルのルールを満たすようにノードセキュリティの改善をサポートします。

1. `ssh-hardening` クックブックの初回実行が完了したら 30 分待機し再びコンプライアンススキャンを実行します。Chef Automate ダッシュボードで結果を表示します。**DevSec SSH Baseline** スキャンの初回実行時に発生した非準拠の結果が解決されます。

## Chef Automate 1.*x* の Compliance
<a name="opscm-compliance-ca1x"></a>

 AWS OpsWorks for Chef Automate サーバーが Chef Automate 1.*x* を実行している場合は、このセクションの手順を使用して Chef Compliance を設定します。

### (オプション、Chef Automate 1.*x*) Chef Compliance の設定
<a name="opscm-chefcompliance-setup"></a>

Chef Compliance は任意の AWS OpsWorks for Chef Automate サーバーで設定できます。 AWS OpsWorks for Chef Automate サーバーを起動した後、Chef Automate ダッシュボードのプロファイルから実行するプロファイルを選択します。プロファイルをインストールした後、`berks` コマンドを実行して [Audit クックブック](https://supermarket.chef.io/cookbooks/audit)を Chef Automate サーバーにアップロードします。Audit クックブックをインストールすると、[InSpec](https://www.inspec.io/) のジェムもインストールされます。これは、Chef によって実行されるオープンソースのテストフレームワークであり、デプロイメントパイプラインの任意のステージに自動化されたテストを統合できます。Chef Automate 1.*x* の場合は、監査クックブックのバージョン 5.0.1 以降を選択します。InSpec gem はバージョン 1.24.0 以降であることが必要です。

 AWS OpsWorks for Chef Automate スターターキットには、Chef の Audit クックブックの適切なバージョンをダウンロードしてインストール`opsworks-audit`するラッパークックブック が含まれています。`opsworks-audit` クックブックは `chef-client` エージェントが、この後のトピックで行う Chef Compliance コンソールからインストールする **DevSec SSH Baseline** プロファイルに対しノード評価を行うように指示します。独自の設定に適したように、いずれかのクックブックを使用してコンプライアンスをセットアップできます。このセクションの手順は `opsworks-audit` クックブックを実装する方法を示しています。<a name="compliance-installprof"></a>

**Compliance プロファイルをインストールするには**

1. まだ行っていない場合は [Chef Automate ウェブベースダッシュボードにサインインします](opscm-chef-dashboard.md)。 AWS OpsWorks for Chef Automate サーバーの作成時に Starter Kit をダウンロードしたときに受け取った認証情報を使用します。

1. Chef Automate ダッシュボードで、[**Compliance**] タブを選択します。  
![\[Chef Compliance プロファイル\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/opscm_compliance_profiles_ca1.png)

1. 左ナビゲーションバーで、[**Profile Store**] を選択してから [**Available**] タブを選択して、事前定義されたプロファイルを表示します。

1. プロファイルのリストを参照します。オペレーティングシステムおよび少なくとも 1 つの管理対象ノードの設定に一致するプロファイルを選択します。プロファイルの対象となる違反の説明および基盤となるルールコードを含むプロファイルの詳細を表示するには、プロファイル項目の右にある [**>**] を選択します。複数のプロファイルを選択できます。  
![\[Chef Compliance プロファイルの詳細ビュー\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/opscm_compliance_rule_ca1.png)

1. 選択されたプロファイルを Chef Automate サーバーにインストールするには、[**Get**] を選択します。

1. ダウンロードが完了したら、次の手順に進んでください。<a name="opscm-compliance-setup-cookbook"></a>

**`opsworks-audit` クックブックをインストールしてセットアップする**

1. このステップはオプションですが、ノードの実行リストにレシピを追加する場合のステップ 6 で時間の節約になります。 AWS OpsWorks for Chef Automate サーバーの作成時にダウンロードしたスターターキットに含まれている `roles/opsworks-example-role.rb` ファイルを編集します。次の行を追加します。コンプライアンススキャンを実行してから非準拠ノードを解決するために `ssh-hardening` クックブックとレシピを追加することはオプションなので、最後の行はコメントアウトされています。

   ```
   run_list(
        "recipe[chef-client]",
        "recipe[apache2]",
        "recipe[opsworks-audit]"
        # "recipe[ssh-hardening]"
          )
   ```

1. テキストエディタを使用して Berksfile で希望のクックブックを指定します。サンプル Berksfile はスターターキットに含まれています。この例では、Chef Infra クライアント ([`chef-client`) クックブック、`apache2`クックブック、`opsworks-audit` クックブックをインストールします。Berksfile は以下のようになります。

   ```
   source 'https://supermarket.chef.io
        cookbook 'chef-client'
        cookbook 'apache2', '~> 5.0.1'
        cookbook 'opsworks-audit', path: 'cookbooks/opsworks-audit', '~> 1.0.0'
   ```

   すべてのクックブックはクックブックの `metadata.rb` ファイルでバージョニングされています。クックブックを変更するたびに `metadata.rb` にあるクックブックのバージョンを上げる必要があります。

1. 次のコマンドを実行してローカルまたは使用中のコンピュータにある `cookbooks` フォルダにクックブックをダウンロードしインストールします。

   ```
   berks vendor cookbooks
   ```

1. 次のコマンドを実行して、 AWS OpsWorks for Chef Automate サーバーにベンダーのクックブックをアップロードします。

   ```
   knife upload .
   ```

1. `opsworks-audit` クックブックがインストールされていることを確認するには、次のコマンドを実行してサーバーで現在使用可能なクックブックのリストを表示します。

   ```
   knife cookbook list
   ```

1. まだ行っていない場合は、サーバーにノードを追加して管理できるようにします。「[でノードを自動的に追加する AWS OpsWorks for Chef Automate](opscm-unattend-assoc.md)」のステップに従ってノードの関連付けを自動化できます。または「[ノードを個別に追加します](opscm-addnodes-individually.md)」のステップに従ってノードを １ 度に 1 つずつ追加できます。ノードの実行リストを編集して、ステップ 1 の `opsworks-example-role` で指定したロールを追加します。この例では `RUN_LIST` の属性を `userdata` スクリプトで編集します。これはノードの関連性を自動化するために使用します。

   ```
   RUN_LIST="role[opsworks-example-role]"
   ```

   ステップ 1 をスキップしロールを設定しなかった場合は、実行リストに各レシピの名前を追加します。変更を保存して [ステップ 3: 自動関連付けスクリプトを使用してインスタンスを作成する](opscm-unattend-assoc.md#opscm-unattend-script) のステップに従がって、ユーザーデータスクリプトをAmazon EC2 インスタンスに適用します。

   ```
   RUN_LIST="recipe[chef-client],recipe[apache2],recipe[opworks-audit]"
   ```

1. ノードの実行リストを更新すると、`chef-client` エージェントが次回の実行時に、指定したレシピを実行します。この処理はデフォルトで 1,800 秒 (30 分) ごとに行われます。実行後、Chef Automate ダッシュボードでコンプライアンス結果を見ることができます。

### コンプライアンススキャンの実行
<a name="opscm-chefcompliance-scan"></a>

ノードの実行リストを設定した後初めてエージェントデーモンが実行された後短時間で、Chef Automate ダッシュボードにコンプライアンススキャンの結果が表示されます。

![\[Chef Compliance レポートページビュー\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/opscm_compliance_reporting_ca1.png)


Chef Automate ダッシュボードで、[**Compliance**] タブを選択します。左のナビゲーションペインの [**Reporting**] を選択します。[**Profiles**] タブを選択して [**Scan Results**] を選択した後、スキャンによって非準拠と見なされたノードを選択して、そのノードがどのルールに対して非準拠になったかを調べます。

![\[Chef Compliance 失敗結果リスト\]](http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/images/opscm_compliance_results_ca1.png)


新しいノードは **DevSec SSH Baseline** プロファイルのルールすべてを満たさないため、通常はスキャンの非準拠結果が表示されます。[DevSec Hardening Framework](https://github.com/dev-sec) はコミュニティベースのプロジェクトで、**DevSec SSH Baseline** プロファイルのルールに違反する問題を修正するクックブックを提供します。

### (オプション) 非準拠結果の解決
<a name="opscm-chefcompliance-resolve"></a>

スターターキットにはオープンソースのクックブック `ssh-hardening` が含まれています。このクックブックは、**DevSec SSH Baseline** プロファイルに対して実行したスキャンの非準拠結果を修正するために実行できます。

**注記**  
`ssh-hardening` クックブックは **DevSec SSH Baseline** ルールに準拠するようにノードを変更します。本稼働ノードでこのクックブックを実行する前にクックブックがターゲットにするルール違反を理解するため、Chef Automate の **DevSec SSH Baseline** プロファイルの詳細を確認してください。本稼働ノードでこれを実行する前に、オープンソースの [https://github.com/dev-sec/chef-ssh-hardening](https://github.com/dev-sec/chef-ssh-hardening) クックブックに関する情報を確認します。

**`ssh-hardening` クックブックを実行するには**

1. テキストエディタで、`ssh-hardening` クックブックを Berksfile に追加します。Berksfile は以下のようになります。

   ```
   source 'https://supermarket.chef.io'
        cookbook 'chef-client'
        cookbook 'apache2', '~> 5.0.1'
        cookbook 'opsworks-audit', path: 'cookbooks/opsworks-audit', '~> 1.0.0' # optional
        cookbook 'ssh-hardening'
   ```

1. 次のコマンドを実行して `ssh-hardening` クックブックをローカルのクックブックフォルダにダウンロードし、 AWS OpsWorks for Chef Automate サーバーにアップロードします。

   ```
   berks vendor cookbooks
   knife upload .
   ```

1. ノードの実行リストに `ssh-hardening` レシピを追加します。この操作はステップ 1 とステップ 6 ([`opsworks-audit` クックブックをインストールしてセットアップする](#opscm-compliance-setup-cookbook)) で説明されています。

   `opsworks-example-role.rb` ファイルを更新するには、次のコマンドを実行してサーバーに変更をアップロードします。

   ```
   knife upload .
   ```

   実行リストを直接更新するには、次のコマンドを実行して変更をアップロードします。通常、ノード名はインスタンス ID になります。

   ```
   knife node run_list add <node name> 'recipe[ssh-hardening]'
   ```

1. `chef-client` クックブックを使用しているため、ノードが定期的にチェックインします (デフォルトでは 30 分ごと)。次のチェックインで `ssh-hardening` クックブックが実行され、**DevSec SSH Baseline** プロファイルのルールを満たすようにノードセキュリティの改善をサポートします。

1. `ssh-hardening` クックブックの初回実行が完了したら 30 分待機し再びコンプライアンススキャンを実行します。Chef Automate ダッシュボードで結果を表示します。**DevSec SSH Baseline** スキャンの初回実行時に発生した非準拠の結果が解決されます。

## Compliance の更新
<a name="opscm-chefcompliance-updates"></a>

 AWS OpsWorks for Chef Automate サーバーでは、スケジュールされた[システムメンテナンス](opscm-maintenance.md)によってコンプライアンス機能が自動的に更新されます。Chef Automate、Chef Infra Server、Chef InSpec の最新リリースが AWS OpsWorks for Chef Automate サーバーで使用可能になると、サーバーで実行されている Audit クックブックおよび Chef InSpec gem のサポートされているバージョンを確認および更新する必要があります。 AWS OpsWorks for Chef Automate サーバーにインストール済みのプロファイルは、メンテナンスの一環として更新されません。

## コミュニティとカスタム Compliance プロファイル
<a name="opscm-compliance-custom"></a>

Chef には現在 100 種類を超えるコンプライアンススキャンプロファイルが含まれています。コミュニティとカスタムプロファイルをリストに追加して、含まれているプロファイルと同様にそれらのプロファイルに基づいてコンプライアンススキャンをダウンロードして実行できます。コミュニティベースの Compliance プロファイルは [Chef Supermarket](https://supermarket.chef.io/tools?q=&type=compliance_profile) から入手できます。カスタムプロファイルは Ruby ベースのプログラムであり、スキャンルールを指定するコントロールのフォルダが含まれています。

## 以下の資料も参照してください。
<a name="opscm-compliance-seealso"></a>
+ [Chef Compliance 発表ブログ投稿](https://blog.chef.io/2017/07/05/chef-automate-release-july-2017/)
+ [Chef Automate Compliance オンライントレーニング](https://training.chef.io/instructor-led-training/chef-automate-compliance)
+ [Chef InSpec](https://www.inspec.io/) のウェブサイト
+ [Chef InSpec チュートリアル](https://www.inspec.io/tutorials/)