Conforma によるコンプライアンス管理
Conforma を使用すると、宣伝するコードのコンプライアンスをより適切に検証および管理できる方法を説明します。また、会社の基準に合わせてサンプルポリシーをカスタマイズする。
概要
はじめに リンクのコピーリンクがクリップボードにコピーされました!
Conforma は、コンテナーイメージのビルドとテストに関するポリシーを定義および適用し、ソフトウェアサプライチェーンのセキュリティーを維持するためのポリシー駆動型ワークフローツールです。セキュアな CI/CD ワークフローを実現するには、問題を早期に検出するためのアーティファクト検証を組み込む必要があります。Conforma の役割は、コンテナーイメージが既知の信頼できるビルドシステムによって署名およびアテストされていることを検証することです。
第1章 RHADS 向けの Conforma - SSC リンクのコピーリンクがクリップボードにコピーされました!
ソフトウェアのサプライチェーンがより複雑になると、信頼できるチェックおよびベストプラクティスを使用して、イメージコンテナーおよびソースコードの依存関係性を確保することができます。ここで、Conforma streamline が Red Hat Advanced Developer Suite - ソフトウェアサプライチェーン(RHADS - SSC)ビルドおよびデプロイを行います。
Conforma は、コンテナーイメージのビルドとテストに関するポリシーを定義および適用し、ソフトウェアサプライチェーンのセキュリティーを維持するためのポリシー駆動型ワークフローツールです。Supply-chain Levels for Software Artifacts (SLSA) の来歴アテステーションを作成するビルドシステム (Tekton Chains を使用した Tekton や SLSA GitHub Generator を使用した GitHub Actions など) では、署名をチェックし、アテステーションの内容が実際に期待どおりに一致することを確認することは、ソフトウェアサプライチェーンのインテグリティーを検証および維持する上で非常に重要です。セキュアな CI/CD ワークフローを実現するには、問題を早期に検出するためのアーティファクト検証を組み込む必要があります。complianta は、既知の信頼できるビルドシステムがコンテナーイメージを署名し、テストしていることを検証します。
署名およびアテストされたコンテナーイメージを検証するための一般的な手順は次のとおりです。
- RHADS - SSC を使用してコンテナーイメージを作成またはコピーします。
- Cosign を使用して署名鍵を生成します。
- Cosign を使用してコンテナーイメージに署名します。
- Cosign を使用してイメージをアテストします。
- Conforma CLI を使用して、署名および証明されたコンテナーイメージを検証します。
コンテナーイメージなどの署名済みのソフトウェアアーティファクトは、未署名のアーティファクトよりも、いくつかの攻撃ベクトルのリスクが大幅に低くなります。コンテナーイメージが署名されると、さまざまな暗号化技術によってイメージが特定のエンティティーまたは組織にバインドされます。その結果、イメージの信頼性を検証して作成者に再度追跡し、署名後にイメージが変更または改ざんされていないことを検証することもできます。
complianta は業界標準の Sigstore および Cosign をリソースライブラリーとして使用し、コンテナーイメージを検証します。Red Hat Trusted Artifact Signer (Red Hat が Sigstore フレームワークのサポート対象バージョン)では、Sigstore のサービスの独自のオンプレミスインスタンスを使用して、Cosign CLI を使用してコンテナーイメージに署名し、テストすることができます。
ソフトウェアアーティファクトの アテステーションと同様に、証明書 がないと発生できません。来歴 とは、コンテナーイメージなどのソフトウェアアーティファクトに関する検証可能な情報であり、そのアーティファクトがどこで、いつ、どのように作成されたかを説明したものです。アテステーション自体は、メタデータ形式の認証済みステートメントであり、アーティファクトが元のままであり信頼できることを証明するものです。complianta は、テストを使用して、ビルドが改ざんされていないことを暗号で検証し、SLSA 要件などのポリシーセットに対してビルドをチェックします。
ユーザーが RHADS - SSC の開発 namespace からステージ namespace に、またはステージ namespace から実稼働 namespace にコードをプッシュすると、Conforma は検証チェックを自動的に実行し、コンテナーイメージが既知の信頼できるビルドシステムによって署名およびアテストされていることを確認します。イメージが Conforma チェックに合格すると、コードの変更をマージして、ある環境から次の環境へのプロモートを完了できます。
第2章 Conforma コマンドラインのインストール リンクのコピーリンクがクリップボードにコピーされました!
前提条件
- Red Hat OpenShift Container Platform (OCP)バージョン 4.13 以降への、稼働中の Red Hat Trusted Artifact Signer インストール。
-
cosignおよびocバイナリーファイルがインストールされたワークステーション。 - OCP Web コンソールへのアクセス。
手順
OCP クラスターから
ecバイナリーファイルをダウンロードします。- OCP Web コンソールにログインします。ホームページから ? アイコンをクリックし、Command line tools を選択して、ec ダウンロードセクションに移動してから、お使いのプラットフォームへのリンクをクリックします。
ワークステーションでターミナルを開き、次のコマンドを実行してバイナリー
.gzファイルを解凍します。gunzip ec-amd64.gz
$ gunzip ec-amd64.gzCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、バイナリーを実行可能にします。
chmod +x ec-amd64
$ chmod +x ec-amd64Copy to Clipboard Copied! Toggle word wrap Toggle overflow
バイナリーを
$PATH環境内の場所に移動し、名前を変更します。sudo mv ec-amd64 /usr/local/bin/ec
$ sudo mv ec-amd64 /usr/local/bin/ecCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
-
ec versionコマンドを実行します。実行すると、インストールした Conforma CLI のバージョンが表示されるはずです。
第3章 ポリシーの作成 リンクのコピーリンクがクリップボードにコピーされました!
Conforma ポリシー は、ルールまたは一連のルールおよびコンフォーム固有のアノテーションです。complianta は、Red Hat 製品に必要なすべてのポリシールールを確認するなど、いくつかのタイプのポリシーチェックを実行できます。complianta は、Open Policy Agent (OPA)と呼ばれる汎用ポリシーエンジンを使用します。OPA は、Rego を使用してポリシールールを定義します。これは、Conforma ポリシーにある OPA のポリシールールも Rego で定義されていることを意味します。
手順
次の例のように、新しいポリシールールを定義する Rego ファイルを作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - METADATA
-
コードの最初の 10 行は
METADATAコメントブロックで設定されます。これは、Conforma がルールアノテーションを指定して、成功および違反のレポートにこれらのアノテーションの詳細を含めることができるようにする方法です。 short_name-
この 1 つのポリシールールは、新しいポリシールールの
が、Supply-chain Levels for Software Artifacts (SLSA)の出所と一致することを検証します。builder.id input.attestationsinputは、コンテナーイメージ、その署名、およびそのアテステーションに関するすべての情報が含まれる Rego オブジェクトです。inputオブジェクトのinput.attestations属性には、イメージに関連付けられたアテステーションのリストが含まれます。ヒントinputオブジェクトを JSON ファイルに保存して使用可能な値を表示できます。これは、新しいポリシールールを記述する際に役立ちます。inputオブジェクトをinput.jsonという名前の JSON ファイルとして保存するには、次の例のようなコマンドを実行します。ec validate image --public-key cosign.pub \ --image "$REPOSITORY:latest" \ --policy policy.yaml \ --output policy-input=input.json
$ ec validate image --public-key cosign.pub \ --image "$REPOSITORY:latest" \ --policy policy.yaml \ --output policy-input=input.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow
新しいポリシールールを使用するためのポリシー設定を作成します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の例のように、新しいポリシーを使用してコンテナーイメージを検証し、成功および違反レポートの追加情報を表示します。
ec validate image --public-key cosign.pub \ --image "$REPOSITORY:latest" \ --policy policy.yaml \ --show-successes --info --output yaml
$ ec validate image --public-key cosign.pub \ --image "$REPOSITORY:latest" \ --policy policy.yaml \ --show-successes --info --output yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
-
成功と違反のレポートをチェックして、新しいルールが
successesリストに含まれていることを確認します。
3.1. ポリシーの設定 リンクのコピーリンクがクリップボードにコピーされました!
インライン JSON または YAML 文字列を使用して Conforma ポリシーを設定できます。このポリシーは、config または contract とも呼ばれ、実行するポリシーを適用するために使用するルールとデータを Conforma で検索する場所を指定します。1 つのルールや特定のルールパッケージを追加または除外することもできます。
手順
次の例のように、コマンドラインでポリシーを JSON または YAML 文字列として設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow (オプション) 次の例のように、Conforma ポリシーから特定のルールパッケージを除外します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドにより、指定したパッケージ内のルールを除く全パッケージの全ルールが追加されます。
(オプション) 次の例のように、1 つのルールを除外します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドにより、
unacceptable_task_bundleルールを除くattestation_task_bundleパッケージのすべてのルールが追加されます。(オプション) 次の例のように、特定のパッケージのルールのみを追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドにより、指定したパッケージのルールのみが追加されます。
(オプション) 特定パッケージの一部のルールのみを追加します。つまり、次の例のように、
includeとexcludeの両方を指定して、Conforma ポリシーに含めるルールのみを選択できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow アスタリスク(*)アスタリスク (*) はワイルドカードとして機能し、すべてのパッケージにマッチします。部分的な名前とは一致しません。たとえば、s*" が、s で始まるすべてのパッケージに一致させるように指定することはできません。
これらのコマンドにより、
attestation_task_bundleパッケージのunacceptable_task_bundleルール のみ を追加し、そのパッケージ内の他のルールをすべて除外することが指定されます。
(オプション) 次の例のように、特定のチェックを除外して、そのチェックが失敗した場合や完了しなかった場合でも、Conforma がコンテナーイメージを検証できるようにします。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、特定されたチェックのいずれかが失敗した場合、または完了しない場合でも、Conforma がコンテナーイメージの妥当性を検証できることを指定します。
(オプション)
config.policy.includeコマンドまたはconfig.policy.excludeコマンドのいずれかを文字列のリストとともに実行して、パッケージ内のルールのデフォルト設定を変更します。文字列のリストには、次のいずれかを含める必要があります。
- パッケージ名
- Available rule collections リストのパッケージから選択します。
- ルール名
-
attestation_type.unknown_att_typeのように、ドット(.)で区切られたパッケージとルールコードを入力し、ルール名を指定します。ルールコードは、アップストリームの Conforma ドキュメントの Attestation type の下に見つけることができます。 - パッケージ名:term
- ポリシールールによっては、アイテムのリストを処理します。"パッケージ名" 文字列に "項目" を付加すると、そのリストから特定の項目を除外または追加できます。これは "パッケージ名" と同様に機能しますが、その項目にマッチするパッケージ内のポリシールールにのみ適用される点が異なります。たとえば、テストパッケージを実行する場合は、特定のテストケースを無視して、他のすべてのテストケースを追加することができます。
- rule name:term
- これは、パッケージに 項目 を追加または除外するのではなく、特定のパッケージ ポリシールール を含めるか除外できる点を除き、package name:term と似ています。
- @collection name
-
これを文字列に追加して、事前定義されたルールのコレクションを指定します。コレクション名の前に
@記号を付けます。利用可能なルールコレクションから選択します。
第4章 コンテナーイメージへの署名 リンクのコピーリンクがクリップボードにコピーされました!
前提条件
- OpenShift Container Platform (OCP) Web コンソールにアクセスできる。
- バージョン 4.13 以降の OpenShift 上で実行中の動作している Red Hat Trusted Artifact Signer (RHTAS) インストール。
-
ec、cosign、ocバイナリーファイルがインストールされたワークステーション。
手順
以下のコマンドを実行して OCP クラスターにログインします。
oc login --token=<TOKEN> --server=<SERVER_URL_AND_PORT>
$ oc login --token=<TOKEN> --server=<SERVER_URL_AND_PORT>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc login --token=sha256~ZvFDBvoIYAbVECixS4-WmkN4RfnNd8Neh3y1WuiFPXC \ --server=https://example.com:6443
$ oc login --token=sha256~ZvFDBvoIYAbVECixS4-WmkN4RfnNd8Neh3y1WuiFPXC \ --server=https://example.com:6443Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記コマンドラインログイントークンと URL を見つけるには、OpenShift Web コンソール にログインします。ユーザー名をクリックし、Copy login command をクリックします。プロンプトが表示されたら、ユーザー名とパスワードを再度入力し、Display Token をクリックします。
- RHTAS にログインします。
以下のコマンドを実行して、コンテナーイメージを署名および検証するように RHTAS シェル環境を設定します。
cd sigstore-ocp
$ cd sigstore-ocpCopy to Clipboard Copied! Toggle word wrap Toggle overflow source tas-env-variables.sh
$ source tas-env-variables.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow 環境変数を手動で設定するオプションもあります。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow source ./tas-env-vars.sh
$ source ./tas-env-vars.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して OCP クラスターからログアウトします。
oc logout
$ oc logoutCopy to Clipboard Copied! Toggle word wrap Toggle overflow 署名するコンテナーイメージと attest を特定します。以下に例を示します。
IMAGE=quay.io/lucarval/rhtas-test@sha256:6b95efc134c2af3d45472c0a2f88e6085433df058cc210abb2bb061ac4d74359
IMAGE=quay.io/lucarval/rhtas-test@sha256:6b95efc134c2af3d45472c0a2f88e6085433df058cc210abb2bb061ac4d74359Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、パブリック Sigstore デプロイメントではなく、Red Hat Trusted Artifact Signer を使用してコンテナーイメージに署名し、テストすることを RHADS - SSC に指定します。
cosign initialize --mirror=$TUF_URL --root=$TUF_URL/root.json
$ cosign initialize --mirror=$TUF_URL --root=$TUF_URL/root.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、コンテナーイメージに署名します。
cosign sign -y --fulcio-url=$FULCIO_URL \ --rekor-url=$REKOR_URL \ --oidc-issuer=$OIDC_ISSUER_URL $IMAGE
$ cosign sign -y --fulcio-url=$FULCIO_URL \ --rekor-url=$REKOR_URL \ --oidc-issuer=$OIDC_ISSUER_URL $IMAGECopy to Clipboard Copied! Toggle word wrap Toggle overflow - プロンプトが表示されたら、RHADS - SSC のインストール時に RHADS - SSC がインストールした Keycloak インスタンスにログインします。これは、Keycloak がユーザーを認証できるようにするためです。
次のステップ
これでイメージが署名されました。これで、以下が可能になります。
- SLSA の来歴アテステーションを作成し、コンテナーイメージに関連付けます。
- Conforma を使用してコンテナーイメージを検証します。
4.1. コンテナーイメージに署名してアテストするための署名鍵の生成 リンクのコピーリンクがクリップボードにコピーされました!
コンテナーイメージに署名してアテストするには、署名鍵が必要です。
前提条件
-
cosignバイナリーファイルがインストールされたワークステーション。
手順
次のコマンドを実行して、キーペアを生成します。
cosign generate-key-pair
$ cosign generate-key-pairCopy to Clipboard Copied! Toggle word wrap Toggle overflow - プロンプトが表示されたら、キーペアの新しいパスワードを入力します。パスワードは覚えやすく強力なものにしてください。
検証
これで、作業ディレクトリーに
cosign.pubとcosign.keyという 2 つの新しいファイルが作成されます。-
cosign.pubファイルには、公開署名鍵が含まれています。この鍵は、コンテナーイメージの検証が必要なコラボレーターと共有できます。 -
cosign.keyファイルは、コンテンツに署名するための秘密鍵です。イメージの署名およびアテステーションの責任者だけがcosign.keyファイルにアクセスできるようにしてください。
-
4.2. Conforma および Red Hat Trusted Artifact Signer を使用したコンテナーイメージの署名の検証 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Trusted Artifact Signer (RHTAS)サービスをインストールする場合、ec バイナリーファイルを使用して、RHTAS サービスのキーレス署名フレームワークを使用するコンテナーイメージの認証と署名を検証できます。
前提条件
- OpenShift Container Platform (OCP)バージョン 4.13 以降で実行している RHTAS インストールが稼働している。
- OCP Web コンソールへのアクセス。
-
cosignおよびocバイナリーファイルがインストールされたワークステーション。
手順
OCP クラスターから
ecバイナリー ファイルをダウンロードします。- OpenShift Container Platform Web コンソールにログインします。ホームページから、右上の ? アイコンをクリックし、Command Line Tools を選択します。
- ec download セクションから、プラットフォームのリンクをクリックします。
- 端末を開きます。
次のコマンドを実行して、
.gzファイルを解凍します。gunzip ec-amd64.gz
$ gunzip ec-amd64.gzCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、
ecバイナリーファイルを実行可能にします。chmod +x ec-amd64
$ chmod +x ec-amd64Copy to Clipboard Copied! Toggle word wrap Toggle overflow ecバイナリーファイルを$PATH環境のディレクトリーに移動します。以下に例を示します。sudo mv ec-amd64 /usr/local/bin/ec
$ sudo mv ec-amd64 /usr/local/bin/ecCopy to Clipboard Copied! Toggle word wrap Toggle overflow ヒント他のイメージ検証コマンドオプションをすべて確認するには、
ec validate image --helpコマンドを実行します。
コンテナーイメージの署名および検証用にシェル環境を設定します。
次のコマンドを実行して、
sigstore-ocpディレクトリーに移動します。cd sigstore-ocp
$ cd sigstore-ocpCopy to Clipboard Copied! Toggle word wrap Toggle overflow tas-env-variables.shスクリプトを実行してシェルを設定します。source tas-env-variables.sh
$ source tas-env-variables.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow (オプション) 環境変数を手動で設定します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow source ./tas-env-vars.sh
$ source ./tas-env-vars.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow
次のコマンドを実行して、更新フレームワーク(TUF)システムを初期化します。
cosign initialize --mirror=$TUF_URL --root=$TUF_URL/root.json
$ cosign initialize --mirror=$TUF_URL --root=$TUF_URL/root.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、コンテナーイメージに署名します。
cosign sign -y --fulcio-url=$FULCIO_URL --rekor-url=$REKOR_URL --oidc-issuer=$OIDC_ISSUER_URL IMAGE_NAME
$ cosign sign -y --fulcio-url=$FULCIO_URL --rekor-url=$REKOR_URL --oidc-issuer=$OIDC_ISSUER_URL IMAGE_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
cosign sign -y --fulcio-url=$FULCIO_URL \ --rekor-url=$REKOR_URL \ --oidc-issuer=$OIDC_ISSUER_URL example-hello-world@sha256:2788a47fd0ef1ece30898c1e608050ea71036d3329b9772dbb3d1f69313f745c
$ cosign sign -y --fulcio-url=$FULCIO_URL \ --rekor-url=$REKOR_URL \ --oidc-issuer=$OIDC_ISSUER_URL example-hello-world@sha256:2788a47fd0ef1ece30898c1e608050ea71036d3329b9772dbb3d1f69313f745cCopy to Clipboard Copied! Toggle word wrap Toggle overflow 表示される Web ブラウザーで、メールアドレスを使用してコンテナーイメージに署名します。
predicate.jsonファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して
predicate.jsonファイルをコンテナーイメージに関連付けます。cosign attest -y --predicate ./predicate.json \ --type slsaprovenance IMAGE_NAME:TAG
$ cosign attest -y --predicate ./predicate.json \ --type slsaprovenance IMAGE_NAME:TAGCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
cosign attest -y --predicate ./predicate.json \ --type slsaprovenance example.io/hello-world:latest
$ cosign attest -y --predicate ./predicate.json \ --type slsaprovenance example.io/hello-world:latestCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、コンテナーイメージに少なくとも 1 つの証明書と署名があることを確認します。
cosign tree IMAGE_NAME:TAG
$ cosign tree IMAGE_NAME:TAGCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Conforma を使用してコンテナーイメージを確認します。
ec validate image --image IMAGE_NAME:TAG \ --certificate-identity-regexp 'SIGNER_EMAIL_ADDR' \ --certificate-oidc-issuer-regexp 'keycloak-keycloak-system' \ --output yaml --show-successes
$ ec validate image --image IMAGE_NAME:TAG \ --certificate-identity-regexp 'SIGNER_EMAIL_ADDR' \ --certificate-oidc-issuer-regexp 'keycloak-keycloak-system' \ --output yaml --show-successesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
ec validate image --image example.io/hello-world:latest \ --certificate-identity 'jdoe@example.com' \ --certificate-oidc-issuer 'keycloak-keycloak-system' \ --output yaml --show-successes
$ ec validate image --image example.io/hello-world:latest \ --certificate-identity 'jdoe@example.com' \ --certificate-oidc-issuer 'keycloak-keycloak-system' \ --output yaml --show-successesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力を使用してコンテナーイメージを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Matcha は、セキュリティー違反の詳細を含む合格または失敗のレポートを生成します。
--infoフラグを追加すると、違反に関する詳細と考えられる解決策がレポートに追加されます。
第5章 コンテナーイメージのアテストと検証 リンクのコピーリンクがクリップボードにコピーされました!
Conforma が署名済みコンテナーイメージを検証する前に、まず ソフトウェアアーティファクト(SLSA)の出所の Supply-chain Levels を作成し、これをコンテナーイメージに関連付ける必要があります。来歴とは、サプライチェーン内の特定のソフトウェア "リンク" がどこで、いつ、どのように作成されたかなど、ソフトウェアアーティファクトに関する検証可能な情報です。
前提条件
- 署名済みのコンテナーイメージ。
- OpenShift Container Platform Web コンソールにアクセスできる。
- バージョン 4.13 以降の OpenShift 上で実行中の動作している Red Hat Trusted Artifact Signer インストール。
-
cosignおよびocバイナリーファイルがインストールされたワークステーション。
手順
SLSA の出所
predicate.jsonファイルを作成します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、作成した
predicate.jsonファイルに署名してテストします。cosign attest -y --fulcio-url=$FULCIO_URL \ --rekor-url=$REKOR_URL \ --oidc-issuer=$OIDC_ISSUER_URL \ --predicate predicate.json \ --type slsaprovenance $IMAGE
$ cosign attest -y --fulcio-url=$FULCIO_URL \ --rekor-url=$REKOR_URL \ --oidc-issuer=$OIDC_ISSUER_URL \ --predicate predicate.json \ --type slsaprovenance $IMAGECopy to Clipboard Copied! Toggle word wrap Toggle overflow Keycloak が開き、コンテナーイメージに署名したときにログインに基づいてユーザーを自動的に認証します。
次のコマンドを実行して、署名と Conforma による署名と認証を確認します。
ec validate image --image $IMAGE \ --certificate-identity-regexp '.*' \ --certificate-oidc-issuer-regexp '.*' \ --output yaml --show-successes
$ ec validate image --image $IMAGE \ --certificate-identity-regexp '.*' \ --certificate-oidc-issuer-regexp '.*' \ --output yaml --show-successesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要ec validate imageコマンドを実行するときは、各署名が期待されるidentityと一致するように、できるだけ詳細に指定してください。
検証
- Conforma がコンテナーイメージを検証すると、すべての Conforma 検証と署名の詳細なレポートが開きます。