Defender CLI の CI/CD の例 (プライベート プレビュー)

このサンプルGitHub Actionsワークフローは、実行時に CLI Defenderダウンロードし、環境変数として資格情報を渡し、ファイル システム スキャンと AI スキャン送信の両方を実行します。 これをベースラインとして使用し、トリガー、パス スコープ、シークレット名をリポジトリの標準に合わせて調整します。

Important

資格情報の値をソース管理にコミットしたり、ワークフロー ログに含めたりしないでください。 パイプラインエラーを回避するために、シークレットを定期的にローテーションし、期限切れになる前に置き換えます。

必要な資格情報を取得し、パイプライン シークレットとして構成する手順については、「 CI/CD の資格情報を構成する」を参照してください。

name: Defender ASPM scan
on: [workflow_dispatch]

permissions:
  contents: read
  id-token: write
  security-events: write

jobs:
  scan:
    runs-on: ubuntu-latest
    env:
      DEFENDER_ASPM_TENANT_ID:     ${{ secrets.DEFENDER_ASPM_TENANT_ID }}
      DEFENDER_ASPM_CLIENT_ID:     ${{ secrets.DEFENDER_ASPM_CLIENT_ID }}
      DEFENDER_ASPM_CLIENT_SECRET: ${{ secrets.DEFENDER_ASPM_CLIENT_SECRET }}
    steps:
      - uses: actions/checkout@v4
      - name: Download Defender CLI
        run: |
          curl -fL -o defender \
            "https://cli.dfd.security.azure.net/public/v2/latest/Defender_linux-x64"
          chmod +x defender
      - run: ./defender scan fs .                            # will run filesystem scans: open source dependencies, secrets, IaC misconfigurations, etc.
      - run: ./defender scan ai-scan ai submit .             # runs MDASH