クイズの説明
Step 4「Golden Pathとガードレールを整備しよう」の理解度を確認します。Golden Path設計、テンプレート戦略、ガードレール実装、Compliance as Codeについて問います。
合格ライン: 80%(5問中4問正解)
問題
Q1. Golden PathとOff-Road
Golden Pathの設計原則として最も適切なものはどれですか?
- A. Golden Path以外の方法を禁止し、全チームに同じ技術スタックを強制する
- B. Golden Pathは推奨される標準的な方法であり、Off-Road(別の方法)も許可するが、Golden Pathの方が明らかに速く・安全・簡単であるよう設計する
- C. Golden Pathは上級エンジニアのみが使える高度なツールセットである
- D. Golden Pathは一度定義したら変更せず、安定性を最優先する
答えを見る
正解: B
Golden Pathは「推奨」であり「強制」ではありません。Off-Road(別の方法)を選ぶ自由は保持しつつ、Golden Pathを選ぶことが明らかに有利(速い、安全、簡単)になるよう設計します。A(強制)はOpt-inの原則に反します。C(上級者のみ)ではなく、すべての開発者が簡単に使えることが重要です。D(変更しない)ではなく、フィードバックに基づいて継続的に改善します。
Q2. テンプレート戦略
テンプレートのアップグレード戦略として最も適切なものはどれですか?
- A. テンプレートのバージョンが上がったら、全サービスを一斉に強制アップグレードする
- B. テンプレートの共通部分をnpmパッケージとして配布し、Renovate/Dependabotによる自動PRで段階的にアップグレードする
- C. テンプレートのバージョン管理は行わず、常に最新版のみを提供する
- D. テンプレートは最初に一度使うだけなので、アップグレードは不要である
答えを見る
正解: B
テンプレートの共通部分(CI/CD設定、共通ライブラリ、Dockerfile等)をnpmパッケージやGitHub Actions reusable workflowとして配布し、Renovate/Dependabotが新バージョンを検知して各リポジトリに自動PRを作成するアプローチが最も効果的です。A(一斉強制)は全チームの作業を止めるリスクがあります。D(アップグレード不要)は誤りで、セキュリティパッチやベストプラクティスの進化に追従する必要があります。
Q3. ガードレールの多層防御
ガードレールを「IDE → Pre-commit → PR → CI/CD → Admission → Runtime」の多層で実装する理由として最も適切なものはどれですか?
- A. 同じチェックを複数回実行することで、チェックの精度が向上する
- B. 開発の早い段階でフィードバックを返し(Shift Left)、後段ではより強い統制をかけることで、開発者体験とセキュリティを両立する
- C. ツールベンダーの契約上、複数のツールを使う必要がある
- D. すべてのレイヤーで同じポリシーを適用することで一貫性を保つ
答えを見る
正解: B
多層ガードレールの目的は、Shift Left(早期フィードバック)と深層防御の両立です。IDEやPre-commitでは軽量なチェック(フォーマット、シークレット検出)を即座にフィードバックし、開発者体験を損なわない。PR/CI/CDではより詳細なチェック(SAST、依存脆弱性)を実行。Kubernetes Admissionでは最終的な安全ネットとしてポリシー違反をブロックします。各レイヤーは補完関係にあり、同じチェックの重複(A)ではなく、段階に応じた適切なチェックを配置します。
Q4. ガードレールのUX
ガードレールがPR/デプロイをブロックした際のエラーメッセージに含めるべき要素として最も適切な組み合わせはどれですか?
- A. エラーコードとスタックトレース
- B. 何がダメか(違反内容)、なぜダメか(理由)、どう直すか(修正方法)、参照先(ドキュメントURL)
- C. 「ポリシー違反です。プラットフォームチームに連絡してください」
- D. 違反したポリシーのRegoコード全文
答えを見る
正解: B
ガードレールのエラーメッセージは、開発者が自力で問題を解決できる情報を提供する必要があります。(1) 何がダメか(「rootユーザーでの実行は禁止です」)、(2) なぜダメか(「コンテナ脱出時のセキュリティリスク」)、(3) どう直すか(「securityContext.runAsNonRoot: true を設定」)、(4) 参照先(ドキュメントURL)。C(プラットフォームチームに連絡)はセルフサービスの原則に反します。開発者が自分で修正できることが重要です。
Q5. Compliance as Code
Platform EngineeringにおけるCompliance as Codeの理想形として最も適切なものはどれですか?
- A. コンプライアンスチェックリストを電子化し、開発者が手動でチェックを入れる
- B. 監査の直前に集中的にコンプライアンス対応を行い、証跡を整備する
- C. Golden Pathに沿っていれば自動的にコンプライアンスに準拠し、開発者はコンプライアンスの存在を意識しない状態にする
- D. コンプライアンス専門チームがすべてのPRをレビューする
答えを見る
正解: C
Platform EngineeringにおけるCompliance as Codeの理想形は、「コンプライアンス対応のための特別な作業をゼロにする」ことです。Golden Pathのテンプレートにはセキュリティスキャン、暗号化設定、監査ログ出力が組み込まれており、ガードレールがポリシー違反を自動ブロックします。開発者がGolden Pathに沿って開発すれば、追加の作業なしでコンプライアンスに準拠した状態になります。A(手動チェック)やD(専門チームレビュー)はスケールせず、B(監査前対応)は日常的な準拠を保証しません。
結果
合格(4問以上正解)
Step 4の内容をよく理解しています。Golden Pathとガードレールの設計に必要な知識を身につけました。次のStep 5「プラットフォームチームを運営しよう」に進みましょう。
不合格(3問以下正解)
Step 4の内容を復習しましょう。特に以下のポイントを重点的に確認してください:
- Golden Path — 推奨(強制ではない)、Off-Roadとの関係
- テンプレート戦略 — バージョン管理とアップグレード
- 多層ガードレール — Shift Leftと深層防御の両立
- Compliance as Code — Golden Pathによる自動準拠
推定所要時間: 30分