第5章 コンテナーイメージのアテストと検証


Enterprise Contract によって署名済みコンテナーイメージを検証する前に、まず SLSA 来歴を作成し、それをコンテナーイメージに関連付ける必要があります。来歴とは、サプライチェーン内の特定のソフトウェア "リンク" がどこで、いつ、どのように作成されたかなど、ソフトウェアアーティファクトに関する検証可能な情報です。Supply-chain Levels for Software Artifacts (SLSA) の来歴の詳細は、SLSA Provenance を参照してください。

前提条件

  • 署名済みのコンテナーイメージ。
  • OpenShift Web コンソールへのアクセス。
  • バージョン 4.13 以降の OpenShift 上で実行中の動作している Red Hat Trusted Artifact Signer インストール。
  • cosign および oc バイナリーファイルがインストールされたワークステーション。

手順

  1. SLSA 来歴ファイル predicate.json を作成します。以下に例を示します。

    echo '{
     "builder": {
       "id": "https://localhost/dummy-id"
     },
     "buildType": "https://localhost/dummy-type",
     "invocation": {},
     "buildConfig": {},
     "metadata": {
       "buildStartedOn": "2023-09-25T16:26:44Z",
       "buildFinishedOn": "2023-09-25T16:28:59Z",
       "completeness": {
         "parameters": false,
         "environment": false,
         "materials": false
       },
       "reproducible": false
     },
     "materials": []
    }
    ' > predicate.json
  2. 作成した predicate.json ファイルに署名してアテストします。以下に例を示します。

    cosign attest -y --fulcio-url=$FULCIO_URL \
       --rekor-url=$REKOR_URL \
       --oidc-issuer=$OIDC_ISSUER_URL \
       --predicate predicate.json \
       --type slsaprovenance $IMAGE

    Keycloak が開き、コンテナーイメージに署名したときのログインに基づいて自動的に認証されます。

  3. Enterprise Contract を使用して署名とアテステーションを検証します。以下に例を示します。

    ec validate image --image $IMAGE \
       --certificate-identity-regexp '.*' \
       --certificate-oidc-issuer-regexp '.*' \
       --output yaml --show-successes
重要

ec validate image コマンドを実行するときは、各署名が期待される identity と一致するように、できるだけ詳細に指定してください。

検証

  • Enterprise Contract によってコンテナーイメージが検証され、Enterprise Contract のすべての検証と署名に関する詳細なレポートが開きます。

関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.