本記事は「Why a Robust Organizations Model is Non-Negotiable」を翻訳した記事です。
「What the SaaS?」の初回エピソードでは、Auth0のプロダクト担当シニアディレクターであるSam Rosenを迎え、頻繁に目にする課題である「アイデンティティの壁」について解説しました。B2Cのアイデンティティモデルがエンタープライズ企業の要求を満たせず、多くの有望なB2B SaaS企業が行き詰まる理由について語りました。
初回エピソードでは理由を定義しました。今回は具体的な方法について掘り下げます。
第2回エピソードではさらに深く掘り下げ、スケーラブルでエンタープライズ対応のアイデンティティモデルのアーキテクチャの青写真を提示したいと考えました。案内役として、Auth0のB2B担当プロダクトアーキテクトであるCarlos Mostek以上の適任者はいませんでした。Carlosはソリューションとプロダクトアーキテクチャの両面で長年経験を積んでおり、アイデンティティ戦略と現実が交差する部分について独自の視点を持っています。
対話から得られたアーキテクチャの深い洞察を紹介します。
基盤の最初の亀裂
単一ユーザー向けに構築されたアプリケーションが初めてビジネス顧客にサービスを提供しようとすると、モデル全体が根底から覆ります。Carlosが説明したように、根本的な変化は「ビジネス自体が主要なエンティティとなり、所有権がユーザーレベルから組織レベルに移行する」ことです。
変化により、基盤の最初の亀裂がすぐに露呈します。突然以下の要素が必要になります。
ロール: すべてのユーザーが同じ権限を持つべきではありません。請求管理者がメンバーを招待するべきではなく、IT管理者が財務データを見る必要もありません。
必須条件としてのシングルサインオン(SSO): 何百もの個別アカウントを管理したいと考える企業はありません。Carlosが述べたように、「アプリケーションがSSOをサポートしていない場合、エンタープライズITにとって負債となり、採用したいプロダクトではなくなります。結果として取引を失うことになります。」
委譲された管理の新たな目的: 顧客が独自のアイデンティティプロバイダー(IdP)を接続すると、アプリ内の管理ツールはもはやユーザー管理用ではなくなります。SSO接続の設定、ロールのマッピング、認証ポリシーの定義など、設定が主な目的になります。
データ分離を後付けする苦痛
チームが犯す最も代償の大きい間違いの一つは、データ分離を過小評価することです。データモデル全体がuser_idを中心に構築されている場合、組織レベルの分離を後付けしようとするのは悪夢です。
「最初からインデックスに組織IDを含める必要があります」とCarlosは警告しました。「後から対応するチームは通常、『1ユーザー、1テナント』を前提としている箇所を多数発見し、アクセスパターン全体を再考しなければなりません。」間違えると苦痛で高価な書き換えにつながる可能性のある基本的な決定です。
ファーストクラスエンティティとしての「Organization」
では、アーキテクチャの観点から組織とは何でしょうか。ユーザーオブジェクトの単なるタグ以上の意味を持ちます。
Carlosの定義は素晴らしいものでした。「組織はファーストクラスエンティティです。独自のSSO接続、独自の認証ポリシー、独自の管理階層を持ち、プラットフォーム上の他の誰からも独立してビジネスが制御する独自の設定を持っています。」
組織は、誰がログインできるかから何を見ることができるかまで、すべての決定を形作るコンテキストになります。
リーダーシップのビジネスケース(と賛同を得る方法)
おそらく最も重要な疑問は、リードエンジニアやアーキテクトが大規模な再構築に対してどのように賛同を得るかということです。Carlosの答えは直接的で強力でした。「それは収益に関わる問題です。」
「エンタープライズ契約は規模が大きく安定しており、コンシューマー向けのサブスクリプションよりも解約されにくいです」と彼は述べました。
収益への道は多くの場合、一人の開発者やチームがプロダクトを気に入り、職場に持ち込むことから始まります。マネージャーが「チーム全体で導入できるか」と尋ねたとき、SSO、セキュリティ制御、セルフサービス管理を備えた上で、力強く「はい」と答えなければなりません。準備ができていなければ、機会は失われます。
何度も効果を上げている主張は以下の通りです。エンタープライズの要件に合わせて構築しなければ、エンタープライズの収益を獲得できません。エンジニアリングチームがアイデンティティの基盤構築に費やす毎月は、顧客が実際に料金を支払う機能の構築に費やせない月となります。
本記事は素晴らしい対話の要約にすぎません。Carlosは共有ユーザーモデルと分離ユーザーモデルの複雑さ、拡張性の重要性、顧客のIdPに制御を譲る際のトレードオフについても深く掘り下げました。詳細についてはフルエピソードを聴くことをお勧めします。
お聴きいただきありがとうございます。アーキテクチャの青写真を共有してくれたCarlosにも改めて感謝します。
About the author

Sheena Allan
Product Manager
