Configurer les analyses Veracode sur votre pipeline
Configurez les analyses Veracode sur vos pipelines Azure DevOps, Jenkins, GitHub, GitLab ou Harness.
Vous pouvez configurer les analyses Veracode à toute étape du pipeline, et les détails de l'analyse sont extraits à partir de l'étape correspondante dans Vélocité de changement DevOps. Si vous utilisez les outils d'orchestration Azure DevOps ou GitHub Actions, vous devez toujours ajouter le code d'action personnalisé dans votre pipeline. Si vous utilisez Jenkins et que votre pipeline comporte déjà une étape d'analyse de sécurité Veracode, vous n'avez pas besoin d'ajouter le code d'action personnalisé dans votre pipeline. Assurez-vous que votre étape d'analyse de sécurité Veracode indique waitForScan : true. Cela est nécessaire pour que le système récupère les informations d'analyse.
Si vous souhaitez configurer Veracode pour l'outil GitLab, vous pouvez soit utiliser l'image générique du conteneur Docker pour ajouter l'étape de sécurité Veracode, soit suivre les étapes spécifiées dans la rubrique Intégrer des outils de sécurité à GitLab.
Pour les pipelines Harness, vous pouvez configurer les analyses Veracode uniquement via l'image générique du conteneur Docker. Pour plus d'informations, consultez Implémenter des actions personnalisées pour les pipelines utilisant une image de conteneur Docker générique.
- Accédez à l'étape dans votre pipeline et ajoutez l'action personnalisée.
Azure DevOps - Accédez à votre fichier .yml de pipeline.
- Dans la section Tâches sur le côté droit, recherchez la tâche d'extension Résultats de sécurité ServiceNow DevOps.
- Saisissez le point de terminaison ServiceNow.
- Saisissez les attributs des résultats de sécurité comme suit.
{ "scanner": "Veracode", "applicationName": "", "buildVersion": "", "securityToolId": "" }// scanner : outil d'analyse requis, par exemple Veracode.
// applicationName : nom de votre application Veracode (obligatoire). Cet attribut ne s'applique qu'à Veracode.
// buildVersion : nom/version de l'analyse Veracode (facultatif). Cet attribut ne s'applique qu'à Veracode.
// securityToolId : outil de sécurité intégré dans ServiceNow (sys_id de l'outil de sécurité intégré) (facultatif).
- Sélectionnez Ajouter pour ajouter le code d'action personnalisé à votre pipeline.
Jenkins - Accédez à la syntaxe du pipeline à partir d'un pipeline configuré.
- Sélectionnez l'étape snDevOpsSecurityResult dans la liste Exemple d'étape, puis mettez à jour les valeurs des attributs d'analyse de sécurité dans l'étape.
- Sélectionnez Générer un script de pipeline pour créer un extrait. Vous pouvez copier-coller l'extrait dans le pipeline.
snDevOpsSecurityResult { securityResultAttributes:{"scanner":"Veracode", "applicationName": "", "buildVersion": "", "securityToolId": ""}}// scanner : outil d'analyse requis, par exemple Veracode.
// applicationName : nom de votre application Veracode (obligatoire). Cet attribut ne s'applique qu'à Veracode.
// buildVersion : nom/version de l'analyse Veracode (facultatif). Cet attribut ne s'applique qu'à Veracode.
// securityToolId : outil de sécurité intégré dans ServiceNow (sys_id de l'outil de sécurité intégré) (facultatif).
GitHub Actions - Accédez à votre fichier .yml de workflow.
- Dans la section Place de marché sur le côté droit, recherchez l'action personnalisée Résultats de sécurité ServiceNow DevOps.
- Ajoutez l'extrait suivant dans votre fichier .yml.
SecurityScanResults: needs: build runs-on: ubuntu-latest name: Servicenow Security Scan Results steps: - name: ServiceNow DevOps Security Results uses: ServiceNow/servicenow-devops-security-result@v1.39.0 with: devops-integration-user-name: ${{ secrets.SN_DEVOPS_USER }} devops-integration-user-password: ${{ secrets.SN_DEVOPS_PASSWORD }} instance-url: ${{ secrets.SN_INSTANCE_URL }} tool-id: ${{ secrets.SN_ORCHESTRATION_TOOL_ID }} context-github: ${{ toJSON(github) }} job-name: 'Servicenow Security Scan Results' security-result-attributes: '{ "scanner": "Veracode", "applicationName": "", "buildVersion": "", "securityToolId": ""}// scanner : outil d'analyse requis, par exemple Veracode.
// applicationName : nom de votre application Veracode (obligatoire). Cet attribut ne s'applique qu'à Veracode.
// buildVersion : nom/version de l'analyse Veracode (facultatif). Cet attribut ne s'applique qu'à Veracode.
// securityToolId : outil de sécurité intégré dans ServiceNow (sys_id de l'outil de sécurité intégré) (facultatif).
Harness Exécutez l'image du conteneur générique Docker pour utiliser le script suivant. Pour plus d'informations, consultez Implémenter des actions personnalisées pour les pipelines utilisant une image de conteneur Docker générique. - stage: name: ServiceNow DevOps Security Result identifier: Security description: "" type: Custom spec: execution: steps: - stepGroup: name: Security identifier: Security steps: - step: type: Run name: ServiceNow DevOps Security Result identifier: ServiceNow_DevOps_Security_Result spec: connectorRef: docker_hub_connector_for_harness image: servicenowdocker/sndevops:5.0.0 shell: Sh command: |- sndevopscli create securityScan -p "{"pipelineInfo":{ "buildNumber":"<+stage.nodeExecutionId>", "taskExecutionUrl":"<+pipeline.executionUrl>?stage=<+stage.nodeExecutionId>", "orchestrationPipeline":"<+org.identifier>/<+project.identifier>/<+pipeline.name>" }, "securityResultAttributes":{ "scanner":"Veracode", "applicationName":"", "buildVersion":"", "securityToolId":"" } }" envVariables: SNOW_URL: <+variable.SNOW_URL> SNOW_TOOLID: <+variable.SNOW_TOOLID> SNOW_TOKEN: <+variable.SNOW_TOKEN> stepGroupInfra: type: KubernetesDirect spec: connectorRef: kubernates_connector namespace: harness-delegate-ng tags: {} - Exécutez le pipeline pour récupérer les résultats de l'analyse de sécurité.