グローバルなB2B SaaS企業が、500社のエンタープライズ顧客向けにマルチテナント認証基盤を設計しています。 【ビジネス要件】 - 500社のエンタープライズ顧客(テナント)が同一のSaaSアプリケーションを使用 - 各テナントは自社の既存IdP(Identity Provider:認証基盤)をSAML 2.0またはOIDCで連携してSSOを実現したい - テナントごとに独自のパスワードポリシー・MFA(多要素認証)要件を設定可能にしたい - テナントをまたいだログインは絶対に不可(厳格なテナント分離) - JWTトークンにテナントIDを含め、バックエンドAPIがテナントを識別できるようにする 【技術構成】 - フロントエンド:CloudFront + S3上のSingle Page Application(SPA) - バックエンド:API Gateway + Lambda - データストア:Amazon DynamoDB(テナントIDでパーティション分離) - ユーザー規模:テナントあたり平均2,000名(最大10,000名) 【非機能要件】 - マネージドサービス優先(カスタム認証サーバーの運用不可) - SOC 2 Type II認定が必要 - 実装コスト最小化 この要件を最も効果的に満たすアーキテクチャはどれですか?
テナントごとに個別のCognitoユーザープールを作成することで最も厳格なテナント分離を実現できます。各テナントが独立した外部IdP設定・パスワードポリシー・MFA要件を持てます。LambdaトリガーのPre Token GenerationでJWTにカスタムクレームとしてtenant_idを追加でき、テナントあたり最大10,000名もCognitoの上限内に収まります。マネージドサービスのみでSOC 2準拠の証明も容易です。 選択肢Bの単一ユーザープール共有では各テナント独立のポリシー設定が困難で、誤設定によるクロステナントアクセスリスクがあります。 選択肢CのIAM Identity CenterはAWSアカウント/リソースアクセス管理向けで、B2B SaaSの外部エンドユーザー認証には設計されていません。 選択肢DのサードパーティIdP依存でSOC 2の証明責任範囲が複雑になります。