日本語

Local Image ScanningのAzure DevOps Server設定

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

イメージのローカルスキャンを設定する方法

1. 認証トークンを取得する

  1. Local Scanner Imageセットアップページに移動します
  2. 認証トークンを生成してコピーします。このトークンは一度しか表示できないことに注意してください。
  3. このトークンはPipelineのセットアップで必要になります。

2. Local Scannerを実行する

左側のナビゲーションでPipelinesに移動し、_Pipelines_をクリックして、_New Pipeline_または_Create Pipeline_を選択します。Configureステップで、_Starter Pipeline_を選択します。

trigger:
- master

pool:
  vmImage: ubuntu-latest

steps:
- script: docker build -t my-image .
  displayName: 'Build docker image'  
- script: docker run --rm -v /var/run/docker.sock:/var/run/docker.sock aikidosecurity/local-scanner image-scan my-image --apikey $(AIKIDO_API_KEY)
  displayName: 'Run Aikido scan'

ビルドとスキャンを別々のステージやジョブに分けることもできます。ユースケースに最も適した例を使用し、ニーズに合わせて調整してください。

trigger:
  - master

pool:
  vmImage: ubuntu-latest

stages:
- stage: Build
  displayName: Build Docker Image
  jobs:
  - job: BuildAndSave
    displayName: Build and Save Docker Image
    steps:
      - script: |
          docker build -t my-image .
          docker save my-image -o $(Pipeline.Workspace)/my-image.tar
        displayName: 'Build and save Docker image to TAR'
      - task: PublishPipelineArtifact@1
        inputs:
          targetPath: '$(Pipeline.Workspace)/my-image.tar'
          artifactName: 'my-image-tar'
        displayName: 'Publish Docker image TAR as artifact'

- stage: Scan
  displayName: Scan Docker Image
  dependsOn: Build
  jobs:
  - job: RunScanner
    displayName: Scan with Aikido Local Scanner
    steps:
      - task: DownloadPipelineArtifact@2
        inputs:
          artifact: 'my-image-tar'
          path: '$(Pipeline.Workspace)'
        displayName: 'Download the saved image TAR'
      - script: |
          docker run --rm -v $(Pipeline.Workspace):$(Pipeline.Workspace) aikidosecurity/local-scanner image-scan $(Pipeline.Workspace)/my-image.tar --image-name my-image --apikey $(AIKIDO_API_KEY)
        displayName: 'Scan Docker image with Aikido'


次に、APIキーをシークレット変数として追加します。右上のVariablesをクリックし、新しい変数を追加します。名前にAIKIDO_API_KEYを入力します。_Keep this value secret_チェックボックスをオンにします。その後、パイプラインを保存して実行します。

3. スキャン結果を確認する

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