マルチテナンシー学習コンテンツ
概要
SaaSアプリケーションにおけるマルチテナンシーの設計・実装・運用に必要な知識を体系的に学ぶコンテンツ集です。
本カテゴリの題材: IDサービス
各記事ではIDサービスを題材にした具体例を多く使用しています。IDサービスとは、ユーザーの認証(本人確認)・認可(アクセス制御)・ユーザ ー管理を一元的に提供するSaaS基盤です。
IDサービスの全体像:
┌─────────────────────────────────────────────────────────┐
│ IDサービス (IdP) │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌─────────┐ │
│ │ 認証 │ │ 認可 │ │ ユーザー │ │ セッション│ │
│ │ │ │ │ │ 管理 │ │ 管理 │ │
│ │・パスワード│ │・OAuth 2.0│ │・登録 │ │・ログイン│ │
│ │・MFA │ │・スコープ │ │・プロフィール│ │ 状態 │ │
│ │・FIDO2 │ │・トークン │ │・パスワード│ │・有効期限│ │
│ └──────────┘ └──────────┘ └──────────┘ └─────────┘ │
└────────────────────────┬────────────────────────────────┘
│
┌────────────┼────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Webアプリ │ │ モバイル │ │ 外部API │
│ │ │ アプリ │ │ │
└──────────┘ └──────────┘ └──────────┘
記事中にMFA、セッション管理、OAuthトークンといったID領域の例が登場しますが、設計原則やアーキテクチャパターン自体はEC、CRM、プロジェクト管理ツールなど、あらゆるマルチテナントSaaSに共通して適用できます。
マルチテナンシー知識の全体像
┌─────────────────────────────────────────────────────────────────────────┐
│ マルチテナントSaaSアーキテクチャ │
└─────────────────────────────────────────────────────────────────────────┘
│
┌───────────────┬───────────┼───────────┬───────────────┐
│ │ │ │ │
▼ ▼ ▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌────────────┐ ┌────────────┐ ┌────────────┐
│ 基礎概念 │ │ データ分離 │ │ ライフ │ │ 設定管理 │ │ セキュリティ│
│ │ │ │ │ サイクル │ │ │ │ │
│ なぜマルチ │ │ どう分離 │ │ どう運用 │ │ どう │ │ どう守る │
│ テナント? │ │ する? │ │ する? │ │ カスタマイ │ │ │
│ │ │ │ │ │ │ ズする? │ │ │
└──────┬──────┘ └──────┬──────┘ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘
│ │ │ │ │
▼ ▼ ▼ ▼ ▼
basics isolation onboarding configuration customization security
対象読者
- SaaSアプリケーション開発者
- ID基盤・認証システム開発者
- プラットフォームエンジニア
- SaaSアーキテクト
所要時間について: 各ドキュメントの所要時間は目安です。初学者の方は2〜3倍の時間を見込んでください。
コンテンツ一覧
基礎
| ドキュメント | 学べること | 所要時間 |
|---|---|---|
| マルチテナントとは何か | マルチテナントの概念、シングル vs マルチ、コスト・メンテナンス・スケーラビリティ | 20分 |
| データパーティション化とテナント分離 | Silo/Poolモデル、RLS、Noisy Neighbor、Defense in Depth | 30分 |
設計・運用
| ドキュメント | 学べること | 所要時間 |
|---|---|---|
| テナントオンボーディング設計 | テナントライフサ イクル、プロビジョニング、テナント識別、削除・データ保持 | 25分 |
| テナント別設定管理 | 設定駆動アーキテクチャ、設定階層化、Feature Flags、設定変更の安全性 | 30分 |
| テナントカスタマイズパターン | Webhook、Plugin、ルールエンジン、カスタム属性、テナント別デプロイ | 30分 |
| マルチテナントセキュリティ | 認証分離、権限設計、監査・コンプライアンス、レート制限、インシデント対応 | 30分 |
学習パス
初心者向け(推奨順序)
1. マルチテナントとは何か
↓ 概念を理解する
2. データパーティション化とテナント分離
↓ データをどう分けるか
3. テナントオンボーディング設計
↓ テナントをどう運用するか
4. テナント別設定管理
↓ テナントごとのカスタマイズ
5. テナントカスタマイズパターン
↓ 設定駆動の限界を超える拡張手法
6. マルチテナントセキュリティ
セキュリティの全体像
中級者向け( トピック別)
設計に注力:
テナントオンボーディング設計 → テナント別設定管理 → テナントカスタマイズパターン
セキュリティに注力:
データパーティション化とテナント分離 → マルチテナントセキュリティ