【要約】【買わずに作る】GitHub EMU の SCIM、Google Workspace 非対応の壁を内製で越えてコストを殴った話 [Qiita_Trend] | Summary by TechDistill
> Source: Qiita_Trend
Execute Primary Source
// Problem
Google WorkspaceをID基盤とする企業が、GitHub EMU移行時に公式のSCIM非対応という壁に直面した。EMUはアカウント管理にSCIMが必須だが、Google Workspaceは公式サポート対象外であるため、以下の課題が生じた。
- ・公式サポート対象のIdP(Entra ID等)を追加導入すると、高額なライセンス費用が恒久的に発生する。
- ・OSSのブリッジを利用する場合、リトライ処理や監査ログ、GUIが不足しており、本番運用には不安が残る。
- ・全社員のアカウントを操作するバッチは、設定ミス一つで全ユーザーを締め出す致命的なリスクを孕む。
// Approach
開発チームは、Google Admin SDKとGitHub SCIM APIを連携させる「SCIM Bridge Console」を内製した。単なる同期スクリプトではなく、運用の安全性を最優先した設計を採用している。
- ・Python (FastAPI) と HTMX を用い、管理用のWebコンソールを構築した。
- ・破壊的変更(削除・停止)が閾値を超えた場合に同期を中断する「暴発ガード」を実装した。
- ・AWS SSMから取得した秘密鍵を、起動時にtmpfs(メモリ上)へ展開し、ディスクへの平置きを回避した。
- ・インフラをECS Fargateから、EC2、SQLite、S3、AWS Backupを用いた軽量な構成へ最適化した。
// Result
本プロジェクトにより、IdP追加に伴う年間数百万円規模のライセンスコストを完全に排除した。開発工数を差し引いても、大幅なコスト削減を実現している。
- ・高いテストカバレッジ(94.9%)により、アカウント操作の安全性を担保した。
- ・「何をしないか」に焦点を当てたテストにより、意図しないユーザー削除を防止している。
- ・身の丈に合ったインフラ構成により、ランニングコストを最小限に抑えた。
Senior Engineer Insight
> 運用フェーズの「事故」を徹底的に想定した設計が極めて実戦的である。特に、APIの不調による全ユーザー削除を防ぐ「暴発ガード」や、鍵のメモリ展開、最小権限のS3ポリシーは、現場の知見に基づいた優れた防衛策だ。「何をしないか」をテストする姿勢も、ID管理において不可欠である。内製化のリスクである保守性の問題も、GUIやテスト、手順書の整備により、組織的な持続可能性を確保している。