スキャンの種類

Artifact Analysis には、コンテナをスキャンするためのオンデマンド スキャンと自動スキャンの 2 つの機能があります。このドキュメントでは、それぞれのメリットについて説明します。Artifact Analysis はメタデータ管理も提供します。スキャンとメタデータ ストレージを組み合わせて CI/CD パイプラインをエンドツーエンドで保護する方法については、Artifact Analysis の概要をご覧ください。

オンデマンド スキャンと自動スキャンでは、オペレーティング システムと言語パッケージ(JavaGo)の脆弱性を特定できます。ただし、言語パッケージの自動スキャンは Artifact Registry でのみ使用できます。

各レジストリ プロダクトでサポートされているスキャンタイプの一覧については、比較表をご覧ください。

コンテナ イメージのスキャンに関連する費用の詳細については、料金をご覧ください。

オンデマンド スキャン

オンデマンド スキャンを使用すると、gcloud CLI を使用して、コンピュータまたはレジストリ内のコンテナ イメージをローカルでスキャンできます。これにより、脆弱性結果にアクセスする必要があるタイミングに応じて、CI/CD パイプラインを柔軟にカスタマイズできます。

自動スキャン

Artifact Analysis は、Artifact Registry のアーティファクトに対して脆弱性スキャンを実行します。Artifact Analysis は、脆弱性情報を監視して最新の状態に保ちます。このプロセスは、プッシュ時のスキャンと継続分析の 2 つの主要なタスクで構成されます。

プッシュ スキャン

Artifact Analysis は、Artifact Registry にアップロードされた新しいイメージをスキャンします。このスキャンにより、コンテナ内のシステム パッケージに関する情報が抽出されます。イメージは、イメージのダイジェストに基づいて 1 回だけスキャンされます。つまり、タグの追加や変更では新しいスキャンはトリガーされず、イメージのコンテンツを変更した場合のみトリガーされます。

Artifact Analysis は、セキュリティ脆弱性に関して公開で監視されているパッケージのみを検出します。

イメージのスキャンが完了すると、イメージの脆弱性オカレンスのコレクションが脆弱性の結果として生成されます。

継続的な分析

Artifact Analysis は、イメージのアップロード時に検出された脆弱性のオカレンスを作成します。最初のスキャンの後、Artifact Analysis は、Artifact Registry 内でスキャンされたイメージのメタデータに新たな脆弱性がないか継続的にモニタリングを行います。

Artifact Analysis は、脆弱性ソースから新しい脆弱性情報と更新された脆弱性情報を 1 日に複数回受け取ります。新しい脆弱性データが届くと、Artifact Analysis はスキャン済みイメージのメタデータを更新して、最新の状態に保ちます。Artifact Analysis は、既存の脆弱性オカレンスを更新し、新しいメモの新しい脆弱性オカレンスを作成し、有効でなくなった脆弱性オカレンスを削除します。

Artifact Analysis は、過去 30 日間に push または pull されたイメージのメタデータのみを更新します。30 日を過ぎると、メタデータは更新されなくなり、結果は古くなります。また、Artifact Analysis は 90 日以上前のメタデータをアーカイブします。このメタデータは、 Google Cloud コンソール、gcloud、API を使用して取得することはできません。古いメタデータまたはアーカイブされたメタデータを含むイメージを再スキャンするには、そのイメージを pull します。メタデータの更新には、最長で 24 時間ほどかかることがあります。

マニフェスト リスト

マニフェスト リストで脆弱性スキャンを使用することもできます。マニフェスト リストは、複数のプラットフォームのマニフェストへのポインタのリストです。これにより、1 つのイメージで複数のアーキテクチャまたはオペレーティング システムのバリエーションを操作できます。

Artifact Analysis の脆弱性スキャンは、Linux amd64 イメージのみをサポートしています。マニフェスト リストが複数の Linux amd64 イメージを指している場合は、最初のイメージのみがスキャンされます。Linux amd64 イメージへのポインタがない場合は、スキャン結果は返されません。

次のステップ