Google ACE: セキュリティ、コンプライアンス、データ保護 — 学習ガイド
こちらの一部です: Google Associate Cloud Engineer — 学習ガイド. 検証済みの解答で練習: Google試験ハブ, または時間制限付き模擬試験に挑戦: ExamRoll.io.
概要
Google Cloudにおけるセキュリティ、コンプライアンス、データ保護は、責任共有モデルと、セキュアバイデフォルト、多層防御のアプローチに基づいています。Googleは物理インフラストラクチャ、基盤サービス、デフォルトの暗号化を保護し、一方でお客様はIDとアクセス、データの分類と保持、アプリケーションの構成、および運用プロセスを保護します。リソース階層全体で最小権限の原則に基づいて設計し、個人ではなくグループを使用し、マネージドIDと短期的な認証情報を優先し、単一の制御の失敗が侵害につながらないように制御を階層化します。体制を継続的に測定し改善できるよう、最初からオブザーバビリティと対応のワークフローを構築してください。
IDとアクセスの基礎
- 責任共有と最小権限
- 信頼の境界を反映したフォルダを持つ単一の組織の下にプロジェクトを整理します。組織のポリシー (Organization Policy) の制約を適用して、セキュアなデフォルトを強制します(例:パブリックIPの不許可、ロケーションの制限、サービスアカウントキー作成の防止)。
- IAMロールはユーザーではなくGoogleグループに付与し、基本ロールよりも事前定義ロールを優先します。ロールのバインディングを定期的にレビューし、未使用の権限を削除します。
監査可能性と帰属性を有効にします。VMへの管理者OSアクセスには、ユーザーごとのSSHキーを持つOS Loginを使用します。グループには
roles/compute.osLoginまたはroles/compute.osAdminLoginロールを付与します。例:
undefined
-
undefined
一般的な失敗モード:ユーザーにオーナーまたは編集者を付与する、プロジェクト全体のSSHキーを使用する、長期間有効なサービスアカウントキーを作成する。
BeyondCorpとIdentity-Aware Proxy (IAP)によるアプリケーションアクセス保護
- IAPは、HTTPSアプリおよびTCP転送(SSH/RDP)に対して、GoogleのエッジでID認識型のアクセスを終端させ、アプリや踏み台サーバーをインターネットに公開する必要をなくします。コンテキストアウェアなアクセスポリシー(Access Context Manager)と組み合わせることで、デバイスの状態、IP範囲、またはユーザーグループを要求できます。
- メリット:認証/認可(AuthN/Z)の集中管理、強力な帰属性、攻撃対象領域の削減、およびファイアウォールポリシーの簡素化(ロードバランサ/IAP以外のインバウンドを拒否)。
- トレードオフ:設定ミスは管理者も締め出す可能性があります。緊急時用のアクセス経路(制限されたプロジェクトオーナー、帯域外のコンソールアクセス)を維持してください。一部のレガシープロトコルや非HTTPサービスでは、IAP TCP転送または代替の制御が必要になる場合があります。
サービスアカウントとWorkload Identity
- Compute Engine、Workload Identityを有効にしたGKE、Cloud Run、Cloud Functionsにサービスアカウントをアタッチすることを推奨します。これにより、ワークロードは短期的なトークンを自動的に取得します。キーを埋め込むことは避け、組織のポリシーでサービスアカウントキーの作成を無効にします。サービスアカウントのIAMスコープは狭く設定します(最小権限の原則)。
- 失敗モード:
roles/iam.serviceAccountUserロールを広範囲に付与すること(これにより偽装が可能になる)、権限が強すぎるサービスアカウントが横展開の標的になること。
データ保護と鍵管理
- 暗号化、Cloud KMS、CMEK、エンベロープ暗号化
- Googleは、保存時および転送中のすべてのデータをデフォルトで暗号化します。追加の制御と職務の分離のために、Cloud KMSで顧客管理の暗号鍵(CMEK)を使用します。多くのサービス(BigQuery、Cloud Storage、Pub/Sub、Compute Engineディスク)がCMEKをサポートしています。サービスはエンベロープ暗号化を使用し、お客様のCMEKがオブジェクトごとまたはチャンクごとのDEKをラップします。
鍵階層の計画:リージョンごとにキーリング、データドメインごとに暗号鍵、リスクに基づいて90〜365日ごとにローテーション。ローテーションの例:
undefined
アクセス制御:サービスアカウントには、必要な鍵に対してのみCloud KMS暗号鍵の暗号化/復号(CryptoKey Encrypter/Decrypter)ロールを付与します。Cloud KMSの使用状況ログで監視します。
失敗モードとトレードオフ:CMEKを無効化または削除すると、依存するデータが読み取れなくなります。インシデント対応のランブックを計画し、ローテーション前にIAMを再確認し、デプロイメント全体で鍵の可用性を維持してください。Google Cloudの外部で鍵を保持する必要がある場合は、External Key Managerを検討します。追加のレイテンシと外部依存のリスクを考慮してください。
Secret Managerとハードコードされた認証情報の排除
- APIキー、DBパスワード、トークンをSecret Managerに保存し、自動バージョン管理とIAMベースのアクセス制御を行います。Cloud Scheduler → Pub/Sub → Cloud Functions/Runを介してローテーションを統合し、上流システムを更新して新しいシークレットバージョンを書き込みます。アプリケーションは起動時またはオンデマンドでシークレットを取得し、最小限にキャッシュします。
- ベストプラクティス:シークレットをコードやイメージにコミットしない。シークレットをログに出力しない。ワークロードIDに
roles/secretmanager.secretAccessorロールを付与する。ラベルを使用して機密性をタグ付けする。 - 失敗モード:クラッシュ時にログに記録される環境変数にシークレットを埋め込む。ローテーション後に下流のアプリの更新を忘れる。シークレットに対する広範なIAM権限。
データの分類、保持、プライバシー
- データ(公開、内部、機密、規制対象)を分類し、アセットにラベルでタグ付けします。きめ細かい制御のために、BigQueryの列レベルのセキュリティと行アクセス ポリシーを使用します。機密データの検出とマスキングには、Sensitive Data Protection (DLP) を使用します。
- 保持ポリシーの実装:Cloud Storageオブジェクトのライフサイクル(経過時間に基づくクラス移行、削除)、保持ロック付きのバケット保持ポリシー、BigQueryのテーブルまたはパーティションのTTL。保持期間は法的な要件に合わせます。保持期間が長いほど、リスクとコストが増加します。
- プライバシーとデータ所在地:組織のポリシーでリソースのロケーションを制限します。データ主権(Sovereignty)とレイテンシの要件に基づいて、マルチリージョンストレージとリージョンストレージを選択します。監査ログとSCCのポスチャーダッシュボードで証跡を作成します。
ネットワークとエッジセキュリティ
ネットワークの多層防御
- VPCファイアウォールルールをデフォルト拒否のスタンスで使用し、必要な送信元範囲とポートのみを許可します。APIトラフィックがパブリックインターネットを経由しないように、Private Google AccessとPrivate Service Connectの使用を推奨します。VPC Flow LogsとFirewall Rules Loggingを記録し、下り(egress)のパターンを定期的にレビューします。
- アウトバウンド制御には、すべての下り(egress)を拒否し、FQDN下りプロキシまたはNATとプロキシの組み合わせを介して必要な宛先を明示的に許可します。Cloud NATのログを監視し、DNSロギングを構成します。
VPC Service Controls (VPC SC)、サービス境界、アクセスレベル
- サポートされているGoogle API(例: BigQuery, Storage, Pub/Sub)をサービス境界で囲み、認証情報が漏洩した場合でもデータ漏洩リスクを軽減します。Access Context Managerを使用して、ユーザーグループ、IP、またはデバイスの状態によってアクセスレベルを定義し、コンテキストアウェアなポリシーを有効にします。
- 必要に応じて、正当な境界を越えた統合のために下り(egress)ルールを設定し、境界ブリッジを構成します。VPC SCのドライランモードでテストし、強制適用前に潜在的な問題を表面化させます。
- 失敗のパターン: CI/CDやプロジェクト間のジョブを意図せずブロックしてしまう、サードパーティとの統合が失敗する、開発者が管理されていないデバイスでバイパスするなど。例外を文書化し、定期的にレビューします。
Cloud Armor、DDoS保護、WAFルール
- Googleのグローバルエッジは、常時稼働のL3/L4 DDoS保護を提供します。Cloud Armorは、外部HTTP(S)ロードバランサにL7保護を追加し、これにはレート制限、地域/IPベースのアクセス、カスタム式、事前構成されたWAFルールセットが含まれます。
- 基本的なWAFを作成してアタッチする例:
- gcloud compute security-policies create web-waf
- gcloud compute security-policies rules create 1000 –security-policy=web-waf –expression=“evaluatePreconfiguredWaf(‘sqli-v33-stable’)” –action=deny-403 –preview
- ポリシーをHTTPSロードバランサのバックエンドサービスにアタッチします。
- ベストプラクティス: 誤検知(false positive)を削減するためにルールをプレビューモードで開始し、既知の正常なトラフィックに対して許可ルールを追加し、対象であれば適応型保護 (Adaptive Protection) を有効にします。トレードオフ: Cloud ArmorはHTTP(S)およびプロキシベースのロードバランサで適用されます。ネットワークロードバランサと内部LBには他の制御が必要です。
セキュリティオペレーションとコンプライアンス
Security Command Center (SCC) とポスチャー管理
- SCC をリスク可視化のためのコントロール プレーンとして使用します。Standard ティアは設定ミスの検出結果と脆弱性データを集約し、Premium ティアは脅威検出(例: Event Threat Detection、VM and Container Threat Detection)と攻撃パスの分析情報を追加します。
- 検出結果を重要度によってトリアージし、所有者を割り当て、クローズまで追跡します。検出結果を BigQuery または Pub/Sub にエクスポートして、SIEM 統合や証跡として利用します。組織のポリシーに対してポスチャーを継続的に測定し、リグレッション(悪化)に対するアラートを設定します。
Shielded VM、セキュアブート、vTPM、整合性モニタリング、OS の堅牢化
- Shielded VM の機能を有効にして、ルートキットやブート改ざんをブロックします。セキュアブート、vTPM、整合性モニタリングを使用して、ブートローダーとカーネルの変更を検出します。一部のカスタムカーネルや未署名のモジュールはセキュアブートに失敗する可能性があるため、有効にする前にイメージを検証してください。
- OS Config を使用して OS を堅牢化し、パッチコンプライアンス、CIS に準拠したベースライン、最小限のパッケージ、パスワードなしの SSH、sudo と認証イベントのロギングを適用します。SSH には IAP TCP 転送を優先的に使用し、
0.0.0.0/0からのイングレスを制限します。
フォレンジックのためのロギング、インシデントのトリアージ、封じ込め、修復
- フォレンジックを可能にするためのロギング: 管理アクティビティ監査ログとデータアクセス監査ログ、VPC フローログ、ファイアウォール ルール ロギング、Cloud DNS ログ、ロードバランサ ログ、Cloud KMS と Secret Manager のアクセスログ。適切な保持期間とアクセス制御を設定した上で、一元化されたログプロジェクトと BigQuery にエクスポートします。
- トリアージと封じ込めのプレイブック:
- SCC の検出結果と相関付けられたログでインジケーター(兆候)を検証します。
- 不審なトークンを失効させる、侵害されたサービス アカウントを無効にする、拒否ファイアウォール ルールを追加する、またはタグを使用してインスタンスを一時的に隔離することで封じ込めます。
- 証跡を保全します: ディスクのスナップショットを作成し、ログをエクスポートし、必要に応じて承認されたツールを使用してメモリをキャプチャし、CoC (Chain of Custody) を記録します。
- 修復します: シークレットとキーをローテーションし、脆弱性にパッチを適用し、既知の正常なイメージから再構築し、再発を防ぐための検出機能を追加し、インシデント後のレビューを実施して統制を強化します。
実践的な問題シナリオ
Nimbus Finance は、外部 HTTP(S) ロードバランサの背後でウェブおよび API ワークロードを実行し、BigQuery と Cloud Storage で規制対象データを処理し、エンジニアにリモート管理アクセスを許可しています。最近のレッドチーム演習により、侵害された認証情報によるデータ漏洩やラテラル ムーブメントのリスクが実証されました。運用チームは、デリバリーを中断することなく、アクセスを堅牢化し、データを保護し、検出能力を向上させる必要があります。
- OS Login を強制し、管理者の帰属を明確にする
- 手順: プロジェクト全体で OS Login を有効にする。エンジニアグループに
compute.osAdminLoginを追加する。プロジェクト全体の SSH キーを削除する。 - 理由: ユーザーごとの SSH キーと IAM ベースのロール付与により、明確な帰属と簡単な失効が可能になります。共有キーを排除することで、ラテラル ムーブメントを削減します。
- IAP とコンテキストアウェア アクセスでリモートアクセスをゲートする
- 手順: 管理 UI を IAP で保護された HTTPS ロードバランサの背後に配置する。Access Context Manager を介して、運用グループのメンバーシップと、企業の IP/デバイス ポスチャーを要求する。
- 理由: ゼロトラスト アクセスは、パブリックへの公開をなくし、ID とデバイスの条件を一元的に強制することで、フィッシングやクレデンシャル スタッフィングのリスクを軽減します。
- Cloud Armor WAF を段階的な適用で実装する
- 手順: Cloud Armor ポリシーを作成する。SQLi/XSS に対する事前構成済みの WAF ルールをプレビューモードで有効にする。
/loginに対するレート制限ルールを追加する。ログを監視し、その後、適用する。 - 理由: プレビューモードは誤検知を減らします。ターゲットを絞ったレート制限は、正当なトラフィックに影響を与えることなく、クレデンシャル スタッフィングやボットを鈍化させます。
- VPC Service Controls でデータサービスをラップする
- 手順: BigQuery と Cloud Storage プロジェクトのサービス境界を作成する。承認された CI/CD および分析ジョブのために下り(egress)ルールを定義する。グループとネットワークに基づくアクセスレベルを要求する。
- 理由: サービス境界は、保護されたデータにどこからどのようにアクセスできるかを制限することで、有効な認証情報を使用したデータ漏洩を軽減します。
- Cloud KMS で CMEK を適用し、ローテーションをスケジュールする
- 手順: BigQuery と Storage のためにリージョン別のキーリングと暗号鍵を作成する。サービス アカウントにのみ
roles/cloudkms.cryptoKeyEncrypterDecrypterロールを付与する。180 日のローテーション スケジュールを設定する。キー使用状況ログを監視する。 - 理由: CMEK は職務の分離と制御された暗号境界を強制します。ローテーションは、キーが漏洩した場合の影響範囲を限定します。
- Secret Manager でシークレットを一元管理し、ローテーションを自動化する
- 手順: データベースとサードパーティのトークンを Secret Manager に移動する。ワークロードに最小権限アクセスを付与する。Cloud Scheduler → Pub/Sub → Cloud Run のジョブを実装して、シークレットをローテーションし、新しいバージョンを作成する。
- 理由: ハードコードされた認証情報を排除します。バージョニングと自動化により、最小限のダウンタイムで予測可能かつ監査可能なローテーションが保証されます。
- Shielded VM と OS の堅牢化でホストセキュリティを強化する
- 手順: すべての Compute Engine インスタンスでセキュアブート、vTPM、整合性モニタリングを有効にする。パスワードなしの SSH を強制する。OS Config を使用して週次でパッチを適用し、CIS ベースラインを適用する。
- 理由: ブートレベルの改ざんを防ぎ、ドリフトを検出し、コンピュートノード上の悪用可能な攻撃対象領域を削減します。
- SCC でオブザーバビリティとポスチャー管理を向上させる
- 手順: 組織全体で SCC Premium を有効にする。Pub/Sub へのリアルタイム通知を構成する。検出結果とログを BigQuery にエクスポートする。主要な KPI(未対応の重要度の高い検出結果、平均修復時間)のダッシュボードを構築する。
- 理由: 統一された可視性により、検出から対応までの時間が短縮され、コンプライアンスの証跡が提供されます。
- インシデント対応プレイブックを準備し、テストする
- 手順: トリアージ手順、特権的なブレークグラス アカウント、封じ込めアクション(IAM の無効化、ファイアウォールによる隔離、トークンの失効)を文書化する。四半期ごとに演習する。証跡プロジェクトでログの保持とオブジェクトの保持を強制する。
- 理由: 訓練されたワークフローは、プレッシャー下でのエラーを減らし、根本原因分析や規制当局への報告のためのフォレンジックの完全性を保全します。
- 変更を検証し、中断を最小限に抑える
- 手順: VPC SC のドライランと Cloud Armor のプレビューを使用して、破壊的な変更を検出する。カナリアを使用して環境ごとにロールアウトする。ロールバック計画と変更ウィンドウを維持する。
- 理由: 制御されたロールアウトは、セキュリティ強化による可用性のリスクを軽減しつつ、データ漏洩とアクセスリスクの目標とする削減を達成します。
← モニタリング、ロギング、運用のトラブルシューティング · すべてのドメイン · 信頼性、バックアップ、災害復旧 →
これらの問題を練習する → · ExamRoll.ioで時間制限付き練習 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
試験に合格する →