パイプラインで Veracode スキャンを構成する
Azure DevOps、Jenkins、GitHub、GitLab、または Harness パイプラインで Veracode スキャンを構成します。
パイプラインの任意のステージで Veracode スキャンを構成でき、スキャンの詳細は対応するステージから DevOps 変更速度管理に取得されます。Azure DevOps または GitHub Actions オーケストレーション ツールを使用している場合は、パイプラインにカスタム アクション コードを常に追加する必要があります。Jenkins を使用していて、パイプラインに既に Veracode セキュリティスキャンステップがある場合は、パイプラインにカスタムアクションコードを追加する必要はありません。Veracodeセキュリティスキャンステップに waitForScan: true があることを確認します。これは、システムがスキャン情報を取得するために必要です。
GitLab ツール用に Veracode を構成する場合は、汎用 Docker コンテナイメージを使用して Veracode セキュリティステップを追加するか、「 セキュリティツールとのデータ連携 GitLab 」トピックで指定された手順を実行できます。
ハーネスパイプラインの場合、汎用Dockerコンテナイメージを使用してのみVeracodeスキャンを構成できます。詳細については、「汎用 Docker コンテナイメージを使用したパイプラインのカスタムアクションの実装」を参照してください。
- パイプラインのステップに移動し、カスタムアクションを追加します。
Azure DevOps - パイプライン.ymlファイルに移動します。
- 右側の [ タスク ] セクションで、 ServiceNow DevOps セキュリティ結果 拡張タスクを検索します。
- ServiceNow エンドポイントを入力します。
- セキュリティ結果属性を次のように入力します。
{ "scanner": "Veracode", "applicationName": "", "buildVersion": "", "securityToolId": "" }scanner:スキャンツールで、Veracode などの必須です。
applicationName:Veracode アプリケーションの名前。必須です。この属性は Veracode にのみ適用されます。
buildVersion:Veracode スキャン名/ビルドバージョンで、オプションです。この属性は Veracode にのみ適用されます。
securityToolId:ServiceNow にオンボーディングされたセキュリティツール (オンボーディングされたセキュリティツールのsys_id) 。オプションです。
- [ 追加 ] を選択して、カスタム アクション コードをパイプラインに追加します。
Jenkins - 構成されたパイプラインからパイプライン構文に移動します。
- [サンプルステップ] リストから snDevOpsSecurityResult ステップを選択し、ステップのセキュリティスキャン属性の値を更新します。
- [ パイプラインスクリプトを生成] を選択してスニペットを作成します。スニペットをコピーしてパイプラインに貼り付けることができます。
snDevOpsSecurityResult { securityResultAttributes:{"scanner":"Veracode", "applicationName": "", "buildVersion": "", "securityToolId": ""}}scanner:スキャンツールで、Veracode などの必須です。
applicationName:Veracode アプリケーションの名前。必須です。この属性は Veracode にのみ適用されます。
buildVersion:Veracode スキャン名/ビルドバージョンで、オプションです。この属性は Veracode にのみ適用されます。
securityToolId:ServiceNow にオンボーディングされたセキュリティツール (オンボーディングされたセキュリティツールのsys_id) 。オプションです。
GitHub Actions - ワークフロー.ymlファイルに移動します。
- 右側の [マーケットプレイス ] セクションで、[ ServiceNow DevOps セキュリティ結果 ] カスタムアクションを検索します。
- 次のスニペットを.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:スキャンツールで、Veracode などの必須です。
applicationName:Veracode アプリケーションの名前。必須です。この属性は Veracode にのみ適用されます。
buildVersion:Veracode スキャン名/ビルドバージョンで、オプションです。この属性は Veracode にのみ適用されます。
securityToolId:ServiceNow にオンボーディングされたセキュリティツール (オンボーディングされたセキュリティツールのsys_id) 。オプションです。
馬具 汎用 Docker コンテナイメージを実行して、次のスクリプトを使用します。詳細については、「汎用 Docker コンテナイメージを使用したパイプラインのカスタムアクションの実装」を参照してください。 - 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: {} - パイプラインを実行してセキュリティスキャン結果を取得します。