15.6. スキャンイメージから SBOM を生成する
RHACS を使用して、スキャンされたコンテナーイメージから Software Bill of Materials (SBOM)を生成できます。
スキャンされたコンテナーイメージからの SBOM の生成は、テクノロジープレビュー機能のみです。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat では、実稼働環境での使用を推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
SBOM を生成するには、スキャナー V4 を有効にする必要があります。Scanner V4 を有効にする方法は、次のリソースを参照してください。
OpenShift Container Platform の場合:
- Operator メソッドを使用した Central のインストール
- スキャナー V4 (Helm インストール)
Kubernetes の場合:
- スキャナー V4 (Helm インストール)
SBOM では、アプリケーション内のソフトウェアコンポーネント、依存関係、ライブラリーの詳細を説明します。RHACS は、スキャナー V4 によって実行されたスキャンの結果を使用して SBOM を生成します。RHACS ポータル、roxctl
CLI、または RHACS API を使用して SBOM を生成できます。
スキャナー V4 は、委譲されたスキャンの結果から SBOM を生成できません。委譲されたスキャンでは、セキュアなクラスターを使用してイメージをインデックス化し、脆弱性の一致のためにデータを Central に送信します。SBOM 生成は、セントラルで設定された Scanner V4 を使用している場合にのみ利用できます。
15.6.1. SBOM について
ソフトウェア BOM (Software Bill of Materials)とは、ソフトウェアのコンポーネントとその発信元を記載したデジタル記録です。組織は、SBOMを使用して脆弱なソフトウェアパッケージとコンポーネントの存在を特定し、リスクを軽減するためにより迅速に対応することができます。さらに、SBOM を生成できるため、組織は Executive Order 14028 に準拠することを支援します:イーバーセキュリティーの向上。
SBOM には、データ収集の方法と生成方法によって、さまざまな種類の情報を含めることができます。Cybersecurity & Infrastructure Security Agency (CISA)は、SBOM (Type of Software Bill of Materials)を提供し、SBOM の種類 をまとめています。
RHACS が生成する SBOM のタイプは「Analyzed」です。これらのタイプの SBOM は、実行可能ファイル、パッケージ、コンテナー、仮想マシンイメージなどのアーティファクトの分析を通じて作成されることに注意してください。CISA によって要約されたように、分析された SBOM には以下の利点があります。
- アクティブな開発環境なしでソフトウェアに関する情報を提供できます。
- ビルドプロセスへのアクセスなしに生成できます。
- これらを使用して、他のツールで不明な可能性のある非表示の依存関係を検出できます。
RHACS によって生成された SBOM は、System Package Data Exchange (SPDX) 2.3 形式です。
15.6.2. SBOM の生成
以下の方法を使用して、SBOM を生成できます。
- RHACS ポータルの使用
Vulnerability Management
Results に移動し、使用するイメージを見つけます。次のいずれかのアクションを実行します。 -
イメージの行でオーバーフローメニュー
をクリックし、Generate SBOM を選択します。
- イメージを選択してイメージの詳細を表示し、Generate SBOM をクリックします。
イメージと生成される SBOM 形式に関する情報を提供するウィンドウが開きます。Generate SBOM をクリックすると、RHACS はファイルを JSON 形式で作成します。ブラウザーの設定によっては、ブラウザーはファイルをコンピューターに自動的にダウンロードできます。
-
イメージの行でオーバーフローメニュー
roxctl
CLI の使用roxctl
CLI で次のコマンドを実行します。$ roxctl image sbom --image=image-name 1
- 1
- 文字列形式の SBOM を生成するイメージの名前と参照を入力します。たとえば、
nginx:latest
またはnginx@sha256:…
などです。
このコマンドには、以下のオプションがあります。
オプション | 説明 |
---|---|
|
イメージの Central のキャッシュをバイパスし、スキャナーからの新しいプルを強制します。デフォルトは |
| 再試行間の待機時間を秒単位で設定します。デフォルトは 3 です。 |
|
イメージ名と参照(例: |
| Scanner V4 が再試行する回数を設定します。この回数を超えるとエラーを出して終了します。デフォルトは 3 です。 |
- API の使用
-
RHACS API を使用して SBOM を作成できます。エンドポイントに接続し、SBOM を生成するには、認可には
ROX_API_TOKEN
を使用する必要があります。リクエストペイロードは JSON 形式で生成されます。
詳細は、API リファレンスの GenerateSBOM を参照してください。