このサンプル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