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.
| 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.
| 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.
| 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:
- Utiliser l'interface de commandeDevSecOps pour télécharger les résultats de l'analyse à partir de l'armoire à preuves en utilisant les informations imprimées dans le journal d'étape. Pour plus d'informations, voir les ressources suivantes :