GCP環境のセキュリティにはSCCを活用!!基礎を解説します # GoogleCloudセキュリティ

今回の解説は「GCP環境を守るセキュリティサービスSCC」についての基礎解説です。また、本記事はクラスメソッド DevOps・セキュリティ Advent Calendar 2023年12/12の記事になります。
2023.12.13

概要

Security Command Center(以下SCC)の主な役割は、Google Cloud環境のセキュリティ全般を一元的に監視/制御することです。

また、既存のGoogle CLoudのセキュリティ機能と統合し、監視用のダッシュボードなども作成することができます。(Cloud ArmorやBinaryAuthoraization...etc)

今回実演していくのは、無料で使用できるSecurity Command Center Standardになりますので、できることは限定的になります。

ただ、Security Command Center Premiumとなると、月額制の課金形態もあり、少し料金も高いため、まずはStandardからが初めると料金的なミスマッチは起こりにくいかと思います。

プラン

有料と無料のティア

SCCには、スタンダードティアプレミアムティアの2つのサービスティアがあり、それぞれプロジェクトレベルまたは組織レベルで有効化できます。

課金はプレミアムティアにのみ適用され、プロジェクトレベルでは従量制、組織レベルでは従量制または固定料金のサブスクリプション形式で計算されます。

また、組み込みサービスに関連のある間接的な費用も存在します。

SCC Premiumの料金

プロジェクトレベルでの有効化

SCCがプロジェクトレベルで有効化された場合、料金はプロジェクト内で利用される特定のGoogle Cloudサービスの使用量に基づいて算出されます。(従量課金制)

よって、その料金は、各Google Cloudサービスの料金と使用状況の指標により決められます。

組織レベルでの有効化

SCCが組織レベルで有効化された場合、料金は従量制課金固定のサブスクリプション形式となります。(サブスクリプションについては、Google Cloudの営業担当者またはパートナーに問い合わせて購入することができます)

従量制課金を使用する場合、料金は組織内で使用される特定のGoogle Cloudサービスの利用量に基づいて決定されます。(よってプロジェクトレベルと同じ)

概要として料金表も記載しましたが、詳しくは下記の公式ドキュメントをご覧ください。
Security Command Center の料金

今回必要なロール(権限)

組織レベルでの有効時に必要なロール

今回のようにSCCを設定する場合や、組織の構成を変更する場合は、組織レベルで以下のロール付与が必要となります。
下記のロールを組織レベルで付与することで、今回のセットアップもスムーズに進めることができます。

  • 組織管理者(roles/resourcemanager.organizationAdmin)
  • セキュリティ センター管理者(roles/securitycenter.admin)
  • サービス アカウント roles/iam.serviceAccountCreatorの作成

プロジェクトレベルでの有効時に必要なロール

有効にするプロジェクトに対して、以下のロールの付与があるとセットアップをスムーズに進めることができます。

  • セキュリティ センター管理者 roles/securitycenter.admin
  • セキュリティ管理者 roles/iam.securityAdmin
  • サービス アカウント roles/iam.serviceAccountCreatorの作成(組織レベルで有効化した場合は不要)

最小権限の原則

SCCの閲覧や操作などには、セキュリティ センター管理者ロールがあれば十分かと思いますが、その他セットアップ用などに組織管理者セキュリティ管理者が必要になるイメージです。

最小権限の原則を適用する場合には、セットアップ終了時にSCCの操作に必要ない権限は剥奪することも検討してください。

SCC Standardへの登録

  • Cloudコンソールから[セキュリティ]と検索するか、下記のURLからSCCの作成へと遷移します
    • 今回は組織への設定ですが、プロジェクトレベルにしたい場合、コンソール左上のプロジェクト切り替えから選択してください
  • 画像のように[Security Command Centerの設定]をクリックします

  • [スタンダードティア]を選択し、[次へ]を押下します

  • SCCスタンダード環境では[Security Health Analytics]のみ選択可能です
  • その他の機能にも[有効化]を選択できますが、プレミアムに昇格した場合に[有効化]されるという意味です


  • 自動的にSCCのサービスアカウントが作成されます

  • [手動による付与]では、gcloudコマンドでの付与方法が記載してあります

  • [許可を確認]では、実際に付与する権限を確認することができます

  • [アカウントをテスト]押下すると、実際に権限が付与されるので、[次へ]を押下します

  • [セットアップの完了]が表示されればSCCスタンダードが開始となります

SCCの継承

SCCのダッシュボードは組織単位プロジェクト単位で操作が可能であり、組織でSCCを有効化した際には、その配下のプロジェクトはデフォルトで継承されます。

  • [セキュリティ]を検索後、左メニューから[Security Command Center]の[概要]を表示し、[設定]を押下

  • [Security Health Analytics]の設定を押下し、[継承]を確認できます

  • [継承]は、組織、またはプロジェクトごとに無効化することが可能です

補足

権限のエラー①

もしコンソールでSCCを検索しても、下記のようなエラーが出る場合は冒頭で解説したロールの付与がされていません。

よって、下記のようにセキュリティセンター管理者ロールを付与することにより解決ができます。

権限のエラー②

また、下記のようなエラーが出る場合、特定のリソースやプロジェクト(この場合、「alive.classmethod.info」)に対する適切なアクセス権限が不足していることを示しています。

具体的には、「cloudasset.assets.searchAllResources」は、Google Cloudアセットのリソースを検索するために必要な権限であり、リソースを参照検索するためには適切な承認が必要となります。

この権限を含むロールはCloud Asset オーナーCloud Asset 閲覧者などになりますので、必要に応じて付与してください。

まとめ

今回はSCCについての基礎を解説しました。
Google Cloud環境のセキュリティ統合にはSCC」と覚えていただければ幸いです。

ちなみに、基本的なアラート機能アセット管理無料版でも可能ですので、ぜひ一度設定のみでも行ってみてください。