Partie 4 : Mise en place d'une chaîne d'outils CC

Ce tutoriel vous explique comment utiliser le modèle de chaîne d'outils pour la conformité continue (CC) afin de vous assurer que les artefacts déployés et leurs référentiels sources sont toujours conformes.

Avant de commencer

Assurez-vous que les prérequis suivants sont remplis. Vous pouvez réutiliser les ressources qui ont été créées au cours du processus de configuration de la chaîne d'outils de CI et de déploiement continu (CD). Il permet de conserver à portée de la main les informations de ressource des chaînes d'outils CI et CD.

  1. Terminer Mettre en place les prérequis.
  2. Compléter Mettre en place une chaîne d'outils CI.
  3. Terminer Mise en place d'une chaîne d'outils CD.
  4. Reportez-vous aux pratiques de la chaîne d'outils CC.

Démarrer la configuration de la chaîne d'outils CC

Ce tutoriel utilise un environnement d'essai comme exemple pour configurer et présenter la chaîne d'outils CC. Suivez les étapes pour accéder au modèle de la chaîne d'outils CC.

  1. Dans la console 'IBM Cloud, cliquez sur 'Menu 'Icône de menu ' > 'Automatisation de la plate-forme > 'Chaînes d'outils.
  2. Dans la page Chaînes d'outils, cliquez sur Créer une chaîne d'outils.
  3. Sur la page Créer une chaîne d'outils, cliquez sur la tuile CC - Maintenir votre application continuellement conforme aux pratiques DevSecOps.

Configurer les paramètres de la chaîne d'outils CC

  1. Cliquez sur Start.

  2. Saisissez un nom de chaîne d'outils unique dans votre chaîne d'outils pour la même région et le même groupe de ressources dans le IBM Cloud. La région de la chaîne d'outils peut être différente de celle du cluster et du registre.

  3. Sélectionnez une région.

  4. Sélectionnez un Groupe de ressources.

  5. Facultatif : vous pouvez choisir la chaîne d'outils d'intégration continue (CI) associée dans la liste déroulante. Cela permet de copier une partie de la configuration du CI pour faciliter l'installation de la chaîne d'outils CC. Il se peut que certaines des valeurs déjà saisies soient écrasées.

  6. Cliquez sur Continu.

    Vous ne pouvez passer à l'étape suivante que si la configuration de l'étape en cours est terminée et valide. Vous pouvez toujours cliquer sur Retour pour afficher les étapes précédentes de l'installation guidée. Tous les paramètres de configuration définis au cours des étapes successives sont conservés dans le programme d'installation de la chaîne d'outils.

Certaines étapes comprennent un bouton bascule vers la configuration avancée. Ces étapes vous présentent par défaut la configuration minimale. Toutefois, les utilisateurs avancés qui ont besoin d'un contrôle plus fin peuvent cliquer sur le bouton Basculer vers la configuration avancée pour faire apparaître les options de l'intégration sous-jacente.

Mise en place d'intégrations d'outils CC

Examinez les paramètres par défaut et fournissez les configurations définies par l'utilisateur lorsque cela est nécessaire pour mettre en place l'intégration de l'outil CC.

Secrets

Spécifiez les intégrations de coffre-fort secret à ajouter à votre chaîne d'outils en utilisant les options fournies. Pour plus d'informations, voir Gestion des IBM Cloud secrets.

La chaîne d'outils CI ne prend en charge que les types de secrets Secrets arbitraires et IAM credentials.

  1. Ce tutoriel utilise IBM Cloud® Secrets Manager comme chambre forte pour les secrets. Les champs Région, Groupe de ressources et Nom du service sont automatiquement remplis en fonction des choix disponibles. Cliquez sur les indicateurs déroulants pour voir les autres choix.
  2. Saisissez votre Secrets Manager nom d'instance.
  3. Sélectionnez le type d'autorisation.
  4. Cliquez sur Continu.

Inventaire Ansible

  1. Sélectionnez l' URL e du référentiel de l'inventaire pour enregistrer les détails des artefacts créés par la chaîne d'outils CI.
  2. Cliquez sur Continu.

Cible

  1. Saisissez votre clé API IBM Cloud.
  2. Saisissez la balise Environnement dans votre inventaire pour analyser les artefacts déployés.
  3. Cliquez sur Continu.

Problèmes

  1. Sélectionnez l' URL e du référentiel pour enregistrer les problèmes pendant l'exécution du pipeline CC.
  2. Cliquez sur Continu.

Configuration de pipeline

Le référentiel de configuration du pipeline contient des fichiers YAML et des scripts pour le déploiement, les tests et d'autres tâches personnalisées.

  1. Accepter les paramètres peuplés par défaut pour Fournisseur de source.
  2. Sélectionnez une URL de référentiel source valide. Utilisez le dépôt par défaut fourni pour ce champ.
  3. Cliquez sur Continu.

Stockage des preuves

  1. Sélectionnez l'option Utiliser le référentiel existant.
  2. Sélectionnez l' URL e de référentiel qui a été créée lors de la configuration de la chaîne d'outils CI. Pour plus d'informations sur le stockage des preuves, voir Preuves.
  3. Basculer le seau IBM Cloud Object Storage pour stocker toutes les preuves dans le seau IBM Cloud Object Storage.
  4. Cliquez sur Continu.

Compartiment cloud Object Storage

  1. Vérifiez et acceptez les détails automatiquement pré-remplis IBM Cloud Object Storage.
  2. Fournissez votre clé API de service pour écrire dans une instance Cloud Object Storage.
  3. Cliquez sur Continu.

DevOps Insights chaîne d'outils

  1. Saisissez votre DevOps Insights IBM Cloud clé API.

  2. Accepter la configuration par défaut.

    Vous pouvez créer un lien vers une instance existante de la chaîne d'outils IBM Cloud DevOps Insights à partir de la chaîne d'outils CI pour l'ID de chaîne d'outils DevOps Insights. Par exemple, si le site URL est https://cloud.ibm.com/devops/toolchains/aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee?env_id=ibm:yp:us-south, l'identifiant de la chaîne d'outils est aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee.

  3. Cliquez sur Continu.

SonarQube

  1. Accepter la configuration par défaut.
  2. Cliquez sur Continu.

Outils facultatifs

Slack

Vous pouvez ajouter l'outil Slack après la création de la chaîne d'outils.

  1. Saisissez votre webhook Slack. Pour plus d'informations, voir Slack webhook.
  2. Saisissez votre canal Slack pour poster un message.
  3. Saisissez le Nom de l'équipe adverse. Par exemple, si votre équipe est URL https://team.slack.com, le nom de l'équipe est team.
  4. Choisir les événements pour lesquels vous souhaitez recevoir des notifications pour Notifications Slack automatisées.
  5. Cliquez sur Continu.

En option, vous pouvez basculer l'envoi de notifications avec la propriété slack-notifications Environment dans votre pipeline CD en utilisant 0 = off, and 1 = on.

Créer la chaîne d'outils CC

  1. Sur la page Résumé, cliquez sur Créer une chaîne d'outils et attendez que la chaîne d'outils soit créée.

    Les intégrations individuelles de la chaîne d'outils peuvent être configurées après la création du pipeline.

Explorer la chaîne d'outils CC

  1. Maintenant que la chaîne d'outils CC est créée, cliquez sur la tuile cc-pipeline pour ouvrir et afficher les déclencheur manuel CC, déclencheur temporisé CC et déclencheur Webhook Subpipeline.

Mettre à jour l'application URL pour exécuter l'analyse dynamique

Pour exécuter un scan dynamique sur l'environnement cible, vous devez fournir une application d' URL s au pipeline CC. L'analyse dynamique exécute des tests de nature intrusive. Utilisez un environnement de test pour exécuter l'analyse dynamique. Suivez les étapes pour récupérer l'application URL depuis l' ci-pipeline.

  1. Sur la page de la chaîne d'outils CI, cliquez sur la tuile ci-pipeline.
  2. Cliquez sur Run en regard du nom de votre pipeline. Observer le fonctionnement d'un pipeline. Attendez la fin de l'exécution du pipeline.
  3. L'application URL se trouve à la fin du journal de l'étape run stage de la tâche deploy-dev de l'exécution du pipeline CI. Utilisez cette adresse URL pour vérifier que l'application est en cours d'exécution. Par exemple, Application URL: http://<ipaddress>:<portno>.

Suivez les étapes pour ajouter l'application URL au pipeline CC en utilisant le déclenchement manuel. Pour plus d'informations sur la liste mise à jour, voir les analyses et les contrôles effectués dans le cadre des contrôles de conformité.

  1. Sur la page chaîne d'outils CC, cliquez sur la tuile cc-pipeline.
  2. Cliquez sur Paramètres > Propriétés de l'environnement.
  3. Cliquez sur Ajouter > Valeur de texte.
  4. Dans Ajouter une propriété, entrez votre Nom comme app-url.
  5. Saisissez Valeur comme http://<ipaddress>:<portno> qui est extrait de ci-pipeline.
  6. Cliquez sur Ajouter. Vous êtes maintenant prêt à exécuter le pipeline CC à l'aide d'un déclencheur manuel. Un pipeline CC terminé s'affiche comme indiqué dans la capture d'écran.

Pipeline CC réussi Exécution
réussie du pipeline DevSecOps Continuous Compliance

L'exécution d'une sous-pipeline asynchrone qui a été déclenchée pendant le pipeline CC est affichée comme le montre la capture d'écran.

Sous-pipeline asynchrone réussie
DevSecOps Continuous Compliance sous-pipeline asynchrone réussie

Problèmes d'incident

Au cours de l'exécution du pipeline CC, les questions relatives aux incidents, telles que la vulnérabilité, le CVE, sont créées et jointes aux preuves collectées. S'ils sont trouvés en production, ces problèmes avec la date d'échéance sont créés dans le référentiel de problèmes mentionné dans la configuration de la chaîne d'outils. Pour plus d'informations, voir Problèmes d'incident avec la date d'échéance.

Exemple d'incidentDevSecOps
Exemple d'incident DevSecOps créé à l'aide du pipeline CC

Explorez DevOps Insights

Les preuves des contrôles de conformité sont téléchargées aux endroits suivants.

DevSecOps CC evidence
DevSecOps CC evidence

Comparaison des pipelines d'EC et de CC

Vous avez remarqué que les pipelines CI et CC ont des étapes communes. Les analyses et les vérifications qui sont exécutées sont de nature et de détails similaires. Pour plus d'informations, voir Différence entre le pipeline CI et CC.

Etapes suivantes

Vous avez terminé avec succès la série de tutoriels pour configurer la chaîne d'outils CI, CD et CC et déployer une application sécurisée en utilisant les pratiques DevSecOps...

Maintenant, vous pouvez explorer le développement et le déploiement d'une Infrastructure as Code(IaC)sécurisée en utilisant les pratiques DevSecOps.