Local Image ScanningのAzure DevOps Server設定
Aikido Security Local Scannerは、お使いの環境内でAikido Securityのスキャンを実行できるツールで、データが社外に出ることはありません。スキャンはローカルで実行され、その結果がAikido Securityプラットフォームにアップロードされます。このセットアップにより、レジストリに送信される前に、ご自身のマシン上またはCI/CDパイプライン内で任意のイメージをローカルでスキャンできます。
イメージのローカルスキャンを設定する方法
1. 認証トークンを取得する
- Local Scanner Imageセットアップページに移動します
- 認証トークンを生成してコピーします。このトークンは一度しか表示できないことに注意してください。
- このトークンは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に作成され、スキャンのすべての結果が含まれています。