Configuration de la collecte des attestations SLSA pour les images

L'outil tekton-chains collecte les preuves des images générées avec les attestations SLSA.

L'outil tekton-chains surveille l'étape build-artifact du pipeline CI et atteste les images générées. L'outil de collecte d'informations collectées s'exécute pour chaque image dans la méthode list_artifacts des artefacts sauvegardés et collecte l'attestation. Ensuite, l'outil crée les preuves nécessaires. Pour plus d'informations, voir list_artefacts.

L'outil de chaînes de tekton est déployé sur les noeuds worker gérés par IBM par défaut. Pour plus d'informations sur les agents privés, voir Qu'est-ce que les chaînes Tekton?.

Paramètres d'attestation SLSA

Vous pouvez définir les paramètres d'attestation SLSA suivants avec l'outil tekton-chains.

Paramètres d'attestation SLSA
Nom de paramètre Type Description Obligatoire ou facultatif
slsa-attestation ENUM Définissez ce paramètre sur la valeur d'énumération 0 ou 1. Définissez la valeur sur 1 pour activer la collecte des rapports d'attestation SLSA. La valeur par défaut est 0 Requis
icr-dockerconfigjson SECRET Le fichier Docker config.json base64-encoded qui stocke les données d'identification pour IBM Container Registry. Définissez ce paramètre si les images doivent être stockées dans IBM Container Registry. Facultatif
artifactory-dockerconfigjson SECRET Le fichier base64-encoded Docker config.json qui stocke les informations d'identification pour Artifactory. Définissez ce paramètre si les images sont stockées dans Artifactory ou dans d'autres registres de conteneur. Facultatif
slsa-attestation-public-key SECRET Clé publique base64-encoded pour vérifier les rapports d'attestation SLSA. Facultatif

Ces secrets peuvent être créés manuellement en exécutant:

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

Pour IBM Container Registry, utilisez iamapikey comme nom d'utilisateur et la clé d'API IBM Cloud comme mot de passe.

Ce processus génère une réponse similaire au fragment de code suivant:

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

Dans les propriétés du pipeline, mettez à jour le paramètre artifactory-dockerconfigjson ou icr-dockerconfigjson avec la valeur .dockerconfigjson .

Informations collectées et pièces jointes

En fonction des valeurs que vous définissez en fonction des détails du tableau 2, les informations collectées sont générées. Le pipeline DevSecOps télécharge les preuves dans le casier et les inclut dans le résumé des preuves pour les demandes de changement.

Champs et valeurs de preuve
Zone Valeur
Type d'outil tekton-chains
type d'informations collectées com.ibm.cloud.slsa
type d'actif image
pièces jointes Attestation report generated by the tekton chains as JSON

Débogage et journalisation

Définissez le paramètre suivant pour le débogage et la journalisation.

Paramètres de débogage
Nom de paramètre Valeur par défaut Description
pipeline-debug 0 Indicateur de débogage 0 désactivé ; 1 activé

Accès aux résultats de l'analyse

Vous pouvez accéder à vos résultats d'analyse en utilisant les méthodes suivantes: