このページでは、メタデータ管理の主要なコンセプトと、安全なソフトウェア デリバリー チェーンにおけるその重要性について説明します。
安全なサプライ チェーンの側面の 1 つは、ソフトウェア アーティファクトの存続期間を追跡することです。コンプライアンス上の理由から、アーティファクトの廃止後もこの追跡情報を利用できるようにする必要があります。これは、アーティファクトまたはソフトウェア リソース(コンテナ イメージ、仮想マシン、ソフトウェア パッケージ)に関する重要なイベントを記述するメタデータを生成して保存することで実現できます。
Artifact Analysis を使用すると、リソースに関連付けられたメタデータ情報を保存できます。このメタデータは後で取得して、ソフトウェア サプライ チェーンを監査できます。
Artifact Analysis でメタデータを保存する方法
アーティファクト分析は、ポリシーの追跡と適用のための一元化された信頼できる情報源として機能するオープンソース コンポーネント メタデータ API である Grafeas 上に構築されています。ビルドツール、監査ツール、コンプライアンス ツールは、Grafeas を使用して、ソフトウェア コンポーネントに関する包括的なメタデータを保存、クエリ、取得できます。
Grafeas はオープンソースであるため、特定のベンダーに縛られることはありません。Grafeas は、一意のソフトウェア ID を使用してメタデータを関連付けます。アーティファクト ストレージが分離されるため、さまざまなリポジトリのコンポーネントに関するメタデータを保存できます。Artifact Analysis にも同じ原則が適用されます。Artifact Registry または他のロケーションのソフトウェア コンポーネントのユニバーサル メタデータ ストアとして使用できます。
Grafeas モデルには、次の 2 つのエンティティが関与します。
- メモに保存されるメタデータを作成するプロバイダ。
- メモに保存されているメタデータがアーティファクトに適用されるかどうかを特定するお客様。その場合は、メタデータはノートのオカレンスとして表されます。
注
メモは、メタデータの大まかな説明です。たとえば、Linux パッケージの特定の脆弱性に関するメモを作成できます。また、ビルドプロセスのビルダーに関する情報を格納するためにメモを使用することもできます。通常、分析を実行するプロバイダがメモを所有して作成します。メタデータを使用するお客様は、プロジェクト内のメモのオカレンスを特定できます。
メモとオカレンスを別のプロジェクトに保存して、きめ細かなアクセス制御を行うことをおすすめします。
メモは、その所有者だけが編集可能で、メモを参照しているオカレンスにアクセス可能な顧客に対しては読み取り専用にする必要があります。
オカレンス
オカレンスは、ソフトウェア アーティファクトでメモが検出された時点を表します。メモのインスタンス化と考えることができます。たとえば、脆弱性に関するメモのオカレンスでは、脆弱性が発見されたパッケージや特定の修復手順などが示されます。または、ビルドの詳細に関するメモのオカレンスでは、ビルドの結果であるコンテナ イメージが示されます。
通常、オカレンスは、メモが作成されたプロジェクトとは別のプロジェクトに格納されます。オカレンスへの書き込みアクセス権は、メモをオカレンスにリンクするためのアクセス権を持っているユーザーにのみ付与する必要があります。一方、オカレンスへの読み取りアクセス権は、すべてのユーザーに付与できます。
サポートされるメタデータの種類
次の表に、Artifact Analysis がサポートするメタデータの種類を示します。サードパーティ メタデータ プロバイダは、顧客のイメージ用として、次の種類のメタデータを格納または検索できます。
メタデータの種類 | Google Cloud サービスでの使用 |
---|---|
脆弱性: 監査対象ファイルの脆弱性情報を提供します。 | Artifact Analysis は、一般公開されているセキュリティ問題の外部データベースに基づいて脆弱性の発生を生成します。 |
ビルド: ビルドの来歴に関する情報を提供します。 | Cloud Build を使用してイメージをビルドする場合、Cloud Build がこのメタデータを生成し、Artifact Analysis が情報を保存します。 |
イメージ: コンテナ イメージに関するメタデータ。たとえば、イメージのさまざまなレイヤに関する情報。 | |
パッケージ: イメージにインストールされたパッケージに関する情報が含まれています。 | |
デプロイメント: イメージ デプロイメント イベントに関する情報を提供します。 | |
検出: イメージの初期スキャンに関する情報が含まれています。 | Artifact Analysis は、脆弱性スキャンに関する情報のみを提供します。 |
構成証明には、イメージの認証情報が含まれています。 | はい。Binary Authorization は、この情報を読み取り、デプロイを制御するために使用できます。 |
アップグレード: 利用可能なパッケージ アップグレードを示します。 | |
コンプライアンス: コンプライアンス チェックに関する情報を提供します。 | |
DSSE 構成証明: Dead Simple Signing Envelope 署名を使用する構成証明を記述します。 | |
脆弱性評価では、アップロードされた VEX ステートメントが Grafeas の VulnerabilityAssessment メモ形式で保存されます。 | |
SBOM リファレンスには、SBOM の検索と検証に役立つ追加のメタデータが含まれています。 |