Google Cloudとコンテナの継続的なセキュリティ
本文の内容は、2022年2月21日現在における、Sysdig Cloud Native Learning Hub上のGCP Cloud & Container Security Best Practices(https://sysdig.com/learn-cloud-native/cloud-security/gcp-security/) を元に日本語に翻訳・再構成した内容となっております。
どんなクラウドでもセキュリティを確保するのは大変です。ある意味では、Google Cloud Platform(GCP)のセキュリティ確保は特に難しいと言えます。
それは、GCP自体に欠陥があるからではありません。GCPは、何百万ものワークロードに対応する、定評のある堅牢で信頼性の高いクラウドプラットフォームです。むしろ、GCPが「ビッグ3」と呼ばれるパブリッククラウドプラットフォームの中で最も新しいという事実が、セキュリティの確保を難しくしています。GCP専用に設計されたセキュリティツールは少なく、GCPのセキュリティベストプラクティスに関するアドバイスも少ないのが現状です。
また、GCPは、AzureやAWSなどのクラウドとは技術的に異なる点があります。例えば、GCPはKubernetesに大きく依存しており、マネージド・コンテナ・サービス(Google Kubernetes Engine)に加えて、ハイブリッド・クラウド管理フレームワーク(Anthos)の基盤として使用していることが大きな違いとなっています。
以上のことを踏まえて、この記事では、GCPのクラウドセキュリティについて知っておくべきことを説明します。ここでは、Google Cloudにおける共有責任、Googleがクラウドワークロードに提供するネイティブなセキュリティコントロール、Google Cloudでホストされているアプリケーションとデータを保護するためのベストプラクティスについて説明します。
すべての主要なパブリック・クラウドと同様に、GCP は責任共有モデルを採用しています。このモデルでは、一部のセキュリティ責任はお客様が負い、一部は Google Cloud が負います。その他は共有されます。
具体的なセキュリティ責任の取り決めは、クラウドのサービスや構成によって異なりますが、詳細をお知りになりたい場合は、Googleが87ページの文書ですべてを説明しています。一般的に、GCPでの責任分担は以下のようにまとめられます。
繰り返しになりますが、GCPは他の主要なパブリッククラウドと同様に安全です。しかし、GCP上のワークロードのセキュリティを確保することが特に困難な場合があることは、注目に値します。
1つの課題は、先に述べたように、GCPはAzureやAWSに比べてほとんどの点で歴史の浅いクラウドであるということです。また、歴史的に見ても、GCPの市場シェアは低くなっています。これらの要因は、クラウド・エコシステム全体が、他のクラウドほどGCPに対応していないことを意味しています。最近のクラウド・ネイティブなセキュリティ・プラットフォームの多くはGCPを完全にサポートしていますが、AWSやAzureにしか対応していないものもあります。また、IAM(Identity and Access Management)フレームワークなど、GCPのネイティブ・セキュリティ・ツールの使用経験は、AWSやAzure上の同等のサービスの使用経験に比べて少ないエンジニアが多いようです。
GCPはまた、AWSやAzureよりもマルチクラウドやハイブリッドクラウドのユースケースに注力していることは間違いありません。AWSやAzureは市場を支配しているため、外部環境との互換性はそれほど重要ではありません(ただし、AWSとAzureはどちらもハイブリッドやマルチクラウドの統合機能を提供しています)。
この傾向は、例えば、GCPが主要なパブリッククラウドとして初めてハイブリッドクラウドフレームワーク「Anthos」を提供し、事実上あらゆる種類のオンプレミスインフラと連携していることからも裏付けられている。AzureやAWSに相当する「Azure Stack」や「AWS Outposts」は、ほとんどの点でAnthosよりも制限が厳しくなっています。
セキュリティの観点から見ると、GCPのハイブリッドやマルチクラウドへの傾倒は、GCPユーザーがGCPのワークロードを外部環境と統合する可能性が高いという意味で、課題となります。これにより、ワークロードのセキュリティを確保するために、GCPのネイティブ・セキュリティ・ツールだけに頼ることが難しくなります(通常、サードパーティ環境はサポートされていません)。また、GCPを外部リソースに接続するネットワークインフラやAPIのセキュリティに関連する課題も増えています。
これらの課題はすべて解決可能ですが、Google Cloudの最も効果的なセキュリティ戦略を計画するためには、GCPセキュリティの特別な要件を認識することが重要です。
一般的に、Google Cloudのセキュリティ・リスクを管理するには、他のクラウドのセキュリティを確保するのと同じアプローチが必要です。
description: My custom role description.
etag: BwVkBkbfr70=
includedPermissions:
- iam.roles.get
- iam.roles.list
- storage.buckets.get
- storage.buckets.list
name: projects/my-project-id/roles/myCompanyAdmin
stage: ALPHA
title: My Company Admin
さらに、IAMポリシーを監査して、セキュリティ侵害につながるような設定ミスを検出します。
これらの実践方法に加えて、Google Cloud の特殊なセキュリティ課題に対処するための追加措置を講じることもできます。次のような対策を検討してください。
GCPセキュリティにおいてKubernetesセキュリティが中心的な役割を果たしていることについて多くを語ってきました。しかし、Google Cloud上で動作するKubernetesやコンテナを実際にどのようにセキュリティするのでしょうか?
その質問に対する完全な答えはこの記事の範囲を超えていますが、従うべき基本的なベストプラクティスは以下の通りです。
GCPのセキュリティは複雑なテーマですが、比較的基本的なものに分解することができます。まず、あらゆる種類のクラウド環境で実施されている、セキュリティとコンプライアンスのベストプラクティスに従うことから始まります。その上で、Kubernetesを中心としていることや、マルチクラウドやハイブリッドクラウドのアーキテクチャの一部となる傾向があることなど、GCPの特徴に対応したセキュリティ管理を実施する必要があります。