正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

オフライン設定

  • プラン: Ultimate
  • 提供形態: GitLab Self-Managed

インターネット経由で外部リソースへのアクセスが制限されている、または不安定な環境にあるインスタンスでは、DASTジョブを正常に実行するためにいくつかの調整が必要です。詳細については、オフライン環境を参照してください。

オフラインDASTサポートの要件

オフライン環境では、どのバージョンのDASTも使用できます。これを行うには、以下が必要です:

GitLab Runnerでは、デフォルトでpull policyalwaysになっています。つまり、ローカルコピーが利用可能な場合でも、RunnerはGitLabコンテナレジストリからDockerイメージをプルしようとします。オフライン環境ではローカルで利用可能なDockerイメージのみを使用する場合は、GitLab Runnerのpull_policyif-not-presentに設定できます。ただし、オフライン環境でない場合は、プルポリシーの設定をalwaysのままにしておくことをおすすめします。これにより、CI/CDパイプラインで常に最新のスキャナーを使用できるようになります。

Dockerレジストリ内でGitLab DASTアナライザーイメージを利用できるようにする

DASTの場合は、次のデフォルトのDASTアナライザーイメージをregistry.gitlab.comからローカルDockerコンテナレジストリにインポートします:

  • registry.gitlab.com/security-products/dast:latest

DockerイメージをローカルのオフラインDockerレジストリにインポートするプロセスは、your network security policy(ネットワークのセキュリティポリシー)によって異なります。IT部門に相談して、外部リソースをインポートまたは一時的にアクセスするための承認済みプロセスを確認してください。これらのスキャナーは新しい定義で定期的に更新されています。また、自分で随時更新できる場合もあります。

Dockerイメージをファイルとして保存および転送する方法の詳細については、docker savedocker loaddocker exportdocker importに関するDockerのドキュメントを参照してください。

ローカルDASTアナライザーを使用するようにDAST CI/CDジョブ変数を設定する

次の設定を.gitlab-ci.ymlファイルに追加します。imageを、ローカルDockerコンテナレジストリでホストされているDAST Dockerイメージを参照するように置き換える必要があります:

include:
  - template: DAST.gitlab-ci.yml
dast:
  image: registry.example.com/namespace/dast:latest

この設定により、DASTジョブは、インターネットアクセスを必要とせずに、DASTアナライザーのローカルコピーを使用してコードをスキャンし、セキュリティレポートを生成できるようになります。

または、CI/CD変数SECURE_ANALYZERS_PREFIXを使用して、dastイメージのベースレジストリアドレスをオーバーライドできます。