ローカルコードスキャン用の AWS CodePipeline セットアップ
最終更新
役に立ちましたか?
Aikido Security Local Scanner は、Aikido Security のスキャンを自社環境内で実行できるツールであり、コードが社外に出ることはありません。スキャンはローカルで実行され、その結果は Aikido Security プラットフォームにアップロードされます。この構成により、レポート用途で Local Scanner を AWS CodePipeline に簡単に統合できます。
前提条件:Local Scanning を利用できるアカウントを作成済みであることを確認してください。 Local Scanning アカウントの作成に関する詳細情報.
このガイドでは、AWS CodePipeline と AWS CodeBuild を使用して AWS 上に CI パイプラインを作成します。パイプラインは、コンテナイメージ内で Aikido Security のローカルスキャナーを使用してセキュリティスキャンを実行します。
まず、スキャンを実行する CodeBuild プロジェクトを作成します。
CodeBuild に移動する
AWS コンソールを開く
CodeBuild に移動する
「ビルドプロジェクトを作成」をクリックする
aikido-security-scan プロジェクト。ソース: ソースなしを選択します。ソースは CodePipeline から提供されます。
環境:
イメージ: カスタムイメージ
コンピュート: EC2
環境タイプ: Linux コンテナ
イメージレジストリ: その他のレジストリ
外部レジストリ URL: public.ecr.aws/z1o3v2w5/aikidosecurity/local-scanner:latest

Buildspec:
version: 0.2
phases:
build:
commands:
- aikido-local-scanner scan . --apikey $AIKIDO_API_KEY --repositoryname MyRepo --branchname myDefaultBranch認証トークンを生成してコピーします。このトークンは一度しか表示できないことに注意してください。
このトークンをキー AIKIDO_API_KEY で AWS Secrets Manager に追加し、aikido/local-scanner-api-key などの名前を付けます。完全なシークレット ARN を控えておいてください。すぐに必要になります。
CodeBuild プロジェクトは IAM サービスロールで実行されます。このロールには、シークレットを読み取る権限が必要です。次のポリシーを追加し、ARN はあなたのシークレットの ARN に置き換えてください
CodeBuild プロジェクトに戻り、「編集」>「環境」>「追加設定」をクリックします。環境変数を追加します:
名前: AIKIDO_API_KEY
値: aikido/local-scanner-api-key
タイプ: Secrets Manager
値の形式は <secret-name>:<json-key> です。CodeBuild はビルド時にこれを自動的に解決し、値を環境変数に注入します。詳細は AWS ドキュメント を参照してください。
スキャンしたいリポジトリ用のパイプラインをセットアップします。
デフォルトブランチでの変更をトリガーするソースステージを追加します。ビルドステージでは、ビルドプロバイダーとして AWS CodeBuild を選択し、 aikido-security-scan ビルドプロジェクトを追加します。これにより、パイプラインは先ほど作成したビルドジョブに接続されます。
最初のスキャンが完了したら、Aikido Feed に移動して結果を確認できます。リポジトリが作成され、スキャンによるすべての結果が含まれています。
最終更新
役に立ちましたか?
役に立ちましたか?
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"secretsmanager:GetSecretValue"
],
"Resource": "arn:aws:secretsmanager:<region>:<account-id>:secret:aikido/local-scanner-api-key-*"
}
]
}