Close

Comment intégrer Snyk et Bitbucket Cloud pour favoriser une approche DevSecOps

Portrait de Simon Maple
Simon Maple

Field CTO chez Snyk

Adoptez l'approche DevSecOps en intégrant Snyk à Bitbucket Cloud et Jira.

Snyk s'intègre à plusieurs produits Atlassian pour améliorer les workflows et les pipelines des équipes DevSecOps. Ce tutoriel décrit des modèles permettant de renforcer la sécurité en tirant profit de Atlassian Bitbucket et de Snyk. Ces techniques permettent à votre équipe d'analyser vos charges de travail basées sur les apps et les conteneurs au rythme de DevSecOps. Vous y découvrirez comment utiliser ces modèles pour intégrer la sécurité à toutes les étapes de votre pipeline.

Durée

15 minutes de lecture.

Public

  • Événements
  • Ingénieurs DevOps et DevSecOps
  • Équipes chargées du développement et de la sécurité des apps

Prérequis

Vous disposez d'un compte Snyk, disponible ici.

Vous disposez d'un compte Atlassian Bitbucket. Connectez-vous ici ou lancez-vous ici.

Étape 1 : Configurez votre environnement

Installez l'interface de ligne de commande Snyk

L'interface de ligne de commande Snyk authentifie votre machine grâce à votre compte Snyk. L'outil d'interface de ligne de commande vous aide à trouver et à corriger les vulnérabilités connues dans vos dépendances, à la fois manuellement et dans le cadre de votre pipeline CI/CD. Les instructions complètes pour installer l'interface de ligne de commande sont disponibles sur Snyk dans plusieurs formats pour les systèmes d'exploitation et les environnements courants. Par exemple, l'interface de ligne de commande est disponible avec brew avec les commandes suivantes :

brew tap snyk/tap
brew install snyk

Une fois que vous avez installé l'interface de ligne de commande, vous devez vous authentifier à l'aide de la commande suivante :

snyk auth

Cette commande ouvre un onglet de navigateur pour terminer le processus d'authentification. Vous êtes alors prêt à analyser votre dépôt lorsque vous cliquez sur le bouton Authenticate (Authentifier). Une fois l'authentification terminée, vous pouvez retourner sur votre terminal et continuer à travailler.

Ressources de laboratoire supplémentaires

Les exercices contenus dans ce tutoriel incluent une combinaison de commandes ou de snippets de code qui seront partagés dans les pages de module spécifiées, ainsi que des modèles et du code source disponibles dans un dépôt Bitbucket public. Une fois votre compte Bitbucket Cloud configuré, vous devrez copier ces ressources dans votre compte. Pour ce faire, procédez comme suit :

Forkez le dépôt

Cliquez ici pour forker le dépôt en amont dans votre compte Bitbucket. La documentation d'Atlassian fournit des instructions détaillées sur la façon de forker un dépôt.

Clonez votre fork en local

Une fois le fork terminé, vous devez cloner votre dépôt forké. Consultez la documentation d'Atlassian sur la façon de cloner un dépôt pour obtenir des instructions détaillées.

Étape 2 : Connectez Snyk à Bitbucket

Dans cette section, nous allons connecter Snyk à Bitbucket afin d'analyser notre app Bitbucket à la recherche de vulnérabilités open source.

Schéma du processus Bitbucket

Qu'est-ce que l'analyse de composition logicielle (SCA) ?

L'analyse de composition logicielle (SCA) est un outil de gestion de composants open source. Elle génère un rapport répertoriant tous les composants open source d'une app, y compris les dépendances directes et indirectes. À l'aide d'un outil de SCA, les équipes de développement peuvent rapidement suivre et analyser les composants open source introduits dans un projet.

Les composants open source sont très pratiques et largement utilisés, mais ils sont généralement difficiles à suivre. Les développeurs se sont donc appuyés sur des processus manuels tels que les e-mails et les feuilles de calcul pour améliorer la situation. Malheureusement, ces processus manuels sont susceptibles de réduire à néant les avantages de l'open source et constituent une solution incomplète. Une meilleure approche consiste à utiliser un outil de SCA qui fournit un aperçu immédiat de chaque composant.

Pourquoi utiliser un outil de SCA ?

Les composants open source sont des composants majeurs du développement de logiciels dans la plupart des secteurs. Quelle que soit la taille de votre organisation, un outil de SCA permet d'identifier les composants open source dans les apps essentielles pour votre activité. Les outils SCA offrent différentes possibilités aux développeurs :

1. Comprendre les dépendances utilisées dans les apps

2. Appliquer des politiques de sécurité et de conformité tout au long du cycle de vie du développement logiciel (SDLC)

3. Corriger de manière proactive les vulnérabilités potentielles à la source

4. Améliorer l'efficacité des équipes et les pratiques de sécurité de l'entreprise

Étape 3 : Créez un mot de passe d'app

Vous devrez créer un mot de passe d'app pour autoriser Snyk à accéder à votre dépôt et activer l'intégration de Bitbucket Cloud à Snyk.

Pour créer un mot de passe d'app :

1. Dans votre avatar en bas à gauche, cliquez sur Personal settings (Paramètres personnels).

Fenêtre des paramètres personnels

2. Cliquez sur App passwords (Mots de passe des apps) sous Access management (Gestion des accès).

Fenêtre de gestion des accès

3. Cliquez sur Create app password (Créer un mot de passe d'app).

Fenêtre de mot de passe d'app

4. Attribuez au mot de passe de l'app un nom associé à l'app qui utilisera le mot de passe.

Fenêtre de mot de passe d'app

5. Sélectionnez les accès et les autorisations spécifiques que vous souhaitez accorder à ce mot de passe d'app.

  • Compte : Read (Lecture)
  • Composition de l'équipe : Read (Lecture)
  • Projets : Read (Lecture)
  • Dépôts : Read and write (Lecture et écriture)
  • Pull requests : Read and write (Lecture et écriture)
  • Webhooks : Read and write (Lecture et écriture)

6. Copiez le mot de passe généré et enregistrez-le ou collez-le dans l'app à laquelle vous souhaitez accorder l'accès. Le mot de passe n'est affiché qu'une seule fois.

Étape 4 : Ajoutez des variables de dépôt

Vous devez définir des variables de dépôt au niveau du dépôt, qui seront ensuite référencées dans votre pipeline. Il s'agira des éléments suivants :

  • SNYK_TOKEN : jeton d'API Snyk pour l'authentification avec votre compte Snyk. Il s'agit d'une variable sécurisée.
  • IMAGE : nom de l'image du conteneur. Il ne s'agit pas d'une variable sécurisée.

Les autres variables concernent les opérations de pipeline améliorées, non abordées dans ce tutoriel.

Fenêtre des paramètres du dépôt

Étape 5. Récupérez votre jeton d'API Snyk

1. Récupérez votre jeton d'API Snyk

Dans la console Snyk, accédez à Settings (Paramètres) en cliquant sur l'icône d'engrenage illustrée dans l'image ci-dessous. Puis, dans le menu General (Général), copiez l'ID de votre organisation (Organization ID).

Paramètres généraux de Snyk

Une fois que vous avez copié votre jeton, retournez dans l'interface utilisateur Bitbucket Cloud et définissez la variable de dépôt SNYK_TOKEN.

Étape 6. Activez l'intégration Bitbucket

Dans la console Snyk, accédez à Integrations (Intégrations) et sélectionnez Bitbucket Cloud.

Fenêtre d'intégrations Snyk

Sur la page Integrations (Intégrations), dans la section Bitbucket Cloud, saisissez votre nom d'utilisateur Bitbucket dans le champ Username (Nom d'utilisateur) et le mot de passe de l'app Bitbucket de l'étape précédente dans le champ App password (Mot de passe de l'app). Cliquez ensuite sur Save (Enregistrer).

Paramètres : fenêtre des intégrations

Une fois que vous avez connecté vos comptes Snyk et Bitbucket, vous verrez un message de confirmation et aurez la possibilité d'ajouter votre dépôt Bitbucket Cloud à Snyk.

Restez sur cette page et, dans la section suivante, vous découvrirez comment importer un dépôt Bitbucket Cloud et l'analyser grâce à Snyk.

Analysez et surveillez votre app Bitbucket

Analyse et surveillance de la miniature Bitbucket

L'analyse de votre app pour détecter d'éventuelles vulnérabilités dans vos dépendances open source commence à la source. Dans la section précédente, nous avons activé l'intégration de Snyk à Bitbucket, et nous sommes à présent en mesure d'importer notre premier projet.

Étape 7 : Ajoutez des dépôts Bitbucket Cloud à Snyk

Dans le dernier écran de la section précédente, cliquez sur Add your Bitbucket Cloud repository to Snyk (Ajouter votre dépôt Bitbucket Cloud à Snyk).

Ajouter des dépôts Bitbucket Cloud à Snyk

Recherchez le dépôt que vous avez forké dans le module Configurer l'environnement. Cochez la case pour la sélectionner, puis cliquez sur le bouton Add selected repository (Ajouter le dépôt sélectionné) pour importer votre projet.

Bouton <strong>Add selected repositories</strong> (Ajouter les dépôts sélectionnés) dans le coin supérieur droit

Étape 8. Consultez le rapport de vulnérabilité

Vous devriez voir le nombre de vulnérabilités basé sur le fichier packages.json, ainsi que des informations détaillées pour chacune d'entre elles. Cliquez sur le projet qui vient d'être analysé et examinez les résultats dans Snyk. Vous recevrez non seulement un contexte tel que la gravité et la maturité de l'exploit pour les vulnérabilités, mais également les puissantes fonctionnalités suivantes :

Signalement des vulnérabilités
  • Cliquez sur Fix this vulnerability (Corriger cette vulnérabilité) pour obtenir de l'aide afin de corriger les vulnérabilités, soit en mettant à niveau les dépendances directes, soit en appliquant un correctif à la vulnérabilité.
  • Le score de priorité vous permet de hiérarchiser efficacement les corrections. Le score, compris entre 1 et 1 000, est déterminé par un algorithme propriétaire qui traite un large éventail de facteurs, tels que le score CVSS, la disponibilité d'exploits connus corrigés, l'ancienneté de la vulnérabilité et son accessibilité.
  • L'intégration Jira vous permet de créer des tickets dans Jira.
Simon Maple
Simon Maple

Simon Maple is the Field CTO at Snyk, a Java Champion since 2014, Virtual JUG founder, and London Java Community co-leader. He is an experienced speaker, with a passion for community. When not traveling, Simon enjoys spending quality time with his family, cooking and eating great food.


Partager cet article

Lectures recommandées

Ajoutez ces ressources à vos favoris pour en savoir plus sur les types d'équipes DevOps, ou pour les mises à jour continues de DevOps chez Atlassian.

Illustration DevOps

Communauté DevOps

Illustration DevOps

Parcours de formation DevOps

Illustration d'une carte

Essayez la solution gratuitement

Inscrivez-vous à notre newsletter DevOps

Thank you for signing up