Google Cloud でデベロッパーのためのセキュリティ ガードレールを構築
Google Cloud Japan Team
※この投稿は米国時間 2022 年 8 月 13 日に、Google Cloud blog に投稿されたものの抄訳です。
世界中の組織が、クラウドを使ってイノベーションを促進しています。デベロッパーは、新しいアイデアのテスト、フェイル ファスト、スケーラビリティの自動化を行うための原動力として、クラウド テクノロジーを使用しています。クラウド上でイノベーションを実現するには、実験を行い、失敗が許容される自由さと柔軟性が必要です。セキュリティを最優先事項とする多くの組織にとって、懸念事項は「どのようにしてセキュリティとイノベーションのバランスを実現するか」ということです。
Google Cloud Professional Services Organization のセキュリティ プラクティスのメンバーとして、私たちは日常的にお客様を支援し、このような懸念をはじめ多くのクラウド セキュリティの課題を解決しています。Cloud PSO セキュリティ プラクティスのグローバル チームはさまざまな業界で活動し、Google Cloud のセキュリティに関する専門知識を直接お客様に提供しています。専門としているのはクラウド セキュリティの分野で、クラウド ネイティブ コンプライアンスやゼロトラスト アーキテクチャ、アプリケーションのセキュリティ、データ保護、セキュリティ オペレーションなどです。
私たちは、Google Cloud のネイティブ機能と業界のベスト プラクティスを使ってお客様が予防的なセキュリティ管理を構成できるよう支援しており、この投稿では、その例をいくつかご紹介します。予防的なセキュリティ管理は、セキュリティ「ガードレール」とも呼ばれ、定義されたセキュリティ ポリシーの範囲内で、デベロッパーが柔軟にイノベーションを実現できるようにします。構成ミスや脆弱性を、悪用される前に防止できます。
Infrastructure as Code: 安全なデプロイのために
組織のセキュリティの課題をテクノロジーだけで解決するのは難しいかもしれません。成熟したクラウド セキュリティ プログラムは、再現可能かつ運用性に優れたプロセスと、自動化された管理の組み合わせです。デベロッパーが安全な基礎の上でイノベーションを実現できるように、お客様には、デベロッパーが新しい GCP プロジェクトをリクエストしてワークロードを登録するための、一元化されたプロセスを設計することをおすすめしています。これにより、セキュリティ チームは定義されたセキュリティ パラメータを使って、適切に GCP プロジェクトを構成できます。プロセスの再現性と整合性を実現するために、Google Cloud Project Factory を使った自動化によって、使い方を定めたプロジェクトを一元的にデプロイします。
ガードレールの目的は、本番環境のプラットフォームに影響を与える前にセキュリティ違反を防止することです。セキュリティ上の問題を事前に阻止することは、効果的なリスク軽減策になり得ます。従来、組織は煩雑なチェンジ マネジメント プロセスを使って、手動でデプロイを管理し、セキュリティ対策を評価していました。Google Cloud では、お客様と協力して Infrastructure as Code(IaC)パイプラインを設計することで、セキュリティ ポリシー チェックを定義し、デプロイ前に自動的に対策を検証しています。一般的な設計パターンでは、Terraform Validator などの「Policy as Code」ツールを使い、CI / CD パイプラインの一部としてデベロッパーにセキュリティ ガードレールを適用します。この設計により、お客様は特定の要件またはリスク許容度に基づいて、セキュリティの制約を構成できます。
GCP のネイティブ機能を使った予防的管理の構築
Google Cloud は、業界で最も信頼されるクラウドを提供し、組織全体での予防的なセキュリティ管理を可能にするネイティブなプラットフォームと機能を提案できるよう、日々取り組んでいます。そのために、セキュリティ チームと協力して基盤となるアーキテクチャを設計し、要件を満たすセキュリティ サービスを提案しています。デベロッパーのためのセキュリティ ガードレールを実装するために、特に次の Google Cloud サービスがよく使用されています。
組織のポリシー - 組織のリソースのデプロイ方法を一元管理し、プログラムによって制御できます。セキュリティ チームは、使用可能な制約をリストから選択してリソース構成方法を制限し、潜在的な構成ミスの発生を防止できます。たとえば、組織のポリシーの制約
constraints/storage.publicAccessPrevention
では、デベロッパーが Cloud Storage バケットを公開することを防ぎます。VPC Service Controls - GCP リソースを分離し、細かいルールでデータフローを制限することにより、許可されていないデータ移動を防止します。VPC Service Controls によって、コンテキスト ベースの境界セキュリティが可能になり、API ベースのサービスを保護できます。VPC Service Controls の境界内で保護対象のサービスの作業を行っているデベロッパーは、管理者が定義したルールに従う必要があります。これにより、データの引き出しリスクを軽減できます。たとえば、VPC Service Controls を構成して、BigQuery へのアクセスをデベロッパーが指定したロケーションやデバイスに制限することができます。
Cloud IAM - きめ細かいアクセス制限を可能にすることで、デベロッパーが特定の Google Cloud リソースにのみアクセスできるようにします。セキュリティ チームは最小権限の原則を適用して、過剰な権限を持つロールが生じるのを防ぎ、プラットフォーム全体の攻撃対象領域を減らすことができます。
これらのネイティブ GCP サービスは Infrastructure as Code パイプラインによってサポートされています。デベロッパーを一貫して保護するためには、前述のマネージド IaC パイプラインを使って、予防的なセキュリティ サービスを構成およびデプロイする必要があります。IaC をデプロイするための再現可能な自動化されたパターンを構築することで、デベロッパーのプロセスを簡素化し、定義されたセキュリティ ガードレールで環境を保護できます。
安全な Google Cloud のデプロイメント構築の詳細については、Security Foundation のブループリントをご覧ください。
- Google、クラウド セキュリティ マネージャー Jaffa Edwards