> For the complete documentation index, see [llms.txt](https://help.aikido.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.aikido.dev/docs/docs-ja/kuraudosukyan/kubernetes-cluster-scanning/kubernetes-in-cluster-image-scanning.md).

# Kubernetesクラスター内のイメージスキャン

このページでは、Aikidoがデプロイ先のKubernetesクラスター内のコンテナイメージをどのようにスキャンできるかを説明します。

{% hint style="info" %}
この機能は以下のみで利用できます **Pro** および **Advanced** プランです。 **お問い合わせ** 詳細はチャットでお問い合わせください。
{% endhint %}

Aikido Kubernetes 統合では、コンテナレジストリを Aikido に接続せずに、Kubernetes クラスター内のコンテナイメージをスキャンできます。

## クラスタ内イメージスキャンの利点

* **すべてをカバー** クラスターにデプロイされたすべてのイメージ（パブリックイメージを含む）の。
* **リアルタイムスキャン**: Pod が新しいイメージで起動されるたびに、Aikido がそれをスキャンし、検出結果は数分以内に Aikido フィードに表示されます。
* **イメージは環境外に出ません**: Aikido エージェントは SBOM だけをプラットフォームに送信します。
* **帯域幅の削減**: Aikido エージェントはまず Kubernetes ノードにキャッシュされたイメージの使用を試み、見つからない、またはアクセスできない場合にのみレジストリから取得します。この点は、トラフィック量に応じて課金するコンテナレジストリを利用する組織に特に重要です。

## はじめに

Kubernetes クラスターのオンボーディング中にイメージスキャンを有効にできます

<figure><img src="https://715870456-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKbzcQGrx7UtrG0nPZZ7%2Fuploads%2Fgit-blob-75d22d362309ebcf617d0469fac2017f952cad00%2Fimage.png?alt=media" alt="Aikido Kubernetes cluster onboarding with image scanning enabled" width="375"><figcaption><p>イメージスキャンを有効にした Kubernetes クラスターのオンボーディング</p></figcaption></figure>

また、 `sbomCollector.enabled=true` を Helm チャートのインストール時に設定する必要があります。

起動後は、Aikido の [コンテナページ](https://app.aikido.dev/containers).

<figure><img src="https://715870456-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FyKbzcQGrx7UtrG0nPZZ7%2Fuploads%2Fgit-blob-4d6aef829bab681d1c9876a0f74615e7af6a31ee%2Fimage.png?alt=media" alt="Container images reported via the in-cluster Kubernetes scanning"><figcaption><p>Aikido で報告されたコンテナ</p></figcaption></figure>

#### イメージスキャンの動作を選択

{% hint style="info" %}
このスキャン動作は、同じイメージの複数のバージョン/タグを実行している場合に関係します（例： `busybox:1.37` および `busybox:1.36`）をクラスター内で実行している場合です。
{% endhint %}

クラスタ内イメージスキャンを有効にすると、Aikido が実行中のイメージを追跡する方法を選択できます：

* **実行中の各イメージにつき 1 つのタグをスキャン**

これはよりシンプルなオプションです。クラスター内でイメージリポジトリごとにコンテナを 1 つだけ保持したい場合に選択してください。同じイメージの複数のタグが実行されている場合、Aikido はそのイメージの 1 つのコンテナを追跡し、最も最近デプロイされたバージョン/タグをスキャンします。

* **実行中のすべてのイメージタグをスキャン**

Kubernetes のワークロードごとに実行中のイメージを追跡したい場合にこのオプションを選択してください。同じイメージが複数のワークロードに異なるタグでデプロイされている場合、各タグは Aikido 上で別々のコンテナとして表示されます。

Kubernetes クラスターのオンボーディング中にスキャン動作を設定でき、後でクラスター設定で更新できます。

### イメージの取得方法

エージェント（別名 SBOM コレクター）は、ローカルのノードキャッシュからイメージの取得を試みます（これが、デフォルトで root ユーザーとして DaemonSet として実行され、containerd と Docker のソケットをマウントできる理由です）。

SBOM コレクターがノードキャッシュからイメージを見つけられない場合（またはランタイムのソケットをマウントできない場合）、対応するレジストリからイメージを取得します。プライベートレジストリへのアクセスには、ほとんどの認証方式（ノード IAM ロール、imagePullSecrets、ワークロード ID）をサポートしています。必要に応じたアクセス設定の詳細については、 [Helm チャートの README](https://github.com/AikidoSec/helm-charts?tab=readme-ov-file#in-cluster-image-scanning).

{% hint style="info" %}
**SBOM コレクターのシークレットアクセス**

デフォルトでは、SBOM コレクターはクラスター内のすべてのシークレットにアクセスできます。これは、 `imagePullSecret` が使用される場合にアクセスを許可するためだけのものです。あなたは [シークレットの名前を指定できます](https://github.com/AikidoSec/helm-charts/blob/main/kubernetes-agent/values.yaml#L75) レジストリのアクセス資格情報を含むシークレットの名前を指定することで、SBOM コレクターに付与されるアクセスを最小限に抑えられます。
{% endhint %}

## よくある質問

* **イメージの新しいバージョン/タグをデプロイするとどうなりますか？**

選択したイメージスキャンの動作によります。

を使用する場合は `実行中の各イメージにつき 1 つのタグをスキャン`Aikido はイメージリポジトリごとにコンテナを 1 つだけクラスター内に保持します。同じイメージの新しいタグがデプロイされると、Aikido は追跡中のそのコンテナを最新のデプロイ済みバージョンに更新します。

を使用する場合は `実行中のすべてのイメージタグをスキャン`Aikido は Kubernetes ワークロードごとにイメージを追跡します。あるワークロードが `busybox:1.32` を `busybox:1.33`に移行すると、Aikido は対応する Aikido コンテナを更新してスキャンし、異なるタグで実行されている他のワークロードは引き続き別々のコンテナとして表示されます。

* **このスキャン方法は、Aikido が提供する他のコンテナ関連機能の恩恵を受けられますか？**

はい。クラスタ内スキャンでスキャンされたイメージは、ノイズの削減、リポジトリへのリンク、AutoFix、Aikido Images など、Aikido が提供するすべての機能の恩恵を受けます。

* **特定のイメージを除外できますか？**

クラスタ内スキャンは、クラスタのオンボーディング時に設定した除外 namespace を尊重します。スキャンされた namespace から特定のイメージを除外する必要がある場合は、 [Aikido でそのコンテナを無効化することをおすすめします](https://app.aikido.dev/settings/container-image-registry).

* **Aikido が、もう存在しないコンテナに対してタスクトラッカーのチケットを作成し続けています。どうすればよいですか？**

これは、デプロイプロセスで既存のもののイメージを更新するのではなく新しい Kubernetes Deployment を作成している場合や、CronJob で管理されていない頻繁な Kubernetes Job を実行している場合に起こりえます

このようなケースでは、 `実行中の各イメージにつき 1 つのタグをスキャン` スキャン動作は、イメージリポジトリごとにコンテナを 1 つに保つことで、より整理されたインベントリを提供し、チケットの作成とクローズを避けられます。

OpenShift クラスターでもよく見られます。そこでは多くのワークロードが同じイメージリポジトリの異なるタグを使用していることがあり、たとえば `openshift/release`.

* **特定の Kubernetes namespace に対するコンテナの問題だけを表示できますか？**

はい。Aikido は、コンテナが実行されている Kubernetes namespace を [コンテナラベル](https://help.aikido.dev/getting-started/manage-teams-and-applications/add-labels-to-resources#manage-labels-on-a-container). ラベルの形式は `k8s/namespace:<namespace>`. これにより、 [これらのラベルに基づいてフィードをフィルタリングできます](https://help.aikido.dev/getting-started/manage-teams-and-applications/add-labels-to-resources#filter-the-issue-feed-by-labels).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.aikido.dev/docs/docs-ja/kuraudosukyan/kubernetes-cluster-scanning/kubernetes-in-cluster-image-scanning.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
