イメージの SLSA 認証の収集の構成
このツールの tekton-chains は、SLSA 認証を使用して、作成されたイメージの証拠を収集します。
tekton-chains ツールは、CI パイプラインの build-artifact ステージをモニターし、ビルドされたイメージを認証します。 エビデンス収集ツールは、保存された成果物の list_artifacts メソッド内のイメージごとに実行され、認証を収集します。 その後、このツールは必要な証拠を作成します。 詳しくは、 list_artifacts を参照してください。
Tekton チェーン・ツールは、デフォルトで IBM 管理対象ワーカーにデプロイされます。 プライベート・ワーカーについては、 Tekton チェーンとは を参照してください。
SLSA 認証のパラメーター
tekton-chains ツールでは、以下の 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 がオン |
スキャン結果へのアクセス
以下の方法を使用して、スキャン結果にアクセスできます。
- DevSecOpsCLI を使用して、ステージログに出力される情報を使用して、エビデンスロッカーからスキャン結果をダウンロードします。 詳しくは、以下のリソースを参照してください。