Harbor-as-a-Service で作成されたすべての Harbor インスタンスは、Trivy 脆弱性スキャナに接続して、コンテナ イメージのセキュリティ リスクを特定して対処できるようにします。Trivy は、Harbor バージョン 2.2 以降のデフォルトのスキャナです。Trivy は、コンテナ イメージの内容を分析し、既知の脆弱性データベース(National Vulnerability Database など)と比較して、潜在的な問題を特定します。詳細については、https://github.com/aquasecurity/trivy をご覧ください。
始める前に
脆弱性スキャンを実行するために必要なツールと権限を使用して環境を構成する必要があります。
必要な前提条件
- Trivy スキャナ:
--with-trivyインストール オプションを追加して Harbor インスタンスをインストールしたときに、Trivy を有効にする必要があります。詳細については、インストーラ スクリプトの実行に関する Harbor のドキュメント(https://goharbor.io/docs/2.12.0/install-config/run-installer-script/)をご覧ください。 - Harbor プロジェクト: 既存の Harbor プロジェクトが必要です。詳細については、Harbor プロジェクトを作成するをご覧ください。
必要な Harbor RBAC ロール
GDC IAM ロールとは異なり、脆弱性スキャンには Harbor の内部ロールベース アクセス制御(RBAC)システム内の特定の権限が必要です。管理者に必要な権限をリクエストします。特定のタスクに必要なロールのみをリクエストして、最小権限でのアクセスを強制します。
- ProjectAdmin: スキャナの構成、手動の脆弱性スキャンの開始、プロジェクト レベルの脆弱性設定の更新に必要です。Harbor プロジェクトを作成したユーザーには、そのプロジェクトの
ProjectAdminロールが自動的に割り当てられ、他のユーザーにロールを割り当てることができます。使用可能なすべてのロールの詳細については、ロール別のユーザー権限に関する Harbor のドキュメント(https://goharbor.io/docs/2.12.0/administration/managing-users/user-permissions-by-role/)をご覧ください。
Harbor で個々のアーティファクトをスキャンする
Harbor で個々のアーティファクトをスキャンする手順は次のとおりです。
ProjectAdminロールを持つアカウントで Harbor インターフェースにログインします。- [プロジェクト] に移動して、プロジェクトを選択します。
- [スキャナ] タブをクリックします。[スキャナ] タブには、このプロジェクトで使用されている現在のスキャナが表示されます。
- [編集] をクリックして、この Harbor インスタンスに接続されているスキャナのリストから別のスキャナを選択し、[OK] をクリックします。
- [Repositories] タブをクリックし、リポジトリを選択します。
- リポジトリ内の各アーティファクトについて、[脆弱性] 列に脆弱性スキャンのステータスと関連情報が表示されます。
アーティファクトを選択するか、上部のチェックボックスを使用してリポジトリ内のすべてのアーティファクトを選択し、[スキャン] をクリックして、このアーティファクトで脆弱性スキャンを実行します。
修正可能な脆弱性の数にポインタを合わせると、脆弱性レポートの概要が表示されます。
アーティファクト ダイジェストをクリックすると、詳細な脆弱性レポートが表示されます。
詳細については、Harbor のドキュメント(https://goharbor.io/docs/2.12.0/administration/vulnerability-scanning/scan-individual-artifact/)をご覧ください。
Harbor 内のすべてのアーティファクトをスキャンする
Harbor インスタンス内のすべてのアーティファクトをスキャンする手順は次のとおりです。
ProjectAdminロールを持つアカウントで Harbor インターフェースにログインします。- [管理] メニューで、[Interrogation Services] をクリックします。
Harbor インスタンス内のすべてのアーティファクトのスキャンを実行するには、[脆弱性] タブを選択して [今すぐスキャン] をクリックします。
詳細については、Harbor のドキュメント(https://goharbor.io/docs/2.12.0/administration/vulnerability-scanning/scan-all-artifacts/)をご覧ください。
Harbor プロジェクトで脆弱性設定を構成する
脆弱性スキャンを Harbor ワークフローに統合して、コンテナ化されたアプリケーションのセキュリティをプロアクティブに管理し、組織を潜在的な脅威から保護します。脆弱性のあるイメージを実行できないようにプロジェクトを構成し、イメージがプロジェクトに push されるとすぐに自動的にスキャンするように構成します。
Harbor プロジェクトの脆弱性設定を構成する手順は次のとおりです。
ProjectAdminロールを持つアカウントで Harbor インターフェースにログインします。- [プロジェクト] に移動して、プロジェクトを選択します。
- [構成] タブをクリックします。
- プロジェクト内の脆弱なイメージが pull されないようにするには、[脆弱なイメージの実行を防止する] チェックボックスをオンにします。
イメージの実行を阻止する脆弱性の重大度レベルを選択します。
プロジェクトに push された新しいイメージで脆弱性スキャンをすぐに有効にするには、[push 時にイメージを自動的にスキャンする] チェックボックスをオンにします。
詳細については、Harbor のドキュメント(https://goharbor.io/docs/2.12.0/working-with-projects/project-configuration/)をご覧ください。