コンテンツにスキップ

Azure DevOps Serverでのローカルイメージスキャン設定

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

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

Section titled “イメージのローカルスキャンを設定する方法 ”
  1. Local Scanner Image設定ページに移動します
  2. 認証トークンを生成してコピーします。このトークンは一度しか表示されないのでご注意ください。
  3. このトークンはPipelineの設定で必要になります。

左側のナビゲーションから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'

ビルドとスキャンを別々のstageやjobに分けることもできます。ご自身のユースケースに最も適した例を使用し、必要に応じて調整してください。

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のチェックボックスをオンにします。保存してパイプラインを実行します。

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