Docker Scout のヘルススコア
ヘルススコアは Docker Scout のベータ機能です。この機能は、早期アクセスプログラムに選ばれた Organization のみが利用可能です。
Docker Scout のヘルススコアは、Docker Hub 上のイメージのセキュリティ評価およびサプライチェーンの健全性を提供し、イメージが確立されたセキュリティベストプラクティスを満たしているかどうかを判断するのに役立ちます。スコアは A から F まであり、A が最高のセキュリティレベル、F が最低のレベルを表し、イメージのセキュリティ状態を一目で確認できます。
リポジトリを所有する Organization のメンバーで、少なくともリポジトリに “read” アクセス権を持つユーザーのみがヘルススコアを表示できます。このスコアは Organization 外のユーザーや “read” アクセス権のないメンバーには表示されません。
ヘルススコアの表示
Docker Hub でイメージのヘルススコアを表示するには:
- Docker Hub にサインインします。
- Organization ページに移動します。
リポジトリ一覧で、最新のプッシュタグに基づいた各リポジトリのヘルススコアを確認できます。
ヘルススコアバッジは、リポジトリの全体的な健全性を示す色で表示されます:
- グリーン: A または B のスコア
- イエロー: C のスコア
- オレンジ: D のスコア
- レッド: E または F のスコア
- グレー: N/A のスコア
スコアは、特定のリポジトリの Docker Hub ページにも表示され、スコアに寄与する各ポリシーも確認できます。
スコアリングシステム
ヘルススコアは Docker Scout のポリシーに基づいてイメージを評価することで決定されます。これらのポリシーはソフトウェアサプライチェーンのベストプラクティスに沿っています。
Docker Scout に登録済みのイメージリポジトリでは、Organization のポリシー設定に基づいて自動的にヘルススコアが計算されます。カスタムポリシーが設定されている場合、それも評価に含まれます。
Docker Scout を使用していない場合、デフォルトポリシーに基づいてイメージの準拠状況が表示されます。Docker が推奨するサプライチェーン基準に基づいています。Docker Scout を有効にしてポリシー設定を編集することで、特定のポリシーに基づいたスコアを得られます。
スコアリングプロセス
各ポリシーには、そのタイプに基づいてポイントが割り当てられます。イメージがポリシーに準拠している場合、そのポリシータイプに対応するポイントが加算されます。最終的なヘルススコアは、達成ポイントが総ポイントに対して何%であるかに基づいて計算されます。
-
イメージのポリシー準拠を評価します。
-
ポリシー準拠に基づいてポイントが付与されます。
-
達成ポイントの割合が計算されます:
割合 = (ポイント / 合計ポイント) * 100
-
以下の表に示す割合に基づいて最終スコアが割り当てられます:
割合 (付与されたポイント / 総ポイント) スコア 90%以上 A 71% から 90% B 51% から 70% C 31% から 50% D 11% から 30% E 10%未満 F
N/A スコア
以下の条件に該当する場合、イメージに N/A
スコアが付与されることがあります:
- イメージが 4GB より大きい(圧縮サイズ)。
- イメージのアーキテクチャが
linux/amd64
またはlinux/arm64
ではない。 - イメージが古く、新しいデータが評価のために取得できない。
N/A スコアが表示された場合、次を検討してください:
- イメージが大きすぎる場合、サイズを小さくしてください。
- アーキテクチャがサポートされていない場合、対応するアーキテクチャでイメージを再ビルドしてください。
- イメージが古い場合、新しいタグをプッシュして最新の評価をトリガーします。
ポリシーの重み
各ポリシータイプには異なる重みが設定されており、評価時のイメージのスコアに影響します。以下の表に示します:
* このポリシーはデフォルトでは有効ではなく、ユーザーによって設定する必要があります。
評価
ヘルススコアは、この機能が有効化された後に Docker Hub にプッシュされた新しいイメージに対して計算されます。これにより、アプリケーションが安全で信頼性のあるイメージに基づいて構築されることを確認できます。
リポジトリスコア
各リポジトリは、最新のプッシュタグに基づいて総合的なヘルススコアを持ち、リポジトリのセキュリティ状態を一目で確認できます。
例
合計100ポイントのイメージの場合:
- イメージが 1つのポリシーから 5ポイントの違反を受けている場合、そのスコアは 100点中 95点となります。このスコアが 90%以上であるため、A のヘルススコアが与えられます。
- 複数のポリシーに準拠していない場合、たとえば 100点中 65点の場合、C のヘルススコアが付与され、準拠状況が低いことを示します。
ヘルススコアの改善
イメージのヘルススコアを向上させるには、Docker Scout 推奨のポリシーに準拠していることを確認するための措置を講じてください。
- Docker Scout ダッシュボードに移動します。
- Docker ID を使用してサインインします。
- リポジトリ設定に移動し、Docker Hub イメージリポジトリで Docker Scout を有効化します。
- リポジトリのポリシー準拠を分析し、イメージがポリシーに準拠するように対策を講じます。
ポリシーには異なる重みがあるため、スコアに大きな影響を与える高ポイントのポリシーを優先的に改善することで、イメージの総合スコアを向上させることができます。