icon-zwp.svg
Posture Control (ZPC)

IaC CLIスキャナーの設定

この記事では、Windows、macOS、およびLinuxプラットフォームでZscaler IaC CLIスキャナーを構成するための詳細な手順について説明します。

IaC CLIスキャナーを使用すると、ローカル ファイル システム内のIaCテンプレートをスキャンできます。必要なオペレーティング システム用のIaC CLIスキャナー バイナリの最新バージョンをダウンロードし、プレコミット フックと統合して、コミットするたびにIaCファイルを自動的にスキャンできます。

必要な条件

必ずサポートされているオペレーティング システムだけを使用してください、そうしなければ、IaC統合は失敗します。

IaC CLIスキャナーの設定

IaC CLIスキャナーを設定するには、次の手順を実行します。

  1. [管理]>[ワークステーションとIDE]に移動します。
  2. 一般情報で、次のいずれかのプラットフォームを選択します。

  1. [構成]で次の操作を行います。
    • [ダウンロードするバージョンの選択]:ドロップダウン メニューからダウンロードするIaC CLIスキャナーのバージョンを選択します。
    • [インストール手順]:指示に従って、次の場所にバイナリ ファイルをダウンロードしてインストールします。
        1. リンクをクリックして、iac-scanner-cli.xxx.tar.gzのバイナリ パッケージをダウンロードします。

        1. .tar.gzファイルをフォルダーに抽出します。
        2. zscanner.exeファイルをコピーして、PATH環境変数にリストされているフォルダーに貼り付けるか、zscanner.exeが存在するフォルダー パスをPATH環境変数に追加します。

        閉じる
          1. リンクをクリックして、IaC CLIスキャナーをダウンロードします。

          1. ターミナルを開き、次のコマンドを入力して.tarファイル抽出します。
            • ARMについては:
          $ tar -xf iac-scanner-cli_2.0.1_darwin_arm64.tar.gz zscanner && rm iac-scanner-cli_2.0.1_darwin_arm64.tar.gz
          • x86については:
          $ tar -xf iac-scanner-cli_2.0.1_darwin_x86_64.tar.gz zscanner && rm iac-scanner-cli_2.0.1_darwin_x86_64.tar.gz
          1. 次のコマンドを実行して、IaC CLIスキャナーをインストールします。
          $ install zscanner /usr/local/bin && rm zscanner
          

          どのmacOSにもIaC CLIスキャナーをインストールできない場合は、以下の手順を実行します。

          1. Macコンピューターで、[システム環境設定]>[セキュリティとプライバシー]の順にアクセスします。
          2. [アプリのダウンロード元を許可する]で、[アプリ ストアと特定された開発者]を選択して、IaC CLIスキャナーをインストールして実行する許可を取得します。
          3. [許可]をクリックします。

          1. 次のコマンドを実行して、IaC CLIスキャナーを初期化できるかどうかを確認します。
          $ zscanner
          
          閉じる
          1. リンクをクリックして、iac-scanner-cli.xxx.tar.gzのバイナリ パッケージをダウンロードします。
          2. .tar.gzファイルをフォルダーに抽出します。
          3. 抽出したバイナリを別の場所にコピーします。
          $ cp <source_path> <destination_path>
          1. バイナリがコピーされる場所destination_pathを指すようにZSCANNER_HOMEをセットアップし、プロファイル(.bash_profile.zshrc、または.zshenv)内ののPATH変数に同じパスを追加します

          $ export ZSCANNER_HOME=<destination_path>
          $ export PATH=$PATH:$ZSCANNER_HOME
          $ source ~/.<profile_file_name>
          閉じる
        閉じる
  2. [次へ]をクリックします。
    1. コマンド プロンプトを開き、次のコマンドを実行して、プレコミット フック フレームワークをインストールします。
    pipインストールのプレコミット
    1. .pre-commit-config.yaml ファイルをスキャンする必要があるIaCリポジトリに追加します。

    2. ZPC Admin Portalで提供される次のコードをコピーして、この.yamlに追加しますファイル:
    repos:
     - repo: https://github.com/ZscalerCWP/iac-pre-commit-hooks 
    rev: v0.0.1
       hooks:
         - id: zscaler-iac-scanner
    
    1. コマンド プロンプトで次のコマンドを実行して、構成されたプレコミット フックをIaCリポジトリにインストールします。
    プレコミット インストール

    インストール後、プレコミット フックはすべてのgitコミットでIaCファイルを自動的にスキャンし、コード内に結果を表示します。

    1. 次のコマンドを実行してプレコミット フックを初期化し、すべてのIaCファイルをスキャンします。
    プレコミット実行--all-files
    閉じる
    。詳細は、ZPC GitHubリポジトリーを参照してください。
  3. 完了 をクリックします。

IaC CLIスキャナーの使用

コマンドライン インターフェイスからIaCスキャンを実行して、ローカル ファイル システムに保存されているIaCテンプレートにセキュリティ設定ミスがないかどうかを確認できます。

コマンドライン インターフェイスからIaC CLIスキャナーを実行するには、次の手順を実行します。

  1. コマンド プロンプト ウィンドウを開きます。
  2. 次のコマンドを実行して、Zscalerアカウントにログインします。
zscanner login
  1. ZPC Admin Portalにアクセスする地域(EU、米国、またはカスタム)を入力します。
  2. Enterを押してブラウザーでZPCログイン ページを開きます。

アカウントがシングル サインオン(SSO)を使用するように設定されている場合は、IdPログイン ページにリダイレクトされます。

  1. ログインIDとパスワードを入力し、[サインイン]をクリックします。

これでログインし、CLIにリダイレクトされます。

  1. 要件に応じて、次のいずれかのコマンドを実行します。
    • 特定のフォルダーをスキャンします。
zscanner scan -d /<folder name>/<folder path>

スキャンを実行する前に、特定のブランチからリポジトリまたはディレクトリをチェックアウトする必要があります。

  • 1つのファイルをスキャンします。
zscanner scan -f file <filename>
  • 問題を記録し、ファイルにログ記録します。
zscanner scan -f <filename> --log-level debug --log-file test.log
  • リポジトリーに存在するIaCテンプレート ファイルをスキャンします。
zscanner scan --iac-type <template type>

コマンドのリスト

次のコマンドを使用できます。

  • login:Zscalerアカウントにログインします。アカウントがシングル サインオン(SSO)を使用するように構成されている場合は、IdPポータルにログインする必要があります。
  • logout: Zscalerアカウントからログアウトします。ログアウトすると、新しいブラウザーが開き、ログアウト メッセージが表示されます。
  • scan:IaCテンプレートのコンプライアンス違反とセキュリティ違反を検出します。
  • アップデート:IaC CLIスキャナーを最新バージョンに更新します。
  • version:現在使用されているIaCスキャナーのバージョンを確認します。
  • cleanup:(古いインストールから)すべての一時ファイルをクリーンアップします。
  • completion:指定したシェルのオートコンプリート スクリプトを生成します。
  • help:コマンドの詳細をご覧ください。
  • info:ログイン情報を表示します。
  • policy list:IaC CLIスキャナーで使用されるポリシーのリストを表示します。
  • config list:IaC CLIスキャナーで使用される構成の詳細を表示します。

IaC CLIスキャナーの更新

IaC CLIスキャナーを最新バージョンに更新できます。

新しいバージョンのIaC CLIスキャナーが使用可能になるたびに、CLI内に次のメッセージ、「IaC CLIスキャナーの更新バージョン<number>(現在のバージョン:<number>)が使用可能です」が表示されます。zscanner updateコマンドを実行してCLIスキャナーを更新してください。

修復手順の表示

IaCテンプレートがスキャンされると、CLI内でスキャンの概要、ポリシー違反、重大度レベル、およびこれらの違反の修復手順を表示できます。修復ガイドラインに従って、構成ミスを解決できます。

修復手順を表示しない場合は、次のコマンドを実行します。
Zscanner scan -d .--show-remediation=false
関連記事s
Visual Studio CodeのIaCスキャンの設定IaC CLIスキャナーの設定JetBrains IDEのIaCスキャンの設定