> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corgea.app/llms.txt
> Use this file to discover all available pages before exploring further.

# コードとしてのインフラストラクチャ(IaC)スキャン

> IaC スキャンは、デプロイ前にインフラコード内のセキュリティ設定ミスや露出したシークレットを自動的に検出します。Kubernetes、Terraform、Docker、CloudFormationなどの他の IaC ツールの設定ファイルを分析し、セキュリティリスク、コンプライアンス違反、ベストプラクティスの逸脱を特定します。

## 概要

* **機能**:IaCスキャンは、本番環境に到達する前にインフラストラクチャ設定ファイルの構成ミス、ポリシー違反、ハードコードされたシークレットを特定します。Kubernetesマニフェスト、Terraformファイル、Dockerfile、CloudFormationテンプレートなどのIaC形式をスキャンし、重大度評価と修正ガイダンスを含む詳細な結果を提供します。

* **対象ユーザー**:DevOpsエンジニア、クラウドアーキテクト、セキュリティチーム、Infrastructure as Codeを管理するプラットフォームエンジニアを対象としています。クラウドネイティブの手法やGitOpsワークフローを採用し、インフラストラクチャのデプロイでコンプライアンス要件を満たす必要があるチームに特に有用です。

## 主な特徴と利点

* **包括的なIaCカバレッジ**:Kubernetes、Docker、Terraform、CloudFormation、Azure ARMテンプレート、Helmチャートなど複数のプラットフォームとフォーマットにわたるインフラコードをスキャンします

* **デュアル検知能力**:
  * **誤設定検出**:安全でない構成、欠如したセキュリティ制御、過剰な権限、コンプライアンス違反を特定
  * **シークレット・ディテクション**:インフラコードに埋め込まれたハードコード化された認証情報、APIキー、トークン、機密データを検出します

* **リッチ・ファインディング・インテリジェンス**:詳細情報を提供します:
  * 構成問題の説明とセキュリティへの影響
  * 重大度評価(重大、高、中、低)
  * 影響を受けるリソースおよびファイル位置
  * 修復ガイダンスおよびベストプラクティスの推奨

* **スマート検出**:リポジトリ内のIaCファイルを自動で識別し、ファイルタイプに基づいて適切なセキュリティチェックを適用します

## サポートされたインフラストラクチャタイプ

<AccordionGroup>
  <Accordion title="Kubernetes">
    **ファイルパターン**: `*.yml`, `*.yaml`, `*.json`

    以下のような問題を検出します:

    * 特権コンテナと安全でない機能
    * リソース制限やセキュリティコンテキストの欠如
    * マニフェスト内の露出したシークレット
    * ネットワークポリシーの誤設定
  </Accordion>

  <Accordion title="Docker">
    **ファイルパターン**: `Dockerfile`、 `Containerfile`

    以下のような問題を検出します:

    * ルートユーザーとして実行
    * 健康チェックの欠如
    * ビルド引数に露出したシークレット
    * 安全でないベースイメージ
  </Accordion>

  <Accordion title="テラフォーム">
    **ファイルパターン**: `*.tf`, `*.tf.json`, `*.tfvars`, `tfplan`, `*.tfplan`

    以下のような問題を検出します:

    * 公開可能なクラウドリソース
    * 暗号化されていないストレージおよびデータベース
    * 過度に寛容なIAMポリシー
    * ログ記録や監視の欠如
  </Accordion>

  <Accordion title="クラウドフォーメーション">
    **ファイルパターン**: `*.yml`, `*.yaml`, `*.json`

    以下のような問題を検出します:

    * オープンセキュリティグループ
    * 暗号化されていないS3バケット
    * CloudTrailのログミッシング
    * セキュリティの低いAWSリソース構成
  </Accordion>

  <Accordion title="Azure ARM Templates">
    **ファイルパターン**: `*.json`

    以下のような問題を検出します:

    * パブリックブロブロックコンテナ
    * 暗号化無効化
    * 弱いネットワークセキュリティルール
    * 診断設定の欠如
  </Accordion>

  <Accordion title="ヘルムチャート">
    **ファイルパターン**: `*.yaml`, `*.tpl`, `*.tar.gz`

    Kubernetesのマニフェストチェックに似たHelmテンプレートの問題を検出します
  </Accordion>
</AccordionGroup>

## セットアップ手順

<Note>IaCスキャンはデフォルトで有効になっていません。この機能を有効にするにはサポートに連絡してください。</Note>

<Info>プロジェクトには、インフラスキャンを可能にするために少なくとも1つのサポートされているIaCファイルが含まれている必要があります。</Info>

### 設定ステップ

<Steps>
  <Step title="ファイルの検証IaC">
    プロジェクトに上記の形式のいずれかで対応可能なインフラストラクチャファイルが含まれていることを確認してください
  </Step>

  <Step title="スキャンスコープの設定">
    IaCスキャンを完全スキャンに含めるか部分的に含めるかを選びます
  </Step>

  <Step title="通知の設定">
    重大な設定ミスや露出したシークレットに対してアラートを設定する
  </Step>
</Steps>

## 使用ガイド

### 主要なワークフロー

1. **自動検出**:システムはリポジトリ内のIaCファイルを自動で識別します
2. **構成解析**:ファイルタイプに基づくセキュリティチェックおよびコンプライアンスルールを適用します
3. **誤設定検出**:セキュリティ問題、ポリシー違反、ベストプラクティスの逸脱を特定する
4. **シークレット検出**:ハードコードされた認証情報や機密情報のスキャン
5. **問題作成**:各検出ごとに追跡可能なセキュリティ問題を作成します
6. **レポート**:優先順位を付けた修復ガイダンスを含む詳細な脆弱性レポートを生成します

### よくある誤設定の例

<CodeGroup>
  ```yaml Kubernetes - Insecure Container theme={null}
  # ❌ Insecure
  apiVersion: v1
  kind: Pod
  spec:
    containers:
    - name: app
      image: myapp:latest
      securityContext:
        privileged: true  # High severity issue
  ```

  ```dockerfile Docker - Running as Root theme={null}
  # ❌ Insecure
  FROM ubuntu:latest
  RUN apt-get update && apt-get install -y myapp
  CMD ["myapp"]  # Running as root
  ```

  ```hcl Terraform - Public S3 Bucket theme={null}
  # ❌ Insecure
  resource "aws_s3_bucket" "data" {
    bucket = "my-data-bucket"
    acl    = "public-read"  # Critical severity issue
  }
  ```
</CodeGroup>

### 重大度の内訳

<Warning>**重大な**:即時対応が必要、機密データの露出、または不正アクセスの許可</Warning>

* **高い**:デプロイ前に対処すべきであり、重大なセキュリティリスクがあります
* **中**:定期的なメンテナンスで対応し、中程度のセキュリティ影響を重視します
* **低**:ベストプラクティスの改善、即時リスクの最小化

## ベストプラクティス

<Tip>IaCスキャンをCI/CDパイプラインに統合し、デプロイ前に問題を検出できます。</Tip>

* **セキュリティ**シフト左:デプロイ前だけでなく開発中にインフラコードをスキャンする
* **ポリシーをコード**として:組織固有のセキュリティポリシーを定義し、施行する
* **バージョン管理**:監査トレイルのためにすべてのインフラコードをバージョン管理に保存
* **最小権限**:すべてのリソースに対して最小限必要な権限を設定する
* **暗号化**:すべての機密リソースで、保存時と転送時の暗号化を有効にする
* **定期レビュー**:定期的にIaCのセキュリティポリシーを見直し更新
* **シークレット管理**:ハードコーディングの代わりにシークレット管理ツール(Vault、AWS Secrets Manager)を使用してください
* **コンプライアンスアライメント**:検出結果を関連するコンプライアンスフレームワーク(CIS、SOC2など)にマッピング

## トラブルシューティング

<AccordionGroup>
  <Accordion title="問題は見つかりませんでしたが、 IaC ファイルは存在します">
    **解決策**:IaCファイルがサポートされているフォーマットで、有効な設定構文が含まれているか確認します

    **確認**:ファイルが破損していないか、解析エラーが発生していないかを確認します
  </Accordion>

  <Accordion title="重大度「低」の検出結果が多すぎます">
    **解決策**:まず重大かつ重大な問題に焦点を当て、その後に軽度の項目に取り組む

    **確認**:組織のリスク許容度に基づいて、重大度のしきい値を調整することを検討します
  </Accordion>

  <Accordion title="誤検知の誤構成">
    **解決策**:具体的な構成コンテキストを見直す - 一部の検出結果はあなたのユースケースに当てはまらないかもしれません

    **確認**:意図的な設定には、抑制コメントまたはポリシー例外を使用します
  </Accordion>

  <Accordion title="スキャンですべての IaC ファイルを検出できない">
    **解決策**:ファイル拡張子がサポートされているパターンと一致しているか確認してください

    **確認**:ファイルが無視対象のディレクトリ（.gitignore）に含まれていないかを確認します
  </Accordion>
</AccordionGroup>

## 関連機能

* [シークレットスキャン](secret-scanning) - すべてのファイル形式にまたがる専用のシークレット検出
* [依存関係スキャン(SCA)](sca) - サードパーティ依存関係の脆弱性スキャン
* [AIネイティブ SAST (BLAST)](blast) - ソースコードのアプリケーションセキュリティテスト
