Konfigurieren Sie Veracode -Scans in Ihrer Pipeline

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 3 Minuten Lesedauer
  • Konfigurieren Sie Veracode -Scans in Ihren Azure DevOps-, Jenkins-, GitHub-, GitLab- oder Harnisch-Pipelines.

    Sie können Veracode -Scans in jeder Phase der Pipeline konfigurieren. Die Scan-Details werden aus der entsprechenden Phase für DevOps Change-Geschwindigkeit abgerufen. Wenn Sie Orchestration-Tools für Azure DevOps oder GitHub Actions verwenden, müssen Sie Ihrer Pipeline immer den anwenderdefinierten Aktionscode hinzufügen. Wenn Sie Jenkins verwenden und Ihre Pipeline bereits einen Sicherheitsscan-Schritt Veracode enthält, müssen Sie Ihrer Pipeline den anwenderdefinierten Aktionscode nicht hinzufügen. Stellen Sie sicher, dass für Ihren Sicherheitsscanschritt Veracode „waitForScan: true“ festgelegt ist. Dies ist erforderlich, damit das System die Scan-Informationen abrufen kann.

    Wenn Sie Veracode für das GitLab-Tool konfigurieren möchten, können Sie entweder das generische Docker-Container-Image verwenden, um den Veracode-Sicherheitsschritt hinzuzufügen, oder die im Thema Integrieren Sie Sicherheitstools in GitLab angegebenen Schritte ausführen.

    Für Harnisch-Pipelines können Sie Veracode -Scans nur über das generische Container-Image Docker konfigurieren. Weitere Informationen finden Sie unter Implementieren Sie anwenderdefinierte Aktionen für Pipelines mit dem generischen Docker-Container-Image.

    1. Navigieren Sie zu dem Schritt in Ihrer Pipeline, und fügen Sie die anwenderdefinierte Aktion hinzu.
      Azure DevOps
      1. Navigieren Sie zu Ihrer Pipeline-YML-Datei.
      2. Suchen Sie im Abschnitt „Aufgaben“ auf der rechten Seite nach der Erweiterungsaufgabe „ServiceNow DevOps-Sicherheitsergebnisse “.
      3. Geben Sie den ServiceNow-Endpunkt ein.
      4. Geben Sie die Sicherheitsergebnisattribute wie folgt ein.
        
            {
                "scanner": "Veracode", "applicationName": "", "buildVersion": "", "securityToolId": "" 
            }

        // Scanner: Scan-Tool und ist erforderlich, z. B. Veracode.

        // applicationName: Name Ihrer Veracode-Anwendung und ist erforderlich. Dieses Attribut gilt nur für Veracode.

        // buildVersion: Veracode-Scan-Name/Build-Version und ist optional. Dieses Attribut gilt nur für Veracode.

        // securityToolId: In ServiceNow integriertes Sicherheitstool (sys_id des integrierten Sicherheitstools) und optional.

      5. Wählen Sie Hinzufügen aus, um Ihrer Pipeline den anwenderdefinierten Aktionscode hinzuzufügen.
      Jenkins
      1. Navigieren Sie aus einer konfigurierten Pipeline zur Pipeline-Syntax.
      2. Wählen Sie in der Liste Beispielschritt den Schritt snDevOpsSecurityResult aus, und aktualisieren Sie die Werte für die Sicherheitsscan-Attribute im Schritt.
      3. Wählen Sie Pipeline-Skript generieren aus, um ein Snippet zu erstellen. Sie können den Ausschnitt kopieren und in die Pipeline einfügen.
        snDevOpsSecurityResult { 
        securityResultAttributes:{"scanner":"Veracode", "applicationName": "", "buildVersion": "", "securityToolId": ""}}

        // Scanner: Scan-Tool und ist erforderlich, z. B. Veracode.

        // applicationName: Name Ihrer Veracode-Anwendung und ist erforderlich. Dieses Attribut gilt nur für Veracode.

        // buildVersion: Veracode-Scan-Name/Build-Version und ist optional. Dieses Attribut gilt nur für Veracode.

        // securityToolId: In ServiceNow integriertes Sicherheitstool (sys_id des integrierten Sicherheitstools) und optional.

      GitHub-Aktionen
      1. Navigieren Sie zu Ihrer Workflow-YML-Datei.
      2. Suchen Sie im Abschnitt Marketplace auf der rechten Seite nach der anwenderdefinierten Aktion ServiceNow DevOps-Sicherheitsergebnisse.
      3. Fügen Sie Ihrer YML-Datei das folgende Snippet hinzu.
        
            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: Scan-Tool und ist erforderlich, z. B. Veracode.

        // applicationName: Name Ihrer Veracode-Anwendung und ist erforderlich. Dieses Attribut gilt nur für Veracode.

        // buildVersion: Veracode-Scan-Name/Build-Version und ist optional. Dieses Attribut gilt nur für Veracode.

        // securityToolId: In ServiceNow integriertes Sicherheitstool (sys_id des integrierten Sicherheitstools) und optional.

      Weitere Informationen finden Sie unter GitHub-Marketplace.
      Kabelbaum Führen Sie das generische Container-Image Docker aus, um das folgende Skript zu verwenden. Weitere Informationen finden Sie unter Implementieren Sie anwenderdefinierte Aktionen für Pipelines mit dem generischen Docker-Container-Image.
      - 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: {}
    2. Führen Sie die Pipeline aus, um die Ergebnisse der Sicherheitsprüfung abzurufen.