すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:セキュリティアーキテクチャの概要

最終更新日:Mar 26, 2026

Container Service for Kubernetes (ACK) は、ランタイムセキュリティ、信頼できるソフトウェアサプライチェーン、インフラストラクチャセキュリティという 3 つのディメンションにわたる階層的なセキュリティシステムを提供します。一部の機能はデフォルトで有効になっていますが、明示的な設定が必要な機能もあります。この概要では、各機能が対処する脅威を示し、詳細な設定ガイドへのリンクを提供します。

61

ランタイムセキュリティ

ランタイムセキュリティは、設定ミスのある Pod からアクティブな侵入の試みまで、ワークロードがデプロイされた後に発生する脅威をカバーします。

セキュリティ検査

設定ミスのある Pod テンプレートは、コンテナエスケープ攻撃の一般的な侵入経路です。開発者がワークロードが必要とする以上の権限を付与すると、攻撃者はその過剰な権限を悪用してコンテナから脱出する可能性があります。

ACK のセキュリティ検査機能は、実行中のワークロードの Pod 設定をスキャンし、リスクのある設定をリアルタイムで特定します。各スキャンの後、検査レポートにはフラグが立てられた各項目が詳述され、修正ガイダンスが提供されます。定期的な検査をスケジュールして、監査や傾向分析のために Simple Log Service の Logstore に結果を自動的に記録します。

詳細については、「検査機能を使用して ACK クラスターのワークロードにおけるセキュリティリスクを検出する」をご参照ください。

ポリシー管理

ACK は、Open Policy Agent (OPA) を Gatekeeper アドミッションコントローラーとして統合し、デプロイ時にセキュリティポリシーを強制します。ポリシーはワークロードがクラスターに到達する前に適用され、準拠していないアプリケーションが実行される前に自動的にブロックします。拡張機能には、ポリシーガバナンスのステータス監視、ログ収集、ログ検索が含まれます。

一般的な Kubernetes のセキュリティシナリオをカバーするために、さまざまなポリシーライブラリがプリインストールされています。生の OPA ルールを記述することなく、ACK コンソールで視覚的にポリシーを設定および管理できるため、セキュリティおよび運用保守チームの学習曲線を低減できます。

詳細については、「Pod セキュリティポリシーの設定」をご参照ください。

ランタイムのモニタリングとアラート

アドミッション制御を通過したワークロードであっても、ランタイムで侵害される可能性があります。ACK は Security Center のアラート機能および脆弱性検出機能と深く統合されており、以下の脅威に対する継続的なモニタリングとアラートを提供します。

  • 不正なイメージの読み込み

  • ウイルスや不正なプログラムの埋め込み

  • コンテナへの侵入

  • コンテナエスケープと高リスク操作

クラスター詳細ページでアクティブなアラートを表示し、インシデントに対応します。左側のペインで、[セキュリティ] > [セキュリティ監視] を選択します。

詳細については、「セキュリティ監視の使用」をご参照ください。

サンドボックスコンテナ

より強力な隔離を必要とするワークロード (信頼できないサードパーティのコード、マルチテナント環境、エラーに敏感なジョブ、またはパフォーマンスに敏感なワークロード) のために、サンドボックスコンテナは Docker ランタイムの代替手段を提供します。各アプリケーションをサンドボックス化された軽量仮想マシン内で専用カーネルと共に実行することで、リソースの隔離を強化し、セキュリティを向上させます。

サンドボックスコンテナは、標準コンテナと同じロギング、モニタリング、および弾性スケーリングのインターフェイスをサポートしているため、ランタイムを切り替えても運用体験は変わりません。

詳細については、「Sandboxed-Container の概要」をご参照ください。

TEE ベースのコンフィデンシャルコンピューティング

ワークロードが、基盤となるインフラストラクチャからでさえも機密性を保たなければならない機密データを処理する場合、ACK は高信頼実行環境 (TEE) ベースのコンフィデンシャルコンピューティングを提供します。TEE は、データのセキュリティ、整合性、機密性を保証するハードウェア暗号化されたエンクレーブです。TEE 内に保存されたデータは、外部アプリケーション、BIOS、オペレーティングシステム、カーネル、管理者、運用保守エンジニア、クラウドサービスプロバイダー、および CPU を除くハードウェアコンポーネントからはアクセスできません。

このハードウェアレベルの隔離により、アプリケーションアーキテクチャを変更することなく、データ漏えいのリスクを低減します。

詳細については、「TEE ベースのコンフィデンシャルコンピューティング」をご参照ください。

信頼できるソフトウェアサプライチェーン

サプライチェーン攻撃は、コードが本番環境で実行される前に、侵害されたベースイメージ、改ざんされたアーティファクト、または署名のないデプロイメントを通じて導入された脆弱性を悪用します。ACK は、イメージライフサイクル全体にわたってこれらのリスクに対処します。

イメージスキャン

Container Registry は、すべての Linux ベースのコンテナイメージを既知の脆弱性についてスキャンし、各脆弱性とその修正をリストしたレポートを生成します。スキャンエンジンは Security Center と統合されており、イメージ内のシステム脆弱性、アプリケーション脆弱性、および不正なサンプルの検出機能が追加されています。

イメージ署名

イメージ署名は、コンテンツ信頼メカニズムを使用して、イメージをそのパブリッシャーに暗号的に結びつけます。パブリッシャーは、Container Registry に保存されたデジタル署名でイメージに署名します。信頼できる認証局に対して署名が検証されたイメージのみをデプロイすることで、改ざんされた、または未知のイメージを実行するリスクを低減します。

詳細については、「kritis-validation-hook を使用してコンテナイメージの署名を自動的に検証する」をご参照ください。

クラウドネイティブアプリケーションデリバリーチェーン

Container Registry のデリバリーチェーン機能は、イメージのビルド、スキャン、グローバル同期、およびデプロイを単一の監査可能なパイプラインに接続します。コードを一度送信すると、パイプラインがイメージをビルドし、セキュリティスキャンを実行し、アーティファクトをリージョン間で配布し、デプロイします。各段階でカスタマイズ可能な詳細なセキュリティポリシーが適用されます。すべてのステップがログに記録されるため、ライフサイクル全体が観測可能で追跡可能になります。

これにより、別のツールを必要とせずに、開発パイプラインを DevOps から DevSecOps へと移行させます。

詳細については、「デリバリーチェーンの作成」をご参照ください。

インフラストラクチャセキュリティ

インフラストラクチャセキュリティは、クラスター自体、つまりデフォルトでどのようにセキュリティ強化されているか、ID がどのように管理されているか、そしてアクセスとアクティビティがどのように監査されているかをカバーします。

デフォルトのセキュリティ

ACK は、クラスターが引き渡される前に、ノードとコントロールプレーンコンポーネントにセキュリティ強化を適用します。デフォルトの保護には以下が含まれます。

  • コンポーネントイメージに重大な CVE がないこと:すべてのシステムコンポーネントイメージは、リリース前に CVE データベースに対して検証されます。

  • インバウンドアクセスの制限:各新規クラスターには、インターネットからの Internet Control Message Protocol (ICMP) パケットのみを許可するセキュリティグループが割り当てられます。インターネット経由の SSH アクセスはデフォルトで無効になっています。

  • NAT ゲートウェイ経由のアウトバウンドインターネット:NAT ゲートウェイを使用して、ACK クラスター内のノードのインターネットアクセスを有効にできます。これにより、インターネットアクセスが保護され、セキュリティリスクが低減されます。

  • 最小権限の RAM ロール:ACK マネージドクラスターのワーカーノードには、運用に必要な権限のみを持つ Resource Access Management (RAM) ロールが割り当てられます。

詳細については、「SSH を使用して ACK 専用クラスターのマスターノードに接続する」および「ACK はマネージド Kubernetes クラスターのワーカー RAM ロールの権限を削減します」をご参照ください。

ID 管理

クラスターコンポーネント間のすべての通信は、TLS を使用して暗号化および認証されます。ACK はコンポーネントの証明書を自動的に更新します。

クラスターへのアクセスは、特定の RAM ユーザーまたは RAM ロールにスコープされた kubeconfig ファイルを通じて制御されます。ACK コンソールまたは ACK API を介して kubeconfig ファイルを取得します。クラスターの認証情報は ACK によって維持されます。kubeconfig ファイルが侵害された場合は、不正アクセスを防ぐために直ちに取り消してください。

オプションで、クラスター作成時に [サービスアカウントトークンのボリュームプロジェクション] を有効にすることで、Pod が API サーバーに対して認証する方法を強化できます。

詳細については、「クラスターの kubeconfig ファイルのクエリ」、「クラスターの kubeconfig ファイルの取り消し」、および「サービスアカウントトークンのボリュームプロジェクションの有効化」をご参照ください。

詳細なアクセス制御

ACK は、すべての Kubernetes リソースに対してロールベースアクセス制御 (RBAC) を実装しています。ACK コンソールの[権限付与] ページで、RAM ユーザーまたは RAM ロールに名前空間レベルの権限を付与します。4 つの事前定義されたロールが、最も一般的なエンタープライズペルソナに対応しています。

  • 管理者

  • 運用保守エンジニア

  • 開発者

  • 制限付きユーザー

事前定義されたロール以外にも、カスタムクラスターロールの割り当て、単一の操作で複数のクラスターにわたる権限の付与、一度に複数の RAM ユーザーへの権限付与、または RAM ユーザーに RAM ロールを引き受ける権限を付与することができます。

ポリシーベースのアクセス制御については、[アドオン] ページから Gatekeeper コンポーネントをインストールします。Gatekeeper は OPA ポリシーをアドミッションコントローラーとして適用し、クラスターで作成または変更できるリソースをプログラムで詳細に制御します。

詳細については、「RAM ユーザーまたは RAM ロールに RBAC 権限を付与する」および「Gatekeeper」をご参照ください。

監査

ACK は Simple Log Service と統合して、3 つのカテゴリの監査ログをキャプチャします。

  • API サーバー監査ログ:クラスターに対して実行されたすべての操作を記録し、完全な監査証跡を提供します。[クラスター監査] ページでレポートを表示し、特定のリソースタイプに対するアラートを設定します。

  • Ingress トラフィック監査ログ:トラフィックパターン (ページビュー (PV)、ユニークビジター (UV)、リクエストの成功率と失敗率、レイテンシー) を視覚化します。Simple Log Service は、機械学習と時系列分析を適用して異常を自動的に検出します。

  • イベント監視ログ:クラスターイベントをキャプチャして、例外やセキュリティインシデントの診断をサポートします。

詳細については、「クラスター監査の操作」、「nginx-ingress-controller のアクセスログの分析と監視」、および「イベント監視」をご参照ください。

Secret の暗号化

Kubernetes Secret は、デフォルトで etcd 内で Base64 エンコードされていますが、これはエンコーディングであり暗号化ではありません。ACK Pro クラスターでは、Key Management Service (KMS) で作成されたキーを使用して保存時の Secret を暗号化し、etcd ストレージに直接アクセスされた場合でも Secret を保護する暗号化レイヤーを追加します。

詳細については、「KMS を使用して Kubernetes Secret を暗号化する」をご参照ください。