Kubernetes セキュリティとは

URL をコピー

Kubernetes (K8s または「kube」とも呼ばれる) はオープンソースのコンテナ・オーケストレーション・プラットフォームで、コンテナ化されたアプリケーションのデプロイ、管理、スケーリングを自動化します。Kubernetes は、Linux コンテナをクラスタにまとめ、アプリケーション・プログラミング・インタフェース (API) を使ってコンテナ化されたマイクロサービスを接続します。Kubernetes のデプロイメントに関わるあらゆるレイヤーやサービスに脆弱性が存在する可能性があるため、Kubernetes クラスタのセキュリティ確保のプロセスは複雑なものになりかねません。 

Kubernetes セキュリティに対して、コンテナイメージとコンテナランタイムのセキュリティに主眼を置いたコンテナ中心のアプローチを取るチームもあれば、Kubernetes からコンテキストを取り込み、Kubernetes の組み込みの制御を使用して、アプリケーション開発のライフサイクル全体でセキュリティに関するリスクベースのベストプラクティスを実装するという広範なアプローチを取る、Kubernetes ネイティブセキュリティを選択するチームもあります。Kubernetes ネイティブセキュリティは、Kubernetes RBAC ポリシーの設定ミス、安全でない Kubernetes コントロールプレーン・コンポーネント、Kubernetes シークレットの誤用など、Kubernetes 特有のリスクや脆弱性にも対処します。

コンテナ化と Kubernetes には、コンテナセキュリティの問題に関連するリスクの対処に役立つセキュリティ上の利点が複数組み込まれています。以下に例を示します。

  • ランタイムで発見されたセキュリティ問題を含むコンテナは、稼働中にアップデートやパッチが適用されるのではなく、構築段階で修正されて再デプロイされます。不変性と呼ばれるこの特長は、コンテナの挙動をより予測しやすくし、異常な動作を検知できるようにします。 
  • ネットワークポリシーで Pod や Pod のグループをセグメント化し、アドミッション・コントローラーでポリシーを適用することで、ガバナンスを強化します。 
  • ロールベースのアクセス制御 (RBAC) によって、ユーザーやサービスアカウントに特定の権限を割り当てることができます。
  • Kubernetes シークレットは、暗号化キーのような機密データをより安全に保護することができます。

しかし、Kubernetes はセキュリティ・プラットフォームではないため、チームはリスク評価を運用し、Kubernetes 環境の各レイヤーおよびコンテナとアプリケーションのライフサイクル全体のあらゆる段階で、脆弱性に対処する必要があります。Kubernetes のセキュリティを効果的に行うには、ビルド、デプロイ、ランタイムの各フェーズでベストプラクティスを実施しつつ、利用可能な場合は Kubernetes ネイティブのセキュリティ制御を活用する必要があります。

 

オープンソース・コンテナ・テクノロジーのリーダーである Red Hat は、お客様が Kubernetes セキュリティのベストプラクティスに関する知識を深め、コンテナの実装をより安全なものにするお手伝いをします。チームが K8s のセキュリティに関する懸念をより効率的に特定して対処できるように、Red Hat は、コンテナのライフサイクルにセキュリティを組み込み、DevOps チームがプロダクション対応のアプリケーションを構築およびデプロイできるようにする Kubernetes ネイティブのソリューションを提供します。

StackRox が作成し、2021 年に Red Hat が買収した KubeLinter は、Kubernetes デプロイメントの構成ミスとプログラミングエラーを特定する、オープンソースの静的解析ツールです。KubeLinter は一連のテストを実行して、Kubernetes の設定を分析し、エラーを特定し、セキュリティのベストプラクティスに沿わないものに対して警告を生成します。 

Red Hat Service Interconnect は、デフォルトでクラスタやクラウド全体でスケーリング可能な組み込みのセキュリティを備え、サービス間の信頼できる通信リンクを提供します。また、Service Interconnect はレガシー、コンテナ、Kubernetes プラットフォーム全体での柔軟な開発を可能にし、開発者に次世代のビジネスアプリケーションの構築、モダナイゼーション、デプロイメントに関する選択肢を提供します。

Red Hat® Advanced Cluster Security for Kubernetes (ACS) は、クラウドネイティブ・アプリケーションの構築、デプロイ、実行をより安全に行えるようにします。ACS は、セルフマネージド型またはフルマネージド型の SaaS ソリューションとして提供されます。主要なクラウドおよびハイブリッド環境で、コンテナ化されたワークロードを保護し、DevOps および InfoSec チームがセキュリティの運用、運用コストの削減、開発者の生産性の向上を実現できるようにします。

関連資料

記事

ステートフルとステートレス

あるものがステートフルかステートレスかは、別の何かとの通信の状態が記録される期間と、その情報をどのように保存する必要があるかによって決まります。

記事

Quarkus とは

Quarkus は、Java 仮想マシン (JVM) およびネイティブコンパイルのために作成された Kubernetes ネイティブの Java スタックで、Java をコンテナに最適化します。

記事

サーバーレスとは

サーバーレスは、開発者がサーバーを管理する必要なくアプリケーションを構築および実行できるようにするクラウドネイティブ開発モデルです。

クラウドネイティブ・アプリケーションの詳細はこちら

製品

統合されたテスト済みのサービス一式を備えたエンタープライズ・アプリケーション・プラットフォームであり、ユーザーの選ぶインフラストラクチャを使ってアプリケーションを市場に投入するために活用できます。

リソース

トレーニング

無料のトレーニング

Developing Cloud-Native Applications with Microservices Architectures