Google Cloud Platform(GCP)のセキュリティとは、Googleのクラウドインフラストラクチャサービスで実行されるアプリケーション、リソース、データを保護するためのプロセス、テクノロジー、標準を実装することを指します。
GCPとは?物理リソースと仮想リソースを介して世界中に分散され、Googleのデータセンターでホストされるクラウドコンピューティングサービスです。GCPユーザーが利用できるさまざまなサービスには、データ管理、ハイブリッド・マルチクラウドアーキテクチャ、AIと機械学習(ML)などがあります。
クラウド プラットフォームを使用する場合のクラウド セキュリティの捉え方には、責任共有モデルと呼ばれる、2つの視点があります。クラウド プロバイダーがクラウド環境とその境界のセキュリティ保護に取り組む方法と、顧客がそのクラウド環境内で実行されている運用のセキュリティ保護に取り組む方法です。
定義上、GCPのようなパブリッククラウドサービスは、パブリックインターネット経由で提供されます。したがって、適切な対策が講じられていない場合、機密性の高いミッションクリティカルなアプリケーションとデータに許可されたユーザーや脅威アクターがアクセスする可能性があります。
こうした「適切な対策」の実践はそう容易でないため、リソースの構成ミスや組織のセキュリティ態勢のギャップと弱点から非常に多くのデータ侵害につながる可能性があります。この問題に対処するために、Googleが提供しているものも含め、さまざまなベストプラクティスと標準が開発されています。
GCPのセキュリティが重要なのは、GCPが提供する多彩なサービス(世界中に分散されたソフトウェアとハードウェアが基盤)が、セキュリティの確保が難しい複雑なユーザー操作に利用されるためです。これらの操作には以下が含まれます。
最後に、Center for Internet Security(CIS)は最近、GCP Foundationベンチマークの更新版をリリースしました。これらのベンチマークは通常、規制上の推奨事項という形をとり、この例では、リソースの分離からコンピューティングやストレージに至る構成とポリシーを対象としています。要件ではありませんが、将来発生するかもしれないセキュリティ上の問題の軽減に大いに役立ちます。
データベースやコンテナの誤設定も、GCPセキュリティが重要な理由のひとつです。こうした欠陥は残念ながら非常に一般的であり、ストレージコンテナが脆弱な状態で露出したままとなる可能性があります。不適切な構成のクラウドデータサービスの予防、検出と修復は、GCPで運用を行う上でのセキュリティプロセスの重要な一部です。検知・対応ソリューションは、ユーザーの入力イベント、管理アクティビティ、GCP生成のログデータを収集して実行中のインスタンスとアカウントアクティビティを監視することで、潜在的なリスクを軽減する上で役立ちます。
GCPでの責任共有モデル(SRM)の活用とは?上述のように、クラウドプロバイダにはユーザーのワークロードが実行されるインフラストラクチャを保護する責任がありますが、ユーザーにはそのクラウドインフラストラクチャ内の機密ワークロード、リソース、データを保護する責任があります。
詳細はGartnerのクラウドセキュリティアーキタイプ実践ガイドをご覧ください。
Googleは次のように述べています。
「Google Cloud上のデータとワークロードを最適に保護する方法を決定する際には、責任共有モデルを理解することが重要です。責任共有モデルは、クラウドのセキュリティに関して必要なタスクと、これらのタスクがクラウドプロバイダによりどう異なるかを説明するものです。」
ユーザーがプロバイダの採用している責任共有モデルの種別を知るには、まず、実行すべきワークロードの種別を定義する必要があります。この情報を基にして、契約すべきクラウドサービスの種類を判断できます。GCPでは、以下のようなサービスが含まれます。
ハイブリッドクラウド環境やマルチクラウド環境における重要なポイントは、クラウドプロバイダの責任共有モデルについてDevOps人材を教育することです(AWSのバージョンについてはこちらを参照)。誰がどのような種類のセキュリティに責任を負うのかを把握することで、エラーと脆弱性が低減されます。
プラットフォームのインフラストラクチャを保護する責任はクラウドプロバイダにあることがわかりました。次に、顧客を支援し、顧客側のSRMを充足するためのGCPの包括的なセキュリティツールをいくつか見てみましょう。
資産の発見とインベントリ作成、脅威の防止、脅威の検知を支援するコマンドセンターで、特定の時点でデプロイされているリソースの把握のほか、誤設定やコンプライアンス違反の特定にも役立ちます。
ID・アクセス管理(IAM)を使用すると、ユーザー管理者は、特定のクラウド運用内の特定のリソースにアクセスできるユーザーを監視できます。監査機能により、組織レベルでの可視化と選別が可能となります。
キー管理サービス(KMS)により、暗号化の制御がユーザーに委ねられます。GoogleのKMS機能を使用すると、中央のクラウドサービスにおける暗号キー管理が可能となり、ユーザーが制御する対称キーや非対称キーを使用してデータを柔軟に暗号化できます。
クラウドのモニタリングとロギングは、GCPに不可欠なセキュリティツールです。ロギングへは一元化されたスイートからアクセスでき、アプリケーションデータ、ログデータ、Google Cloud内外の他のサービスからのデータを取り込むマネージドサービスです。モニタリングにより、GCP上で実行されているアプリケーションの健全性(指標、イベント、メタデータなど)が可視化されます。
GCPのWeb Security Scannerは、ユーザーのApp Engine、Kubernetes、Compute Engineウェブアプリケーションの脆弱性をチェックします。アプリケーションをクロールして、可能な限り多くのユーザー入力とイベントハンドラーをスキャンします。これは、ユーザーの既存の脆弱性スキャン作業を補完する追加サービスとして機能します。
ただし、多くの場合、ネイティブツールですべてを保護することはできず、管理が難しい場合があるため、スタンドアロンのクラウドセキュリティプロバイダが必要となります。
脆弱性リスクを軽減するだけでなく、コンプライアンスを常に良好な状態に保ち、DevSecOps組織を確かな知識ベースに基づいて確実に運営するために、いくつかのベストプラクティス手法を導入することをお勧めします。Googleは以下のプラクティスを推奨しています。
重層的なセキュリティアプローチの構築
多層防御アプローチを適用して、アプリケーションとインフラストラクチャの各レベルでセキュリティを実装し、各製品の機能を使ってアクセスを制限し、必要に応じて暗号化を構成します。
セキュアな分離システムの設計
柔軟性を最大化できるようシステムの設計を簡素化し、各コンポーネントのセキュリティ要件を文書化します。弾力性と回復力に配慮し、堅牢で安全なメカニズムを組み込みます。
機密性の高いタスクのデプロイメントの自動化
デプロイメントなどの管理タスクを自動化することで、ワークストリームから手作業を排除します。
セキュリティ監視の自動化
自動化ツールを使ってアプリケーションとインフラストラクチャを監視します。インフラストラクチャの脆弱性をスキャンし、セキュリティインシデントを検知するには、継続的インテグレーションと継続的デプロイメント(CI/CD)パイプラインで自動スキャンを使用します。
地域のコンプライアンス要件の充足
規制要件を満たすため、個人を特定できる情報(PII)の難読化や編集が必要となる場合があることに注意しましょう。可能であれば、コンプライアンスの取り組みを自動化します。
データレジデンシーと主権の要件の遵守
社内外の要件により、データの保管場所や処理場所の管理が求められる場合があります。これらの要件は、システム設計の目的、業界の規制上の懸念事項、国内法、税務上の影響、文化によって異なります。データレジデンシーとは、データがどこに保存されているかを示すものです。
セキュリティをシフトレフト
DevOpsとデプロイメントを自動化することで、組織は製品を提供する速度を向上させることができます。製品の安全性を確保するには、開発プロセスの最初からセキュリティプロセスを組み込むようにします。
2022年クラウド誤設定レポート:最新のクラウドセキュリティ侵害と攻撃の傾向