Posture Control (ZPC)
IaC CLIスキャナーの設定
この記事では、Windows、macOS、およびLinuxプラットフォームでZscaler IaC CLIスキャナーを構成するための詳細な手順について説明します。
IaC CLIスキャナーを使用すると、ローカル ファイル システム内のIaCテンプレートをスキャンできます。必要なオペレーティング システム用のIaC CLIスキャナー バイナリの最新バージョンをダウンロードし、プレコミット フックと統合して、コミットするたびにIaCファイルを自動的にスキャンできます。
必要な条件
必ずサポートされているオペレーティング システムだけを使用してください、そうしなければ、IaC統合は失敗します。
IaC CLIスキャナーの設定
IaC CLIスキャナーを設定するには、次の手順を実行します。
- [管理]>[ワークステーションとIDE]に移動します。
- 一般情報で、次のいずれかのプラットフォームを選択します。
- Windows
- macOS
- Linux
- Visual Studio
- JetBrains
- [構成]で次の操作を行います。
- [ダウンロードするバージョンの選択]:ドロップダウン メニューからダウンロードするIaC CLIスキャナーのバージョンを選択します。
- [インストール手順]:指示に従って、次の場所にバイナリ ファイルをダウンロードしてインストールします。
- Windows
- macOSとLinux
- sudo許可でインストールする
- ターミナルを開き、次のコマンドを入力して
.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
- 次のコマンドを実行して、IaC CLIスキャナーをインストールします。
$ install zscanner /usr/local/bin && rm zscanner
どのmacOSにもIaC CLIスキャナーをインストールできない場合は、以下の手順を実行します。
- Macコンピューターで、[システム環境設定]>[セキュリティとプライバシー]の順にアクセスします。
- [アプリのダウンロード元を許可する]で、[アプリ ストアと特定された開発者]を選択して、IaC CLIスキャナーをインストールして実行する許可を取得します。
- [許可]をクリックします。
- 次のコマンドを実行して、IaC CLIスキャナーを初期化できるかどうかを確認します。
$ zscanner
閉じる - ターミナルを開き、次のコマンドを入力して
- sudo許可なしでインストールする
- リンクをクリックして、
iac-scanner-cli.xxx.tar.gz
のバイナリ パッケージをダウンロードします。 .tar.gz
ファイルをフォルダーに抽出します。- 抽出したバイナリを別の場所にコピーします。
$ cp <source_path> <destination_path>
-
バイナリがコピーされる場所
destination_path
を指すようにZSCANNER_HOME
をセットアップし、プロファイル(.bash_profile
、.zshrc
、または.zshenv
)内ののPATH
変数に同じパスを追加します
$ export ZSCANNER_HOME=<destination_path> $ export PATH=$PATH:$ZSCANNER_HOME $ source ~/.<profile_file_name>
閉じる - リンクをクリックして、
- sudo許可でインストールする
- [次へ]をクリックします。
- コミット前フック ファイルを設定します
pipインストールのプレコミット
-
.pre-commit-config.yaml
ファイルをスキャンする必要があるIaCリポジトリに追加します。 - ZPC Admin Portalで提供される次のコードをコピーして、この
.yaml
に追加しますファイル:
repos: - repo: https://github.com/ZscalerCWP/iac-pre-commit-hooks rev: v0.0.1 hooks: - id: zscaler-iac-scanner
- コマンド プロンプトで次のコマンドを実行して、構成されたプレコミット フックをIaCリポジトリにインストールします。
プレコミット インストール
インストール後、プレコミット フックはすべてのgitコミットでIaCファイルを自動的にスキャンし、コード内に結果を表示します。
- 次のコマンドを実行してプレコミット フックを初期化し、すべてのIaCファイルをスキャンします。
プレコミット実行
閉じる--all-files
-
- 完了 をクリックします。
IaC CLIスキャナーの使用
コマンドライン インターフェイスからIaCスキャンを実行して、ローカル ファイル システムに保存されているIaCテンプレートにセキュリティ設定ミスがないかどうかを確認できます。
コマンドライン インターフェイスからIaC CLIスキャナーを実行するには、次の手順を実行します。
- コマンド プロンプト ウィンドウを開きます。
- 次のコマンドを実行して、Zscalerアカウントにログインします。
zscanner login
- ZPC Admin Portalにアクセスする地域(EU、米国、またはカスタム)を入力します。
Enter
を押してブラウザーでZPCログイン ページを開きます。
アカウントがシングル サインオン(SSO)を使用するように設定されている場合は、IdPログイン ページにリダイレクトされます。
- ログインIDとパスワードを入力し、[サインイン]をクリックします。
これでログインし、CLIにリダイレクトされます。
- 要件に応じて、次のいずれかのコマンドを実行します。
- 特定のフォルダーをスキャンします。
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