
Dockerイメージを分析し、脆弱性をスキャンするサービス
重要なお知らせ
2023年現在、Anchore Engineはメンテナンスを終了しています。将来のバージョンはリリースされません。ユーザーは Syft および Grype の使用を推奨します。
コンテナスキャンとコンプライアンスのためのサポート付き商用ソリューションにご興味のある方は、デモを予約 して、SBOM管理、脆弱性管理、コンプライアンス管理など、Anchore Enterpriseの幅広いエンタープライズ機能をご確認ください。
概要
Anchore Engineは、コンテナイメージの検査、分析、認定のための集中サービスを提供するオープンソースプロジェクトです。Anchore EngineはDockerコンテナイメージとして提供され、スタンドアロンで、またはKubernetes、Docker Swarm、Rancher、Amazon ECSなどのオーケストレーションプラットフォーム上で実行できます。
環境にAnchore Engineをデプロイすると、Docker V2互換のコンテナレジストリからコンテナイメージがダウンロードされ、分析され、脆弱性データベースに対して評価されます。
過去のドキュメントは Anchore Documentation で入手できます。
Anchore Engineには、RESTful APIを介して直接アクセスするか、Anchore CLI を使用してアクセスできます。
サポートされているオペレーティングシステム
サポートされているパッケージ
Anchore Engineを始めるにはいくつかの方法があります。docker-compose、Helm、その他の方法を使用したクイックスタートや本番環境へのフルインストールに関する最新情報については、以下を参照してください。
Anchore Engineは Docker Image として配布されており、DockerHubから入手できます。
完全なクイックスタートガイドは ドキュメント を参照してください。
docker(およびdocker-compose)がインストールされたシステムでAnchore Engineのインストールを迅速に立ち上げるには、次の簡単な手順に従ってください。
curl https://engine.anchore.io/docs/quickstart/docker-compose.yaml > docker-compose.yaml
docker-compose up -d
エンジンが起動して実行されたら、CLIを使用してシステムとの対話を開始できます。
Anchore CLI は、Anchore Engineを制御および操作するための簡単な方法です。
Anchore CLIは、Pythonのpipコマンドを使用してインストールするか、Anchore Engine CLI コンテナイメージからCLIを実行することでインストールできます。コードやその他のインストールオプション、使用法については、GitHub上の Anchore CLI プロジェクトを参照してください。
デフォルトでは、Anchore CLIは認証なしで http://localhost:8228/v1 のAnchore Engineに接続しようとします。 ユーザー名、パスワード、サーバーのURLは、コマンドライン引数としてAnchore CLIに渡すことができます。
--u TEXT ユーザー名 例: admin
--p TEXT パスワード 例: foobar
--url TEXT サービスURL 例: http://localhost:8228/v1
これらのパラメータを呼び出しのたびに渡す代わりに、環境変数として設定することもできます。
ANCHORE_CLI_URL=http://myserver.example.com:8228/v1
ANCHORE_CLI_USER=admin
ANCHORE_CLI_PASS=foobar
イメージをAnchore Engineに追加します。
anchore-cli image add docker.io/library/debian:latest
イメージが 'analyzed' 状態になるまで待ちます。
anchore-cli image wait docker.io/library/debian:latest
Anchore Engineで分析されたイメージを一覧表示します。
anchore-cli image list
イメージの概要とサマリー情報を取得します。
anchore-cli image get docker.io/library/debian:latest
フィードを一覧表示し、少なくとも1つの脆弱性データフィードの同期が完了するまで待ちます。最初の同期には時間がかかる場合があります(20~30分)。その後は差分のみがマージされます。
anchore-cli system feeds list
anchore-cli system wait
イメージの脆弱性スキャン結果を取得します。
anchore-cli image vuln docker.io/library/debian:latest os
イメージに含まれるオペレーティングシステムパッケージを一覧表示します。
anchore-cli image content docker.io/library/debian:latest os
外部API定義(ユーザー向けサービス)については、External API Swagger Spec を参照してください。Anchore Engineが動作している場合は、ブラウザで http://:8228/v1/ui/ にアクセスしてSwaggerを確認することもできます(注:埋め込みSwagger UIブラウザを正しく表示するには、末尾のスラッシュが必要です)。
各サービスは独自のAPIを実装しており、すべてのAPIはSwagger/OpenAPI仕様で定義されています。各APIは anchore_engine/services/<servicename>/api/swagger ディレクトリにあります。
Anchore CLIとAnchore Engineの使用に関する詳細は、Anchore Engine Documentation を参照してください。
このリポジトリは2020年11月に Black を使用して再フォーマットされました。このコミットは非常に多くのファイルに影響を与えたため、git blame を使用する際にはローカル環境で無視できます。このコミットを無視するには、git-blameが貢献者情報を無視するためのコミットリストとして提供されたファイル .git-blame-ignore-revs を使用するように設定する必要があります。
以下のコマンドをこのソースツリーのルートから実行して、提供されたファイルを使用するようにローカルのgit設定を行ってください。
git config blame.ignoreRevsFile .git-blame-ignore-revs