マルチクラウドセキュリティとは
クラウドプロバイダーは、インフラストラクチャの管理とアプリケーションの展開にパラダイムシフトをもたらしました。クラウドの導入の初期段階では、1つのクラウドプロバイダーで企業のすべてのビジネス要件に十分に対応できていました。現在は、別のクラウドプロバイダーが提供する機能やサービスを逃したくないため、ちょっとした機能のメリットを受けるために一度に複数のクラウドプロバイダーが必要になっています。
また、他のクライドプロバイダーから提供されるより安価で柔軟性があり、信頼性の高い新しいサービスオファリングも常に存在します。これは、競争の激しい市場と継続的で広範な技術開発による当然の結果です。さらに、複数のクラウドでアプリケーションを実行するとリスクを低減できます。あるクラウドプロバイダーで災害が発生しても、アプリケーションは別のクラウドプロバイダーで実行し続けることができるため、これはビジネスの信用を保つために非常に貴重です。
ただし、マルチクラウドアーキテクチャの管理は、非常に複雑です。これは各クラウドプロバイダーが、アクセス、リソース、管理、およびAPIにおいて大きく異なっていることが理由です。また、複数のクラウドのインフラストラクチャ、アプリケーション、データを保護するために、マルチクラウドセキュリティを実装する必要があります。
このブログでは、マルチクラウドセキュリティの課題について詳しく説明します。また、クラウドネイティブアプリケーションを保護するベストプラクティスも紹介し、それらを複数のクラウドプロバイダーで実行し、メリットを受けることができるようにします。
マルチクラウドセキュリティの課題
マルチクラウドはスケーラビリティと柔軟性を向上させますが、より複雑になり、セキュリティ上の新たな課題も伴います。単一のクラウドプロバイダーのツール、またはオンプレミスのデータセンター用のカスタムBashスクリプトでは、マルチクラウドアーキテクチャの課題を克服することはできません。
このため、マルチクラウドの世界に入る前に、これらの課題について準備し理解する必要があります。
ユーザーアクセス制御
アイデンティティ/アクセス管理 (IAM) は、すべてのクラウドプロバイダーにとって不可欠であり、ロールを割り当て、クラウドリソースへのアクセス権を付与できます。AWSまたはAzureを初めて導入する場合、アイデンティティ/アクセス管理 (IAM) またはAzure RBACでアクセス許可の階層とロールを作成するために数時間、場合によっては数日間かかることになります。IDフェデレーション、多要素認証、外部コンプライアンス要件などの考慮するべきさまざまな側面があるため、複数のクラウドプロバイダー間で同じアクセスレベルの同じポリシーを手動で維持することはほぼ不可能です。
例えば、開発者がKubernetesクラスターでデプロイメントステータスを確認するための標準ポリシーがあります。ただし、読み取り専用モードでのKubernetesクラウドサービスへのアクセスは、Azure KubernetesサービスとAmazon Elastic Kubernetesサービスでは全く異なります。マルチクラウド運用を成功させセキュリティを確保するには、適切な権限でユーザーアクセスを制御する一元的な外部プラットフォームが必要です。
設定エラー
クラウド運用において、設定エラーが最も一般的な人的エラーです。設定エラーは主に、誤った値の設定、不適切なファイルの使用、または不正な環境変数セットでの実行などで発生します。保守と設定が必要なパラメーターが多数あるため、経験豊富な開発者や運用者でも、このような人的エラーを犯してしまいます。
これらのエラーにより、データ侵害、クラウドリソースへの不要なアクセス、機能停止、さらには完全なクラスター全体の削除にもつながる可能性があります。マルチクラウド戦略を導入する場合、チームはより多くの設定を管理し、正しい設定を使用していることを確認する必要があります。この理由により、自動化ツールと設定管理ツールは、人的エラーに関連するリスクの低減のために必須です。
データガバナンス
データは、ユーザー、製品、価格、注文などのビジネスデータの重要な性質を考慮すると、大多数の組織にとって最も価値のあるアセットです。データガバナンスの実践は、プライバシーとセキュリティを向上させるためにクラウドの機密データに対するユーザーのアクセス権を規制するために必要です。
さらに、ほとんどの企業にとってEU一般データ保護規則 (GDPR) のようなセキュリティ規制の準拠を維持することが不可欠です。マルチクラウドデプロイメントでは、アプリケーションとデータを分散します。つまり、そのデータの場所を追跡する必要があります。また、さまざまなクラウドプロバイダー間のアクセスポリシーを合理化し、すべての変更を追跡し続ける必要があります。
オブザーバビリティ
クラウドシステムのオブザーバビリティとは、分散アプリケーションの全体的なステータスを収集することです。複数のノード、データセンター、リージョンに分散されたマイクロサービスアプリケーションからの情報を収集することは、すでに複雑なタスクになっています。各クラウドプロバイダーは、内臓のモニタリング機能を提供していますが、これらの機能は、自社サービスの範囲に限定されています。
例えば、AWS RDSでデータベースを実行する場合、AWSモニタリングプランでメトリックを監視できます。ただし、AWS EKSで実行しているKubernetesクラスターにカスタムアプリケーションを展開する場合、カスタムモニタリングソリューションを設計し、実装する必要があります。さらに、マルチクラウド環境ではより複雑になります。この場合、異なるクラウドプロバイダーやインフラストラクチャからメトリックを収集し、一元化する必要があります。
共有セキュリティ
共有セキュリティは、クラウドプロバイダーが一部のサービスのセキュリティを確保し、セキュリティチームが他のサービスをタントするアプローチです。例えば、AWS共有責任モデルでは、AWSクラウドサービスを実行しているハードウェア、ソフトウェア、ネットワーク、ツールを保護することは、AWSに責任があると強く主張しています。Azureは、同様のモデルに従っており、物理ホスト、ネットワーク、データセンターに対して責任を負うとしています。
使用している各クラウドプロバイダーについて、責任の所在について正確に把握し、マルチクラウド環境で同じセキュリティレベルを確保する必要があります。
マルチクラウドセキュリティのベストプラクティスとは
マルチクラウド環境の導入時に従う必要のある周知のベストプラクティスがあります。
- 自動化の使用:クラウド運用でのあらゆるプロセス(インフラストラクチャ運用、アプリケーションの展開とアップグレードなど)を自動化します。これは、マルチクラウド環境のステータスを追跡し、人的エラーを最小限に抑えるための唯一の方法です。
- セキュリティポリシーの同期:クラウド全体で認証、承認、ネットワークポリシーを同じレベルに保ちます。つまり、複数のクラウドプロバイダーに適用できる汎用的な定義を作成して使用する必要があります。
- 総合的なモニタリングの作成:さまざまなモニタリングシステムを統合して、異なるクラウドプロバイダーで実行されているインフラストラクチャ、ノード、サービス、およびアプリケーションの総合的なビューを作成します。これは、アラートの作成や、人的介入を最小限に抑える自己修復方法の実装とともに不可欠な要素です。
- マルチクラウドコンプライアンスの確保:提供されているサービスを統合し、独自のセキュリティ手法を実装し、インフラストラクチャ全体で同じレベルのコンプライアンスに確実に準拠するようにします。クラウドプラットフォームには異なるレベルのコンプライアンス認証とセキュリティ機能があるため、コンプライアンスに準拠することは非常に重要です。
まとめ
現在は、クラウドネイティブなマイクロサービスアプリケーションが複数のクラウド環境に展開される非常にダイナミックな時代です。適切なセキュリティはビジネスにとって重大ですが、容易なことではありません。過去のツールやプラットフォームは、柔軟性、拡張性、俊敏性という点で十分ではありません。このため、複数のプロバイダーのさまざまなクラウドサービスを確保できるクラウドネイティブなセキュリティプラットフォームが必要です。
クラウドストライクのクラウドセキュリティ製品は、ベストプラクティスを実装し、このブログに記載されている課題に対処します。プラットフォームは統一されたクラウドセキュリティを提供し、複数のクラウドプロバイダーから確実かつスケーラブルに脅威を検知できます。例えば、CrowdStrike Servicesを使用して、クラウドプラットフォームのセキュリティを確保しながら、Falcon Horizon™クラウドセキュリティポスチャ管理 (CSPM) により設定ミスを防ぐことができます。また、Kubernetesで実行されているワークロードとコンテナでは、CrowdStrikeコンテナセキュリティとFalconクラウドワークロード保護を使用して、アプリケーション層を保護できます。
この完全なプラットフォームは、マルチクラウド環境に必要なクラウドネイティブなセキュリティに焦点を当てています。また、わずか数分で展開できます。