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