Close

Integreer Snyk in Atlassian Open DevOps

Profielfoto van Warren Marusiak
Warren Marusiak

Senior Technical Evangelist

Om te demonstreren hoe je toepassingen ontwikkelt, implementeert en beheert met behulp van Jira Software en verschillende bijbehorende tools, heeft ons team ImageLabeller aangemaakt, een eenvoudige demotoepassing gebouwd op AWS die gebruikmaakt van machine learning om labels op afbeeldingen aan te brengen.

Op deze pagina wordt beschreven hoe je Snyk integreert met Bitbucket. We raden je aan om, voordat je begint, de pagina Introductie op ImageLabeller te lezen voor meer context.

Bitbucket en Snyk koppelen

Er zijn een aantal manieren om met Snyk te werken in Bitbucket. De eerste is om de systeemeigen integratie van Snyk met Bitbucket mogelijk te maken via het tabblad Beveiliging op het scherm van je repository. Ook kun je een Snyk-stap toevoegen aan een bitbucket-pipelines.yml-bestand. Je kunt het ook allebei doen. De integratie van Snyk in Bitbucket biedt snelle toegang tot kwetsbaarheidsgegevens voor iedereen die de repository in Bitbucket bekijkt. Je kunt dan doorklikken naar de website van Snyk voor meer informatie over elke gevonden kwetsbaarheid. De Snyk-stap in een bitbucket-pipelines.yml-bestand maakt het mogelijk om elke commit in een pipeline automatisch te scannen.

De Snyk-integratie aan Bitbucket toevoegen

Klik op het tabblad Beveiliging, zoek de Snyk-integratie en klik vervolgens op Nu proberen om Snyk toe te voegen aan een Bitbucket-repository.

Afbeelding Snyk-integratie aan Bitbucket toevoegen

Verleen toegang en klik op Bitbucket verbinden met Snyk.

Bitbucket aan Snyk koppelen

Zodra de integratie is ingesteld, sluit je het tabblad.

Handleiding voor succesvolle integratie

Klik op de nieuwe Snyk-optie die in het linkernavigatiesysteem verschijnt. Klik vervolgens op het go.mod-bestand om in te zoomen voor meer gedetailleerde informatie. De Golang-repository gebruikt in dit voorbeeld go-modules om afhankelijkheden te beheren. Voor andere soorten repository's zijn er verschillende afhankelijkheidsbestanden.

Snyk-scherm

Klik op Bezoek Snyk om naar de website van Snyk te gaan en meer te weten te komen over hoe je elke kwetsbaarheid kunt oplossen.

snyk bezoeken

Deze weergave van de Snyk-app is vergelijkbaar met het detailscherm dat in Bitbucket is weergegeven. Dit scherm toont een lijst met kwetsbaarheden, samen met aanvullende informatie over elke kwetsbaarheid.

Screenshot Snyk-website

Hieronder zie je een voorbeeld van een kwetsbaarheidsrapport in Snyk. Een hiërarchie van waar de kwetsbaarheid vandaan komt, wordt weergegeven in de sectie Gedetailleerde paden. In het onderstaande voorbeeld kun je zien dat SubmitImage deze kwetsbaarheid overneemt van de AWS Golang SDK. Snyk vat de status van alle problemen aan de linkerkant samen. In dit geval kan geen van de problemen worden opgelost. Let op, er zijn vijf problemen Zonder oplossing onder Oplosbaarheid. Dit betekent dat er momenteel geen afzwakking beschikbaar is voor deze problemen. Ontwikkelaars kunnen de integratie monitoren en oplossingen toepassen zodra deze beschikbaar zijn.

Screenshot van de kwetsbaarheidsgegevens

Voeg een Snyk-stap toe aan bitbucket-pipelines.yml

Naast toegang tot Snyk via de Bitbucket-gebruikersinterface, is de functionaliteit van Snyk toegankelijk via Bitbucket-pipelines door stappen toe te voegen aan bitbucket-pipelines.yml-bestanden. Dit betekent dat bij elke commit automatisch een kwetsbaarheidsscan wordt uitgevoerd en je op de hoogte wordt gesteld van eventuele beveiligingsproblemen.

Hieronder staan twee bitbucket-pipelines.yml-fragmenten voor het uitvoeren van Snyk-tests als onderdeel van een pipeline.

Snyk toevoegen aan Bitbucket-pipelines voor Golang

Dit voorbeeld toont hoe je een snyk-test uitvoert voor een Golang-project met behulp van Go-modules voor afhankelijkheidsbeheer.

definitions:
  steps:
    -step: &runsnyktest
        name: run snyk test
        image: snyk/snyk:golang
        script:
          - snyk auth $SNYK_TOKEN
          - cd submitImage
          - go mod graph
          - snyk test
pipelines:
  default:
    - step: *runsnyktest

Snyk toevoegen aan Bitbucket-pipelines voor Python

Dit voorbeeld toont hoe je een snyk-test uitvoert voor een Python-project met behulp van Pip voor afhankelijkheidsbeheer.

definitions:
  steps:
    -step: &runsnyktest
        name: run snyk test
        image: snyk/snyk:python
        script:
          - snyk auth $SNYK_TOKEN
          - cd src
          - snyk test --skip-unresolved
          - cd ../tst
          - snyk test --skip-unresolved
pipelines:
  default:
    - step: *runsnyktest

Zo ziet dit eruit als de runsnyktest-stap wordt uitgevoerd in een Bitbucket-pipeline.

runsnyktest-stap in Bitbucket-pipeline

Conclusie...

De praktijk om beveiliging te integreren in je CI/CD-pipeline is een kernprincipe van DevSecOps. Met DevSecOps moet beveiliging worden toegepast op elke fase van de gemiddelde DevOps-pipeline: plannen, coderen, bouwen, testen, vrijgeven en implementeren. Door beveiliging in je workflow op te nemen, wordt het een actief, geïntegreerd onderdeel van het ontwikkelingsproces in plaats van een bijzaak. Dit betekent veiligere apps, minder incidenten en tevreden klanten.

Warren Marusiak
Warren Marusiak

Warren is a Canadian developer from Vancouver, BC with over 10 years of experience. He came to Atlassian from AWS in January of 2021.


Deel dit artikel

Aanbevolen artikelen

Bookmark deze resources voor meer informatie over soorten DevOps-teams of voor voortdurende updates over DevOps bij Atlassian.

Toelichting DevOps

DevOps-community

Toelichting DevOps

DevOps-leertraject

Afbeelding van kaart

Gratis aan de slag

Meld je aan voor onze DevOps-nieuwsbrief

Thank you for signing up