# ローカルイメージスキャンのためのGitHub Actionセットアップ

Aikido Security Local Scannerは、お使いの環境内でAikido Securityのスキャンを実行できるツールで、データが社外に出ることはありません。スキャンはローカルで実行され、その結果がAikido Securityプラットフォームにアップロードされます。このセットアップにより、イメージをレジストリに送信する前に、ご自身のマシン上やCI/CDパイプライン内で任意のイメージをローカルにスキャンできます。

## イメージのLocal Scanningをセットアップする方法 <a href="#how-to-set-up-local-scanning-for-images" id="how-to-set-up-local-scanning-for-images"></a>

### 1. 認証トークンを取得する <a href="#id-1-get-your-authentication-token" id="id-1-get-your-authentication-token"></a>

1. [Local Scanner Imageセットアップページ](https://app.aikido.dev/settings/container-image-registry/add/localscan)にアクセスします
2. 認証トークンを生成してコピーします。このトークンは一度しか表示されないことに注意してください。
3. プロジェクトでLocal Scannerを実行する際に、このトークンを引数 `--apikey` として追加します。
4. Settings > Secrets and variables > Actions に移動し、このトークンをGitHub Secretsに保存します。

![APIキーのエントリと追加オプションが表示されたGitHubリポジトリのシークレット画面。](https://help.aikido.dev/_assets/a64e08057aef/github-action-setup-for-local-image-scanning_0d26611d-cd32-4.png)

### 2. Local Scannerを実行する <a href="#id-2-running-the-local-scanner" id="id-2-running-the-local-scanner"></a>

あとは、`.github/workflows` フォルダに新しいYAMLファイルを追加し、イメージに対してスキャナーを実行するだけです。以下にいくつかの例を示します。&#x20;

イメージのビルドとスキャン:

```yaml
name: Aikido Docker build and scan

on:
  push:
    branches:
      - main

jobs:
  build-and-scan:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3

      - name: Build Docker image
        run: docker build -t your-local-image-name .

      - name: Run Aikido image scan
        run: |
          docker run --rm \
            -v /var/run/docker.sock:/var/run/docker.sock \
            aikidosecurity/local-scanner \
            image-scan your-local-image-name \
            --apikey ${{ secrets.AIKIDO_API_KEY }}
```

レジストリにプッシュする前にリリースゲート付きスキャンを実行するには、次のようなワークフローを実行できます:

```yaml
name: Aikido Docker build and scan

on:
  push:
    branches:
      - main

jobs:
  build-and-scan:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3

      - name: Build Docker image
        run: docker build -t your-local-image-name .

      - name: Run Aikido image scan
        run: |
          docker run --rm \
            -v /var/run/docker.sock:/var/run/docker.sock \
            aikidosecurity/local-scanner \
            image-scan your-local-image-name \
            --apikey ${{ secrets.AIKIDO_API_KEY }} --fail-on critical
```

`--fail-on` で指定する重大度は、ニーズに合わせて調整してください。

### 4. スキャン結果を確認する <a href="#id-4-check-your-scanning-results" id="id-4-check-your-scanning-results"></a>

最初のスキャンが完了したら、Aikido Feedにアクセスして結果を確認できます。指定した名前のイメージがAikido UIに作成され、スキャンのすべての結果が含まれています。
