Articles
Tutoriels
Guides interactifs
Comment intégrer Snyk et Bitbucket Cloud pour favoriser une approche DevSecOps
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.
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).
2. Cliquez sur App passwords (Mots de passe des apps) sous Access management (Gestion des accès).
3. Cliquez sur Create app password (Créer un 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.
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.
É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).
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.
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).
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
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).
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.
É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 :
- 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.
Découvrez d'autres intégrations pour Atlassian Open DevOps.
Partager cet article
Thème suivant
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.