イメージの SLSA 認証の収集の構成

このツールの tekton-chains は、SLSA 認証を使用して、作成されたイメージの証拠を収集します。

tekton-chains ツールは、CI パイプラインの build-artifact ステージをモニターし、ビルドされたイメージを認証します。 エビデンス収集ツールは、保存された成果物の list_artifacts メソッド内のイメージごとに実行され、認証を収集します。 その後、このツールは必要な証拠を作成します。 詳しくは、 list_artifacts を参照してください。

Tekton チェーン・ツールは、デフォルトで IBM 管理対象ワーカーにデプロイされます。 プライベート・ワーカーについては、 Tekton チェーンとは を参照してください。

SLSA 認証のパラメーター

tekton-chains ツールでは、以下の SLSA 認証パラメーターを設定できます。

SLSA 認証パラメータ
パラメーター名 タイプ 説明 必須またはオプション
slsa-attestation ENUM このパラメーターを enum 値 0 または 1 に設定します。 SLSA 認証レポートの収集を有効にするには、値を 1 に設定します。 デフォルト値は 0 Required
icr-dockerconfigjson SECRET IBM Container Registryの資格情報を保管する、 base64-encoded Docker config.json ファイル。 イメージを IBM Container Registryに保管する必要がある場合は、このパラメーターを設定します。 オプション
artifactory-dockerconfigjson SECRET base64-encoded Docker config.json のクレデンシャル情報を格納するファイル Artifactory。 イメージが Artifactory またはその他のコンテナー・レジストリーに保管されている場合は、このパラメーターを設定します。 オプション
slsa-attestation-public-key SECRET SLSA 認証レポートを検証するための base64-encoded 公開鍵。 オプション

これらのシークレットは、以下を実行して手動で作成できます。

kubectl create secret docker-registry mysecret \
--dry-run \
--docker-server=<container registry url>  \
--docker-username=<username> \
--docker-password=<artifactory token> \
--docker-email=<email> \
-o yaml

IBM Container Registryでは、ユーザー名として iamapikey を使用し、パスワードとして IBM Cloud API キーを使用します。

このプロセスは、以下のコード・スニペットのような応答を出力します。

apiVersion: v1
data:
  .dockerconfigjson: <your secret>
kind: Secret
metadata:
  creationTimestamp: null
  name: regcred
type: kubernetes.io/dockerconfigjson

パイプライン・プロパティーで、 artifactory-dockerconfigjson パラメーターまたは icr-dockerconfigjson パラメーターを .dockerconfigjson 値で更新します。

証拠および添付ファイル

表 2 の詳細に基づいて設定した値に基づいて、証拠が生成されます。 DevSecOpsパイプラインは証拠をロッカーにアップロードし、変更要求の証拠サマリーに証拠を含める。

証拠フィールドと値
フィールド
ツール・タイプ tekton-chains
エビデンス・タイプ com.ibm.cloud.slsa
アセット・タイプ image
添付ファイル Attestation report generated by the tekton chains as JSON

デバッグおよびロギング

デバッグおよびロギングのために以下のパラメーターを設定します。

デバッグパラメータ
パラメーター名 デフォルト値 説明
pipeline-debug 0 デバッグ・フラグ 0 がオフ、1 がオン

スキャン結果へのアクセス

以下の方法を使用して、スキャン結果にアクセスできます。