文系出身エンジニアがProfessional Security Operations Engineer(PSOE)に3週間で合格した話
1. はじめに
株式会社 MBK デジタルの古畑です。
先日、Google Cloudの認定資格の1つであるProfessional Security Operations Engineer(PSOE)を取得したので、その振り返りと記録を残したいと思います。
昨今、サイバー攻撃の手法は劇的に高度化しています。
これまでは「いかに侵入を防ぐか(予防)」が中心でしたが、現代では「侵入された後、いかに速く見つけて対処するか(検知と対応)」が重要視される時代になりました。
PSOEは、まさにこのパラダイムシフトを象徴する資格です。
今回は、文系出身で「半人前エンジニア」からの脱却を目指す私が、この難関資格にどう立ち向かったのか。
そして合格のために整理した「虎の巻」を余すところなく公開したいと思います。
2. Professional Security Operations Engineer (PSOE) の概要
PSOEは、Googleのセキュリティ運用プラットフォーム(Google SecOps)を駆使して、自律的なセキュリティ運用を実現できるかが問われる、非常に実践的な試験です。
出題範囲
- プラットフォーム運用
- データ マネジメント
- 脅威ハンティング
- 検出エンジニアリング
- インシデント対応
- オブザーバビリティ
試験要項
- 試験時間:120分
- 受験料:$200(税別)
- 試験言語:英語
- 試験形式:50問〜60問の選択式
- 実施形式
- 遠隔監視オンライン試験
- テストセンターにおけるオンサイト監視試験
- 有効期限:2年
公式の最新情報については、こちらからご確認ください。
既存のSecurity Engineer (PCSE) との違いは以下の通りです。
| 特徴 | Professional Cloud Security Engineer (PCSE) | Professional Security Operations Engineer (PSOE) |
|---|---|---|
| 核心的な哲学 | 予防(Prevention) | 検知(Detection)と対応(Response) |
| 主な問い | どうすれば安全に作れるか? | 侵入者をどう見つけ、止めるか? |
| 主要ツール | IAM, VPC, Cloud KMS | Google SecOps (Chronicle), SOAR |
| 求められるスキル | インフラ設計、ポリシー作成 | ログ解析、YARA-L記述、自動化 |
日本人エンジニアに立ちはだかる「英語の壁」
2026年1月現在、この試験の最大のハードルは「英語のみ」での提供である点です。
長文のシナリオ問題を読み解く必要があり、最低でも以下のような単語はすぐに理解できる必要があります。
- Ingestion(取り込み): ログを解析・正規化して取り込むこと。
- Containment(封じ込め): 感染端末を切り離すなどの初動対応。
- Alert Fatigue(アラート疲れ): 誤検知が多すぎてアナリストが麻痺すること。
3. 合格への学習ロードマップ(3週間集中プラン)
私は業務でGoogle Cloudに触れてはいましたが、SecOpsプラットフォームについては一切触ったことがありませんでした。
そのため、知識の穴を埋めるべく3週間の短期集中プランを組みました。
合格の鍵は、単に知識を詰め込むだけでなく、ハンズオンで手を動かすことと、Google流のベストプラクティスを刷り込むことの2点です。
Week 1:基礎固め & UDMの構造理解
最初の1週間は、とにかくプラットフォームの全体像とデータ構造を頭に叩き込む期間にしました。
-
Google Cloud Skills Boost (旧Qwiklabs)
公式の学習パス「Google Security Operations - Fundamentals」を実施。
ログを検索する画面やルールの編集画面のUI配置を、体が覚えるまで触りました。 -
UDM (Unified Data Model) の暗記
SecOpsの心臓部である正規化データモデルを理解します。
試験では初歩的な問いは出ませんが、シナリオ問題の選択肢を読むための前提知識として必須です。- principal(行為の主体・攻撃者)
- target(被害者・サーバー)
- metadata(イベントの種類・日時)
Week 2:検知エンジニアリング (YARA-L) & 自動化 (SOAR)の学習
この試験の最大の山場、YARA-Lとの格闘です。
-
構文理解
公式ドキュメントの「YARA-L 2.0 Language Syntax Guide」を読み込みました。 -
除外設定のロジック理解
誤検知を減らすためのテクニックを重点的に学習。
IPアドレスを直接ルールに書くのはNG(Reference Listを使うべき)といった作法を学びました。 -
SOARプレイブックの設計思想
どの判断を自動化し、どこで人間の承認(Approval)を入れるかという分岐ロジックを確認しました。
プレイブック内で使う外部連携の設定方法や、コンテキストデータの受け渡し方まで理解しました。
Week 3: シナリオ演習
最終週は本番形式の演習に費やしました。
- 問題集をフル回転
公式の模擬試験やUdemy等の非公式問題集を活用し、英語の長文シナリオに慣れました。
単に正解するだけでなく、「なぜ他の選択肢が間違いなのか(コストが高いから? 推奨機能を使っていないから?)」を説明できるまで解説を読み込みました。
おすすめの学習リソースまとめ
-
Google Cloud Skills Boost (必須)
公式が提供する最強の教材です。
業務で SecOps に触れたことがない人は、一通り実施しておくことをお勧めします。 -
YARA-L 2.0 Language Syntax Guide
一言一句覚える必要はないですが、「〇〇したい時はこのように書く」という一対一対応の理解は重要です。 -
他社様のテックブログ
日本語でSecOpsの詳細を解説している貴重なリソースです。
概念理解の助けになりました。
4. PSOE完全攻略シート(要件別ベストプラクティス)
試験対策中に公式ドキュメントや問題集をもとにまとめた、「完全攻略シート」を公開します。
この試験で問われるのは、単なるツールの操作方法ではありません。
Googleが考える、最もコストパフォーマンスが高く、運用負荷が低い解決策です。
試験直前の見直しにぜひご活用ください。
① データ取り込みとアーキテクチャ (Ingestion & Architecture)
「ログをどう集めるか?」は、コストと手間のバランスで決まります。
| シチュエーション(要件) | 正解のアクション(最適解) | 理由・ポイント |
|---|---|---|
| GCPリソースのログ収集 (GCE, Audit Logsなど) | Direct Ingestion / Ops Agent | 最も簡単で標準的なルート。GCSバケット経由は古い/非効率なので×。 |
| オンプレ/3rd Partyアプリ (MySQLなど標準的なもの) | Bindplane Agent | 設定の手間を最小化(Minimizes effort)できる推奨ツール。 |
| オンプレのSyslog転送 (FWなどエージェント不可) | Forwarder (仲介役) 経由 | 機器が直接APIを叩けない場合、コンテナベースのForwarderで受けて送る。 |
| 別PJのPub/Subから収集 (Cloud Runなど) | Ingestion API | プロジェクトを跨ぐ際の標準構成。低遅延なプッシュ型。 |
| インバウンド禁止の閉域網 | Remote Agent (SOAR) | 外から接続できないなら、内側からポーリングするRemote Agentを置く。 |
| 拠点でIPアドレスが重複 (10.x.x.x 等) | Namespace (名前空間) 設定 | 異なる拠点の同じIPを区別(エイリアシング防止)する唯一の方法。 |
| ログ欠損を検知したい | Silent Source + Monitoring | SecOpsの機能で欠損を検知し、Cloud Monitoringで通知を飛ばす。 |
② SIEM & Detection (検知ルールとログ活用)
「YARA-L」の活用と、いかにノイズ(誤検知)を減らすかが勝負です。
| シチュエーション(要件) | 正解のアクション(最適解) | 理由・ポイント |
|---|---|---|
| とにかく早く検知を始めたい | Curated Detectionsを有効化 | 自作は後回し。Google/Mandiant管理のルールセットを使うのが最速。 |
| IAM攻撃/SSH総当たり検知 | SCC Findings を取り込む | 生ログ(VPC Flow等)から自作するのは大変。SCCの分析結果を利用する。 |
| 正規化フィールドが足りない | Parser Extension (拡張) | 標準パーサーのコピーや自作は保守地獄になる。差分拡張が正解。 |
| 独自フォーマットのログ | Custom Parser (新規作成) | 既存パーサーが全くない場合のみ、Gemini等でスクラッチ作成する。 |
| 誤検知が多い (ノイズ削減) | Matchセクションで集約 | 閾値だけでなく「10分間にまとめる」ことでアラート数を物理的に減らす。 |
| 正規ツール/adminを除外 | Reference List (参照リスト) | ルール内にIPをハードコードするのはNG。リストを外出しで管理する。 |
| オンプレProxyの誤検知 | principal.ip から除外 | Proxyサーバはクライアントの代理送信元になるため、除外が必要。 |
| リスクスコアを付与したい | outcomeセクション | ルール内で risk_score 変数を定義し、スコア計算ロジックを書く。 |
③ SOAR & Automation (自動化と運用フロー)
プレイブックを使って「人手を介さずどう回すか」がテーマです。
| シチュエーション(要件) | 正解のアクション(最適解) | 理由・ポイント |
|---|---|---|
| 外部検知を自動取り込み | Pub/Sub → SOAR | APIポーリングではなく、Pub/Sub経由のリアルタイム連携が基本。 |
| 部署/顧客データの分離 | Environment 機能 | 権限フィルタではなく、Environment機能でマルチテナント的に分離する。 |
| 承認プロセス (管理者/外部) | Approval Request / Link | 社内ならRequest機能、アカウント無しユーザーにはEmail Link機能。 |
| プレイブックの分岐が多すぎ | Nest (入れ子) にする | 1つの条件分岐で処理しきれないなら、Elseの中にさらに分岐を作る。 |
| 競合制御 (汎用 vs 専用) | Priority (優先度) 値 | 「全てのケース」用PBの優先度を下げ、「特定攻撃」用PBを優先させる。 |
| SLA違反/アサイン漏れ防止 | Playbookで自動割り当て | 人力管理はNG。トリアージと担当者アサイン自体を自動化する。 |
④ 調査・ハンティング・脅威インテリジェンス
「何を探すか」によって、使うべき検索画面や手法が異なります。
| シチュエーション(要件) | 正解のアクション(最適解) | 理由・ポイント |
|---|---|---|
| 全ログからIP/ドメイン検索 | UDM Search | Rawログ検索は遅い。正規化されたUDMを検索するのが最速。 |
| C2サーバーとの通信調査 | src.ip OR target.ip | 送信(Outbound)と受信(Inbound)の両面から検索する必要がある。 |
| ハッシュ値がない未知の攻撃 | Retrohunt × 振る舞い検知 | プロセスの親子関係などでルールを作り、過去ログをRetrohuntする。 |
| DNSログ × 脅威情報 | Entity Graph と結合 | YARA-LでVirusTotalテーブルなどとJoinして相関関係を見る。 |
| 外部IPの評価確認 | Alerts & IOCs ページ | 検索窓にIPを入れて、Mandiant等の評価(レピュテーション)を確認する。 |
| 組織的な攻撃の全体像 | Risk Analytics Dashboard | 個別アラートではなく、リスクの相関関係やトレンドを見る。 |
| 演習データ(ノイズ)を除外 | IOC Matches ページでMute | 既知の演習用IPなどは、ここでグローバルにミュート設定する。 |
⑤ SCC & GCP Native
GCP特有の設定ミス対策とコンプライアンスです。
| シチュエーション(要件) | 正解のアクション(最適解) | 理由・ポイント |
|---|---|---|
| コンプラ違反の即時修復 | リソースの設定自体を修正 | タグ除外やステータス変更はNG。原因(例:外部IP公開)を削除する。 |
| 複雑/定期的なレポート | BigQuery + Looker Studio | CSVダウンロードではなく、データエクスポート+BIツールが鉄板。 |
| 特定API操作の検知 | SCC ETD カスタムモジュール | Cloud Logging監視よりも、ETD(Event Threat Detection)推奨。 |
| OS脆弱性 (Patch) 可視化 | VM Manager → SCC | 独自スキャンより、OS標準のVM Managerを有効化してSCCに連携する。 |
| アクセス権限トラブル | IAMロール + PJ紐付け | 認証できても見れない時は、Chronicle Viewerロール等の不足を疑う。 |
5. まとめと「3つの黄金律」
以上、PSOE試験の概要と攻略シートでした。
最後に、試験中に選択肢で迷ったら、この3つの原則に立ち返ってみてください。
-
車輪の再発明をしない
自作スクリプト、自作パーサー、自作ルールより、Google推奨のマネージド機能が常に正解です。 -
自動化はSOARに任せる
「手動でメール」「手動でCSV作成」は間違いです。
すべて Playbook か Reporting 機能で自動化します。 -
ログは正規化(UDM)してなんぼ
Rawログ検索は最終手段です。
UDM Search と YARA-L で構造化データを扱うのが基本思想です。
PSOEは、これからのエンジニアにとって必須の、セキュリティの羅針盤となる資格です。
ぜひお読みになった皆様も挑戦してみてください。
皆様の参考になる情報が見つかれば幸いです。
データとAIの力で真のデータ活用を目指す仲間を募集中!
MBKデジタルは現在、採用強化中です。
興味を持っていただけた方はぜひ下記からご応募お待ちしております。

<各種SNSアカウント>
Discussion