クラウドネイティブ・セキュリティとは、クラウド環境で構築されデプロイされるアプリケーションのために特別に設計された一連のセキュリティ対策と技術を指します。ネットワークベースの保護に依存しがちな従来のセキュリティアプローチから、アイデンティティとアクセス管理、 コンテナセキュリティと ワークロードセキュリティ、継続的な監視と対応に重点を置いたアプリケーション重視のアプローチへの考え方の転換が必要です。
クラウドネイティブ・セキュリティ・アプローチでは、セキュリティは後付で追加するのではなく、アプリケーションとインフラに一から組み込まれます。そのためには、自動化されたセキュリティ管理、 DevOpsプロセス、クラウド環境の複雑で動的な性質を管理できる熟練したセキュリティ専門家の組み合わせが要件となります。クラウドネイティブセキュリティの目標は、クラウド環境に特有の脅威や脆弱性から保護すると同時に、規制や標準へのコンプライアンスを確保することです。
クラウド ネイティブ テクノロジーは、従来のソフトウェア開発モデルをすべて時代遅れにし、モノリシックなアプリケーション アーキテクチャの複雑さを取り除き、現代の開発パイプラインに根本的な変化をもたらしました。この新しいパラダイムは多くの利点をもたらしますが、同時に新たな課題ももたらします。その中でも、クラウドネイティブのセキュリティ問題ほど頑固で、危険で、複雑なものはほとんどありません。
クラウド・ネイティブ・アプリケーションのセキュリティに関する課題のほとんどすべては、クラウド・ネイティブ・アプリケーションの性質そのものに起因しています:モノリシック・アプリケーション・アーキテクチャが比較的静的であるのに対し、クラウドネイティブ・アプリケーション・アーキテクチャは非常に動的です。 コンテナや サーバーレス 機能を使用することで、クラウド・アプリケーションは常に縮小と拡張を繰り返し、オンプレミスとオフプレミスを行き来し、さらには複数のクラウドプラットフォームを行き来することになります。その結果、セキュリティー面で多くの課題が生じます。
マイクロサービス・アーキテクチャ
マイクロサービス(Microservices)アーキテクチャは 、アプリケーションを小規模で疎結合なサービスの集合体として構成するソフトウェア開発アプローチです。各マイクロサービスは特定のビジネス機能を担当し、独立して開発、デプロイ、スケールできます。このモジュラーアプローチにより、クラウド ネイティブアプリケーションの俊敏性、柔軟性、耐障害性が向上します。
セキュリティの観点からは、マイクロサービス・アーキテクチャは、サービス間の通信の安全性、データの完全性の確保、複数のサービスにまたがる機密データの保護に関する課題をもたらします。
コンテナ化
コンテナ化とは、アプリケーションとその依存関係を、コンテナと呼ばれる軽量で分離されたユニットにカプセル化するプロセスです。コンテナは 効率的で一貫性のあるランタイム環境を提供し、異なるインフラプラットフォーム間で一貫してアプリケーションを実行できます。また、コンテナはポータブルであるため、開発、テスト、本番など、異なる環境間でのアプリケーションの移動が容易になります。コンテナイメージ内の脆弱性、コンテナの分離、安全なコンテナオーケストレーションの必要性などです。
Kubernetesによるオーケストレーション
Kubernetesは、コンテナ化されたアプリケーションのデプロイ、スケーリング、管理を自動化する、広く採用されているコンテナオーケストレーションプラットフォームです。コンテナのライフサイクルを管理するための堅牢なフレームワークを提供し、アプリケーションの望ましい状態が維持されるようにします。セキュリティの観点から、Kubernetesはクラスタのセキュリティ、アクセス制御、監視に関する課題を提示します。
以前は、アプリケーション・セキュリティ・チームは、物理的なデータ・センターで稼働する一定台数のサーバを、固定された境界を形成するハードウェア・ファイアウォールで保護するだけでよかったのです。これはクラウドネイティブアプリケーションでは通用しません。セキュリティチームは、オンプレミスとオフプレミスの両方で、複数のクラウドで運用され、ある日には数百万のワークロードインスタンスにスケールアップし、次の日には数百にスケールダウンする可能性のあるアプリケーションの周囲に、静的なファイアウォールを確立することはできません。
クラウド ネイティブ アプリケーション アーキテクチャの弾力性と複雑性により、セキュリティ異常やインシデントの原因を迅速に診断することは困難です。セキュリティチームにとって、脅威を診断して対処するスピードは、脅威に対処するために使用する特定のツールと同じくらい重要であるためです。
アプリケーションの他の部分に影響を与えることなく、個々のサービスを簡単にオフラインにして変更したり置き換えたりできるようになったため、 DevOps チームは新しいリリースやアップデートを従来よりもはるかに頻繁に行うことができます。しかし、セキュリティチームがかつて使用していた手作業によるプロビジョニングとポリシー管理のプロセスは、最新のリリース・サイクルにはもはや対応できません。
より効果的なクラウドネイティブ・セキュリティ・ソリューションを実装する前に、セキュリティチーム、運用チーム、開発チームが クラウドネイティブ・セキュリティの重要な要素を理解する必要があります。これには以下が含まれます:
最近、クラウドネイティブのセキュリティ戦略が数多く登場し、その有効性はさまざまです。これには以下が含まれます:
クラウド・ネイティブ環境におけるセキュリティ・インシデントの監視と検出には、ログ分析、侵入検知・防御、セキュリティ情報・イベント管理(SIEM)などのツールを使用します。また、セキュリティ・インシデントに対する自動応答の実装、定期的なインシデント対応テストとトレーニングの実施も含まれます。
クラウドにとらわれないセキュリティ・プラットフォームが 、セキュリティ戦略をどのように簡素化するか、詳細をご覧ください。