このドキュメントでは、自動スキャンを有効または無効にする方法について説明します。
Artifact Analysis は、Container Scanning API を介して、Artifact Registry のコンテナ イメージの自動脆弱性スキャンを提供します。プラットフォーム管理者とアプリケーション デベロッパーは、スキャン結果を使用して、ソフトウェア サプライ チェーンのリスクを特定して軽減できます。
デフォルトでは、Container Scanning API を有効にすると、Artifact Analysis はプロジェクト内のサポートされているすべてのパッケージ タイプをスキャンします。費用を削減し、スキャン結果のノイズを減らすには、個々のリポジトリでスキャンを無効にします。詳細については、個々のリポジトリのスキャン設定を制御するをご覧ください。
詳しい料金情報については、料金ページをご覧ください。
制限事項
自動スキャン機能には次の制限があります。
- スキャンは Artifact Registry 仮想リポジトリではサポートされていません。
- Artifact Registry リポジトリは Docker 形式である必要があります。
Container Scanning API を有効にする
既存のプロジェクトで Container Scanning API を有効にすることも、新しいプロジェクトを作成してから API を有効にすることもできます。Container Scanning API を有効にすると、メタデータの保存と取得のために Container Analysis API も有効になります。
Artifact Registry でプロジェクトの脆弱性スキャンを有効にするには、次の操作を行います。
Google Cloud コンソールで、[API へのアクセスの有効化] ページを開きます。
個々のリポジトリのスキャン設定を制御する
このセクションでは、個々のリポジトリのスキャン設定を制御する方法について説明します。この機能は Artifact Registry でのみサポートされています。
デフォルトでは、Container Scanning API を有効にすると、Artifact Registry の標準 Docker リポジトリとリモート Docker リポジトリに push するすべてのイメージのスキャンが有効になります。Artifact Analysis でスキャンすると、ソフトウェア サプライ チェーンに対する潜在的な脅威に関する包括的な情報が得られます。必要に応じて、個々のリポジトリでスキャンを無効にすることもできます。
リポジトリでスキャンを無効にすると、次のことができます。
- プロジェクト内でスキャン費用を管理します。プロジェクト全体のスキャンをオフにしたり、リポジトリを分離するために新しいプロジェクトを作成したりする必要はありません。
- 受け取る脆弱性検出結果の数を減らします。特定のリポジトリの脆弱性の修復に集中できます。
既存の Artifact Registry リポジトリのスキャン設定を変更する手順は次のとおりです。
コンソール
Google Cloud コンソールで [リポジトリ] ページを開きます。
リポジトリ リストでリポジトリを選択し、[リポジトリの編集] をクリックします。
脆弱性スキャンを有効または無効にする。
[保存] をクリックします。
gcloud
リポジトリでスキャンを無効にするには:
gcloud artifacts repositories update REPOSITORY \
--project=PROJECT-ID \
--location=LOCATION \
--disable-vulnerability-scanning
リポジトリでスキャンを許可するには:
gcloud artifacts repositories update REPOSITORY \
--project=PROJECT-ID \
--location=LOCATION \
--allow-vulnerability-scanning
ここで
新しい Artifact Registry リポジトリのスキャン設定を構成するには、標準リポジトリを作成するまたはリモート リポジトリを作成するをご覧ください。
Container Scanning API を無効にする
このセクションでは、Artifact Registry でプロジェクトの脆弱性スキャンを無効にする方法について説明します。
Container Scanning API を無効にすると、プロジェクト内のすべてのリポジトリでスキャンが停止します。個々のリポジトリのスキャン設定は保持されます。一部のリポジトリでスキャンを無効にしてから、プロジェクトの API を再度有効にしても、それらのリポジトリはスキャンから除外されたままになります。
個々のリポジトリのスキャン設定を更新するには、リポジトリを更新するをご覧ください。
コンソール
Artifact Registry の [設定] ページを開きます。
[脆弱性スキャン] セクションで、[無効にする] をクリックします。
gcloud
次のコマンドを実行します。
gcloud services disable containerscanning.googleapis.com
モニタリング期間を延長する
Artifact Analysis は、Artifact Registry 内でスキャンされたイメージの脆弱性メタデータを継続的にモニタリングします。継続的モニタリングのデフォルトの期間は 30 日間です。この期間を過ぎると、イメージは古くなり、脆弱性スキャンの結果は更新されなくなります。
モニタリング期間を延長するには、30 日以内にイメージを pull または push する必要があります。頻繁な更新を必要としないコンテナ(Istio イメージやプロキシ イメージなど)を再プッシュするスケジュール設定されたタスクを作成することをおすすめします。