第1章 SBOM のダウンロード、変換、分析
次の手順では、RHTPA を使用して SBOM を検査する方法を説明します。具体的には、SBOM をダウンロードし、SBOM を互換性のある形式に変換して、RHTPA で SBOM を分析する方法を説明します。
RHADS - SSC 1.6 では、サポートされている CI プロバイダーを使用してアプリケーションをビルドするときに、SBOM が RHTPA に自動的に公開されるため、この手順は必要ありません。
SBOM を手動で展開し、ローカルコピーを保持する場合は、次の手順に従ってください。
手順:
コンテナーレジストリーで、SBOM 検査の対象とするコンテナーイメージの完全なアドレスを確認します。アドレスの形式は、registry/namespace/image:tag です。たとえば、quay.io/app/app-image:ff59e21cc などです。
注記SBOM イメージのアドレス (末尾が
.sbomのもの) は使用しないでください。実際のアプリケーションイメージのアドレスを使用してください。CLI で、
cosignを使用して SBOM をダウンロードします。出力を、後で参照できるファイルにリダイレクトします。必ず新しいファイル名の末尾を.jsonにします。cosign download sbom quay.io/redhat/rhtap-app:8d34c03188cf294a77339b2a733b1f6811263a369b309e6b170d9b489abc0334 > /tmp/sbom.json
cosign download sbom quay.io/redhat/rhtap-app:8d34c03188cf294a77339b2a733b1f6811263a369b309e6b170d9b489abc0334 > /tmp/sbom.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow (オプション) SBOM は、最終的にこの
.jsonファイルにリストされている名前で RHTPA UI に表示されます。デフォルトでは、Syft によって SBOM のファイルパスに基づいてその名前が作成されます。SBOM をわかりやすい名前で RHTPA UI に表示する場合は、ダウンロードした.jsonファイルで名前を手動で変更する必要があります。具体的には、.metadata.componentオブジェクト内の名前を置き換える必要があります。必要に応じて、ここでversionフィールドを追加することもできます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Bombastic API URL を環境変数として保存します。
bombastic_api_url="https://$(oc -n rhtap-tpa get route --selector app.kubernetes.io/name=bombastic-api -o jsonpath='{.items[].spec.host}')"$ bombastic_api_url="https://$(oc -n rhtap-tpa get route --selector app.kubernetes.io/name=bombastic-api -o jsonpath='{.items[].spec.host}')"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記このコマンドと次のコマンドでは、
-nの後に、RHADS - SSC をインストールした namespace を必ず入力してください。この例では、rhtapという namespace を使用していると想定しています。CLI で、次の値を持つ新しい
token_issuer_url環境変数を作成します。token_issuer_url=https://$(oc -n rhtap-keycloak get route --selector app=keycloak -o jsonpath='{.items[].spec.host}')/realms/chicken/protocol/openid-connect/token$ token_issuer_url=https://$(oc -n rhtap-keycloak get route --selector app=keycloak -o jsonpath='{.items[].spec.host}')/realms/chicken/protocol/openid-connect/tokenCopy to Clipboard Copied! Toggle word wrap Toggle overflow TPA__OIDC__WALKER_CLIENT_SECRET環境変数を設定し、その値として TPA OIDC Walker クライアントシークレットを指定します。TPA__OIDC__WALKER_CLIENT_SECRET=$(kubectl get -n rhtap secrets/rhtap-trustification-integration --template={{.data.oidc_client_secret}} | base64 -d)$ TPA__OIDC__WALKER_CLIENT_SECRET=$(kubectl get -n rhtap secrets/rhtap-trustification-integration --template={{.data.oidc_client_secret}} | base64 -d)Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して BOMbastic API のトークンを取得します。このトークンを使用すると、SBOM をアップロードできます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow SBOM のアップロードを試行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow エラーメッセージ
storage error: invalid storage contentが表示された場合は、Syft を使用して SBOM を以前の CycloneDX 1.4 に変換します。異なる pURL を持つパッケージのマージに関する警告は、無視しても問題ありません。この警告は、Syft が元の SBOM の一部のデータを破棄する可能性があることを示していますが、そのデータは重要ではありません。syft convert /tmp/sbom.json -o cyclonedx-json@1.4=/tmp/sbom-1-4.json
$ syft convert /tmp/sbom.json -o cyclonedx-json@1.4=/tmp/sbom-1-4.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow SBOM の再アップロードを試行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- OpenShift Console から、RHADS - SSC を実行しているクラスターにアクセスします。
-
rhtap プロジェクトで、Networking > Routes に移動します。
spog-uiサービスと同じ行にリストされている URL を開きます。 - Register ボタンを使用して新しいアカウントを作成し、RHTPA に対して認証します。
SBOM (直近にアップロードしたもの) を選択し、その SBOM に基づいて RHTPA が提供した、アプリケーションに関する分析情報を確認します。
- Dependency Analytics Report タブに移動して、脆弱性と修復を表示します。
改訂日時: 2025-09-06